- From: Jack Jansen <Jack.Jansen@cwi.nl>
- Date: Thu, 5 Feb 2009 15:02:08 +0100
- To: Media Fragment <public-media-fragment@w3.org>
This is a good discussion, let's hope we can come up with the best possible rendition of timecodes. Here are the timecode formats I have encountered in the wild: 1. hh:mm:ss[:ff[.FF]]. Used by RTSP, SMIL (which picked it up from RTSP, I think). Colon-separated except for the field indicator, which is dot-separated. Frame and field are optional, hours, minutes and seconds are required. RTSP allows single-digit or two-digit numbers for each of the 5 fields. SMIL requires 2-digit numbers for everything, except the hours, which can be any number of digits. There is a good reason for using colon as the separator for frames: both specs also allow NPT to be specified in hh-mm-ss form, but with fractional seconds. So, npt=01:02:03.5 is the same as smpte-30=01:02:03:15. Because the "npt=" bit is optional in both languages there's room for confusion if you don't have the dot/colon distinction. 2. hh:mm:ss.xx. Used by many captioning formats, including quicktime text. Unfortunately these formats are usually not rigidly standardised. This is even true for Quicktime Text: Apple's documentation only consists of examples, where the timecodes used always are of the form 01:02:03.000. The three digits after the dot seem to indicate milliseconds, but there is other (non-apple) documentation floating around on the net that uses examples like 01:02:03.15 saying that the 15 is a frame number. Whether the hh/mm/ss numbers must be two-digit or not doesn't seem to be specified anywhere. Sometimes, comma is also used as a separator, but with unexpected meaning: SRT is a fairly popular format that uses hh:mm:ss,fraction. Yes: comma-fraction. Wikipedia says this is because the format was initially invented in France. Sigh. I have not been able to dig up a definitive reference from SMPTE on "how to write down time codes". They've standardised timecode in bit- formats and even in voltage levels and transitions, but not in ASCII. Various vendors have used various methods to express the (standardised) bit-format in ASCII, but all these seem to differ. I'm also really out of my water here, so I have no idea whether the Avid CMX format Conrad mentions is the de-facto standard, or whether it's just one of the many competing ways of specifying timecodes. With this mess, it seemed that option (1) was the most rigidly specified format, hence I picked that. But: I happen to live in a SMIL- centric part of the universe, so if there's another format that is much more commonly used we should pick that other format, possibly making sure we rigidly specify it if no-one else has done so before. -- Jack Jansen, <Jack.Jansen@cwi.nl>, http://www.cwi.nl/~jack If I can't dance I don't want to be part of your revolution -- Emma Goldman
Received on Thursday, 5 February 2009 14:02:49 UTC