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 FFmpegdoes not support the drawtext filter’s timecode feature.

There are Two Possible Workarounds

  1. You can use subtitles to simulate a timecode. You can find lots of examples on Google.
  2. 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


 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>