Time units in ffmpeg

# Time unit syntax Time units in ffmpeg are tricky. It is important to use microseconds and not frames, in the fourth item of HH:MM:SS:FF where "FF" refers to frames of video. Ffmpeg uses microseconds for the fourth parameter, and to convert between frames and microseconds yo need to know the framerate of the video.

When working with ffmpeg, you can use two different time unit formats: - sexagesimal HH:MM:SS.xxx format - seconds (s.msec).

01:23:45.678 (HOURS:MM:SS.MICROSECONDS) 1 hour 23 minutes 45 seconds 678 microseconds (hundredths of a second)

So if a fraction is used, such as 02:30.05, this is interpreted as "5 100ths of a second", not as frame 5.

For instance, 02:30.5 would be 2 minutes, 30 seconds, and a half a second, which would be the same as using 150.5 in seconds.

This means that you must not use the HMSF format that is used for instances in EDLs.

Therefore a time code from an EDL like this:

01:39:15:30

Needs to be translated to:

01:39:15.5

# Conversion from SMPTE

While non-drop timecode is displayed with colons separating the digit pairs—"HH:MM:SS:FF"—drop frame is usually represented with a semi-colon (;) or period (.) as the divider between all the digit pairs—"HH;MM;SS;FF", "HH.MM.SS.FF"—or just between the seconds and frames—"HH:MM:SS;FF" or "HH:MM:SS.FF".

The period is usually used on VTRs and other devices that don't have the ability to display a semi-colon - edlmax.com

Drop frame timecode is typically abbreviated as DF and non-drop as NDF.

# Video Timecode

Below are a collection of links imported from OneTab. You can view these links here - one-tab.com :