[FFmpeg-user] Notes on telecine to interlaced video

Carl Zwanzig cpz at tuunq.com
Tue Jan 2 19:40:10 EET 2018

To help someone else trying to find all of this, I present it here--

Converting a 24p* video to 60i and applying telecine for NTSC, this is 
useful for translating content encoded as "29.97fps with 3:2 pulldown", 
common for region 1 DVDs) to a 30fps video system.

* 24000/1001 fps progressive to 30000/1001 fps interlaced

These files may be identified by mplayer as
"demux_mpg: 24000/1001fps progressive NTSC content detected, switching 
Gspot (windows) will show them as 23.97 Pics/s, 29.97 Frames/s, and a "3:2" 

(_always_ keep the unprocessed original...)

-i INPUT.vob (input file)
-vf fps=24000/1001,telecine (video filters- convert the video stream to 
24fps by duping/dropping frames as necessary, apply a 3:2 pulldown)
-dc 9 ("Intra_dc_precision")
-async 1 (adjust audio stream to match timestamps once, do not adjust further)
-target ntsc-dvd (sets bit/frame rates, codecs, buffer sizes, pixfmt, etc*)
-flags +ilme+ildct (force interlacing support in encoder, use interlaced DCT)
-alternate_scan 1 (specify mpeg alternate scan method for interlaced video)
-top 0 (specify bottom-field-first "BFF")
OUTPUT.mpg (output file)

*there are targets for pal/ntsc dvd/vcd/dv/etc; unfortunately they're 
currently only documented in the source code- ffmpeg_opt.c)

If the input changes back and forth between 24 and 30fps, there will be 
problems, however a few frames of 30fps at the start of a movie won't cause 
any issues (ref- how the 'fps' filter behaves.)

Optionally add -hide_banner to suppress showing the compile options and 
-nostats to suppress continually displaying the encoding progress (very 
handy if redirecting console output to a file)

I think that covers it.



More information about the ffmpeg-user mailing list