Convert 24p to 60i with FFmpeg 3:2 Pulldown

This article demonstrates how to convert a 24p (23.976 fps) progressive video into a broadcast-standard 60i (59.94 fps interlaced) stream using FFmpeg. You will learn the exact FFmpeg commands and video filters required to apply a 3:2 pulldown, set the correct interlacing flags, and ensure the output is compatible with television broadcast standards.

To apply a 3:2 pulldown and output a 60i stream, FFmpeg utilizes the telecine filter. This filter takes the progressive frames and distributes them across interlaced fields in a repeating 3:2 pattern, raising the frame rate from 23.976 fps to 29.97 fps (which represents 59.94 interlaced fields per second, or 60i).

The FFmpeg Command

Use the following command to perform the conversion using the H.264 codec:

ffmpeg -i input_24p.mp4 -vf "telecine=pattern=23,fieldorder=tff" -c:v libx264 -flags +ilme+ildct -pix_fmt yuv420p output_60i.mp4

Breakdown of the Parameters

Alternative for ProRes (Broadcast Mastering)

If you are mastering for broadcast delivery and require Apple ProRes instead of H.264, use this command:

ffmpeg -i input_24p.mp4 -vf "telecine=pattern=23,fieldorder=tff" -c:v prores_ks -profile:v 3 -vendor ap10 -pix_fmt yuv422p10le output_60i.mov

In this ProRes variation, the telecine filter functions the same way, but the prores_ks encoder natively handles the interlacing flags based on the filter chain, resulting in a high-quality 10-bit ProRes 422 HQ file ready for broadcast.