Page MenuHome

Motion Tracking - Reopening file leads to jitter of tracked markes.
Closed, InvalidPublic

Description

System Information
Windows 7

Blender Version
Broken: blender 2.74 (offical)
Worked: (optional)

Short description of error
Reopening file leads to jitter of tracker markes.

Exact steps for others to reproduce the error
Based on a (as simple as possible) attached .blend file with minimum amount of steps

I was working the chapter 2 tutorial from the Track, Match, Blend DVD in Blender 2.74.
After reopening and rendering the file the tracked markers "jittered" around despite the fact,
that they were tracked correctly the first time around. First I thought I was doing someting wrong.
Checked everything, tried diffrent tracking options, but still the same issues after reopening the
files.

So I finally tried a file from the dvd and rendert a sequence from frame 80 to 150 -> jitter.

  1. open the blendfiles\02_camera_tracking\05_compositing\composite.blend (Track, Match, Blend DVD)
  2. select frame 80 to 150
  3. render
  4. check the output

Also attached are two frames the fist frame shows how far appart the tracked points are.

Event Timeline

Michael P. (forest-house) raised the priority of this task from to 90.
Michael P. (forest-house) updated the task description. (Show Details)
Michael P. (forest-house) edited a custom field.
Sergey Sharybin (sergey) lowered the priority of this task from 90 to 30.May 12 2015, 1:48 PM

This is pretty much likely due to the fact that ffmpeg fails to seek in the stream reliably, which we can not really control.. There only two things to try:

  • Prefetch full movie prior to render
  • Generate timecode for the movie (in the Proxy/Timecode settings)

Does any of those option help?

@Sergey Sharybin (sergey). Tested with the hints you provided.

  • Prefetch doesn't help in this situation. It not only jitters in the working space, but also in the rendered frames with prefetch done.
  • Generated the proxy files for both distorted and undistorted with every of the four Timecode stettings, and the result was the same.
  • Also to be sure set a custom proxy folder, but still jitter.
  • Tried to track marker after the proxy build, then saved and reopend the file. This seems to work for now. I need to test this further.

This would mean, that the movie clip has to be converted to an image sequence, or a different video format? But it is, what the proxy basically does, right?

Rule of thumb: First build a proxy, than track?

But what about older scenes that have to be retracked, because they don't work any more in new versions of Blender?

Don't know if this a bug, but when the Display Stabilization check box is set (Display panel), I can't mute the footage.

Proxy is only reducing memory used by the display, tracker uses original footage and proxies does not really affect on the seek code. but using timecodes (even keeping proxies disabled) is indeed recommended thing when working with movies.

If old files used to work and now they don't even with timecode enabled -- that totally worth checking. But for that it also needed to check files with the same version of blender which was used to store the files. So the question here: do you have tracked files which were done with proper timecode thing and which are now off?

Display Stabilization seems to be a bug, so please report it in a separate task.

If I understand this correctly, selecting time code index works independent of the generating proxies, right?

I deactivated the proxies in my test file and then the time code index and I got a jitter in the tracked marker, I wrote above it seems to work. Activated the time code again (first option of five) and the marker was stable again. Tested this with a second marker and it worked.

So I assume that the updated rule of thumb should be: First activate the time code index, then track. After changing the time code I have to reload the footage file (or save, close, open the file).

I will test this further, because the two added tracker markers have a high average error (above 2.0) and the corresponding empty in the 3d view jitters...

Older files. I have tested this with the file from blendfiles\02_camera_tracking\05_compositing\composite.blend (Track, Match, Blend DVD), and it doesn't matter if the time code is active in this case, because the tracked marker jitter. So as I assumed this works only if the time code was set before the tracking begun.

In order to make time code used you need to do:

  • Enable Proxy / Timecode in the N-panel
  • Built Proxy (the button should actually tell "Build Proxy / Timecode")
  • Select desired timecode in Use timecode index (usually "Record Run" or "Free Run no Gaps")
  • It is NOT required to generate any of the proxy sizes or to use the proxy resolution. Timecode is separate and only shares the Build button with proxies

And it indeed seems changing timecode does not really invalidates the cache, this will be fixed soon.

As for older files and timecode -- yes, this is correct that timecode is actually needed to be used during tracking. Otherwise it's not really guaranteed timing wouldn't go off :(

Knowing which Blender version was used to create a file is very useful. Unfortunatly I have never seen this information in blender, i.e. when opening, linking or appending a .blend file. But this would be certainly a feature request, and I would never mention such thing in the bug tracker... :-)

Not really intuitive, but it is possible -- run blender from the ocmmand line and pass --debug argument. Blender will be printing versions of the file to the console then.

I have checked this file blendfiles\02_camera_tracking\05_compositing\composite.blend with blender 2.62 (official), 64bit Windows.
I get jitter.

I have checked other files from the dvd with Blender 2.72 and 2.62 (both official, 64bit Windows):

  • blendfiles\02_camera_tracking\07_featuredetection\sofia_10.blend
  • blendfiles\04_object_tracking\01_headtracking\head_track.blend
  • blendfiles\03_advanced_techniques\04_cleanplate\clean_bunny.blend

NO jitter.

Thanks a lot @Sergey Sharybin (sergey).

Bastien Montagne (mont29) changed the task status from Unknown Status to Invalid.May 19 2015, 4:12 PM

Time to close then! :)

@Bastien Montagne (mont29). I think that there were two open issues:

Quote: "And it indeed seems changing timecode does not really invalidates the cache, this will be fixed soon."

Quote: "Built Proxy (the button should actually tell "Build Proxy / Timecode")"

So please ask @Sergey Sharybin (sergey) if this can be closed for sure.

Yes, it's still on TODO list actually. Will try to address it prior to testbuild1.

EDIT: Those changes are now committed to Git.