The answer to seamless looping is that the very last frame of the video be identical to the very first frame of the video... and then remove that 1 frame from the end (to avoid seeing effectively the same frame twice when it loops).
If you can't find identical (or near identical) frames - then it's never going to look convincing.
Some video authors will create video intended to loop. Some won't. If you want to make the "some won't" video loop, you'll need to try to find two points within the video that are "close enough" to look okay (better still, if the two frames are identical).
If you're doing that for videos you yourself didn't create... then I wish you luck. I can imagine it being very time consuming and requiring a lot of patience and attention to detail. I personally don't know of any tools that would do it for you... though perhaps google
You must be registered to see the links
.
You mentioned VLC. It definitely has a "step frame by frame" button. Though you would need to add it your VLC UI using "Tools -> Customize Interface". The button is called "Frame by Frame". That would help you see each individual frame and so if you had two copies of the same video open, one paused and one not - you could try to eyeball it as best you can.
From that you might be able to figure out the frame number of the appropriate bit of the video where it repeats (In theory multiply the time of the video in seconds by the FPS [Frames per second] number to find the rough frame number). VLC doesn't seem to show the frame number, but a quick search on google did suggest a couple of workarounds.
After that, it's a case of editing the video file to be exactly the right length so when it loops around, that "first/last" frame thing is correct (or close enough). That could be Adobe Premier I guess or some other Adobe product. Any feature rich video editing software should be capable of it though.
Personally, I would use a non-visual editing tool called "
You must be registered to see the links
", which is primarily aimed at recoding video files from one format to another - but also includes a "Range" feature which lets you select a specific part of the video rather than the whole thing. I would probably try setting the Range from "Frame 0" to "Frame <whatever>". There is a "Range Time to Time" option too - but I have my doubts whether that would be accurate enough for a looping video. But that's just because I like Handbrake - I'm sure other tools exist.
But mainly, it's about finding those "first" and "last" matching video frames.
Note that VLC also has a "Loop from A -> B" button too. Where you set a position "A" and then a position "B" and VLC loops the video between those two bookmarks until you switch it off. Doesn't sound what you are looking for, but maybe work as a rough starting point.