Feb 272013
Most pre-released movies contain the so-called timecode. This timecode accurately defines the current playback position. It is expressed in the format hour:minute:second:frame – for example 10:04:43:03.
Sadly ffmbc, the broadcast version of FFmpeg, does not support the drawtext filter’s timecode feature.
There are Two Possible Workarounds
- You can use subtitles to simulate a timecode. You can find lots of examples on Google.
- Alternatively you can combine ffmbc and FFmpeg. This can either be done using pipes (stdout and stdin), a named pipe (mkfifo) or an ordinary temporary file. The big disadvantage is, that you have to render twice.
I personally prefere to combine ffmbc and FFmpeg using the temporary file approach. It allows you to use any exchange format (in contrast to the pipe option). Furthermore it’s super easy to implement and monitor.
Broadcast => Regular Video File
- Use ffmbc to convert the input broadcast format to something FFmpeg understands in a temporary location
- Burn in timecode using FFmpeg and convert to output format
- Clean up temporary file
Regular =>Broadcast Video File
- Create a temporary file while adding the timecode to the input file using FFmpeg
- Export a broadcast version using ffmbc
- Clean up temporary file