Adding Timecodes
In the
professional
realm, videotapes often have a
timecode
track in addition to their audio and video tracks. This track
enumerates every video frame, and is used typically for various
purposes: editing, logging what’s on a tape, etc.
Professional tape decks usually have an LED or LCD display of the
timecode, and optionally can display timecodes on-screen.
You might think the text track provides a convenient way to embed
timecodes—they’re string values—you can
have one for every frame of video (or many, if you set your time
scale really high), you can read them from the
TextMedia
object, you can turn their display on
and off by enabling and disabling the track, etc.
And this would be fine. But fortunately, QuickTime has a real timecode track that goes much further. Adding timecodes to a movie, in a format and resolution suitable for professional work, is a snap.
How do I do that?
No surprise, once again the key is to create a new track with a
specific kind of media and to add samples to it. This time, the
desired media class is
TimeCodeMedia
.
What’s really interesting is that you don’t actually write a sample for every video frame. You need to write only a single sample to define the timecode format and a start time, at the beginning of the period for which you want to provide timecodes. Because QuickTime already is measuring time in your track, at an arbitrary precision (i.e., the time scale you set for it), it can figure out the timecode for any time later in ...
Get QuickTime for Java: A Developer's Notebook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.