Page MenuHome

Movie clip editor sometimes off-by-one frame
Closed, InvalidPublic

Description

System Information
Operating system: Debian 10 (Buster)
Graphics card: intel integrated

Blender Version
Broken: 2.79.b+dfsg0-6+b1 (debian/buster package version)

Short description of error
Often while creating motion tracking points, random movie clip frames will become duplicated or skipped and random runs of frames in the video will become off-by-one (i.e. the currently displayed frame is actually the previous/future video frame). This phenomenon occurs randomly, but tends to occur around the beginning/end of individual runs of tracks.

This is made worse by the fact that the automatic tracker will track against the erroneous duplicate frames, causing the tracks themselves to contain consecutive vertices that are in the exact same location, and long runs of tracking points that are off-by-one frame. In my experience, this has made it exceedingly difficult to attain an acceptable solve error.

When I enable proxy clips, it tends to eliminate the frame display errors, but the automatic tracker seems to use the original erroneous frames rather than the displayed proxy frames. Interestingly, I can detect when the original clip is off-by-one frame by toggling the "Proxy/Timecode" checkbox.

It's unfortunately difficult to describe this bug, but here are other reports that I have found elsewhere on the internet:

Exact steps for others to reproduce the error

  1. Open a new blender project.
  2. Go to the Motion Tracking layout.
  3. Open any video.
  4. Add some tracks, use automatic tracking (i.e. Track Forwards/Backwards).
  5. Observe duplicate consecutive vertices in any track.

Details

Type
Bug

Event Timeline

Some additional information:

Whenever the current display shows the wrong frame, "Reload" or "Reload Clip" will correct the frame. Inevitably the frame will become incorrect (off-by-one) again. Can this bug reside in the prefetch mechanism?

Brecht Van Lommel (brecht) triaged this task as Needs Information from User priority.
Sebastian Koenig (sebastian_k) closed this task as Invalid.

Whenever you track with a movie file rather than an image sequence you have to build either a proxy or just the timecode.
Otherwise it can get out of sync with lots of back and forth tracking etc.
I know it sucks, and I'd rather have that happen automatically in the background or so, but it is not a bug, as far as I know.

So, just to be clear, I should be able to just build a timecode (the documentation says to try "Record Run" first), and that should fix the problem without needing to pre-process the input movie clip?

Not sure if it would fix the problem, it will help that the problem doesnt even occur. If you tracked with the movie out of sync those tracks will probably still be problematic. But yes, building the timecode first and then doing the tracking should avoid that particular issue.