Page MenuHome

[2.6.3] Track-markers are off by one frame after saving and loading a project.
Closed, InvalidPublic

Description

Blender Version: 2.6.3-x64 from blender.org
OS: Kubuntu 12.04 x64

After quitting blender and reloading a motion-tracking project, all track markers are off by one frame.

Steps to reproduce:

1) Download footage (85MB): http://mail.tagungenplus.de/footage_blender.mov
2) Create a new project
3) Load footage and track a marker up to the end.
4) Save project and quit Blender.
5) Open Blender and load project.
6) Check markers.

=> All makers are off by one frame (the video is one frame ahead).

This does not always happen, but most of the time. The same footage can be tracked and saved without problems when using Blender 2.6.2. If you load a project saved with Blender 2.6.3 into Blender 2.6.2, the markers are also off by one frame.

Details

Type
Bug

Event Timeline

WIth not pre-processed videos came from camera you'll need to use time codes which prevents such situations. Brief information about this might be found http://wiki.blender.org/index.php/User:Nazg-gul/ProxyAndTimecode and http://wiki.blender.org/index.php/Doc:2.6/Manual/Motion_Tracking#Proxy_.2F_Timecode_Panel
Withut timecode it's imposible to do an accurate seek in video files.
Thanks for the report, but it's not a bug, but limitation of video files editing in blender.

This footage is not directly from cam. It was remultiplexed using ffmpeg, so it should have the correct header and keyframes, shouldn't it? Can you please give an example how to preprocess footage with mencoder? I'm not sure what exactly I have to do to get it into blender.

Well, actually i'm not sure about correct command line to pre-process video in a way it'll be handled properly with blender without timecode. Even if all index frames are set correct, there's also possibility that video stream would be using variable bitrate which will also confuse seek. And actually proper solution would be to build indices automatically on load. It's not so difficult but i'll need to test if it'll slow down file loading more that it might be expected.
Currently to be 100% sure about frame shifting just use Record Run time code.

Thanks for your help, I enabled the proxy with a "Record Run" timecode and it seems to work. Still I'm a bit worried that the final video will be out of sync when the audio is remultiplexed with the blender output video.

At the weekend I will try some mencoder/ffmpeg settings to see if I can find the correct parameters, which lets you generate all required headers and keyframes without having to reencode the video. If I find a solution I'll post it here.