So I've been searching for a solution for a current problem in our pipeline: I would like to embed source timecode in a quicktime movie, that is generated from image sequence, with either ffmpeg or ffmbc or similar. The timecode should be of course the sequence frame number. The problem is the sequences are not starting from frame 1, as we (at comp) and also the editorial uses the 3d dept. frame numbers (we are mostly doing full cg animation) As far as I did research ffmpeg can't write timecode got from the filesequence, on the other side ffmbc is capable of doing this, but can't start sequences from other than 1-4 frames (which I absolutely can't understand why it can't use ffmpeg -start_frame flag).
I would be glad if it could be solved with an open source software, but currently it looks that I have to use nuke for this also. Tried RV, but didn't work. Found out, that nuke has an addTimeCode node, that writes timecode information into metadata and fortunately writenode is able to embed it in the generated quicktime.
So what are the knobs in AddTimeCode node:
Start code: is a global starting position for cases where needs to be for example 01:00:00:00
Fps and get fps from metadata: if there is no fps metadata in upstream, uncheck the get fps from metadata checkbox, and set it manually, otherwise the output will be 24 frame per second.
Start frame: acts as a timecode offset.
For creating quicktime with proper timecode from image sequences (that are not starting from frame 1, I had to set the following settings:
start code: 00:00:00:01
fps: 30, get fps from metadata: unchecked
start frame: 1, use start frame: checked
This way for example if the source filesequence starts at frame 36, the timecode of the first frame will be 00:00:01:06
Very important that in write node there is a write time code checkbox, that must be checked. So this way when opening the mov in quicktime player, click at timecode numbers, and from the pop-up list choose Timecode:Non-Drop-Frame