Video with Linux

PF24 Pulldown Removal

Many consumer class high definition camcorders from Canon, Panasonic and JVC offer a 1080p24 shooting mode. Advantages to this mode are that it Disadvantages are that it My interest in 1800p24 is better low light performance. This is useful for making videos in situations where extra lights aren't allowed and there isn't very much motion.

For compatibility with other camcorders, 1080p24 video is disguised as 1080i60 video when it is recorded. This process is known as telecine or pulldown. In order for the disguise to be complete, not even a simple flag is set in the video to indicate it came from a 1080p24 source. Some people are unhappy, because this engineering decision makes it difficult to keep track of which video was shot in which mode.

When editing 1080p24 and 1080i60 source on the same timeline in a video project, it is a convenience that the 1080p24 video is already telecined. Simply procede as if everything really is 1080i60. You can benefit from the low light performance of 1080p24 without the trouble of different frame rates.

To enjoy the other benefits of 1080p24 shooting mode one must remove the pulldown that makes 1080p24 video appear as 1080i60 video. This is known as pulldown removal, pullup or inverse telecine. This document explains how to do pulldown removal on 1080p24 source recorded by HDV and AVCHD camcorders using free software on Linux.

Other ways to remove pulldown are described in

There is a difference between deinterlacing and pulldown removal. To remove interlacing from video that was not made with 1080p24 shooting mode, follow the method described in When and How to Deinterlace Video.

Required Software

The following open source software is used

Pulldown Removal

You may use the script 60ito24p to remove pulldown. For example, given an AVCHD file called src001.mts that contains telecined 1080p24 source, the command
$ 60ito24p src001.mts
will create a file called src001-24.mpg which contains the original 24 frames per second progressive video. The commands
$ ffmpeg -i src001.mts -ab 384000 -f mp2 -y src001.m2a
$ ffmpeg -i src001.mts -r 30000/1001 -f yuv4mpegpipe \
        -pix_fmt yuv420p -y /dev/stdout |
    yuvkineco -F 1 |
    mpeg2enc --no-constraints -f3 -nn -a3 -Ktmpgenc -lh \
        -b24000 -V488 -r32 -G18 -D10 -q3 -s -o src001.m2v
$ mplex -f3 src001.m2a src001.m2v -r28000 -b800 -o src001-24.mpg
do the same thing as the script.

Authoring a 24fps DVD

Soft telecined video is encoded at 24 fps and includes a flag telling the decoder to telecine the video upon decoding. Hard telecined video is first telecined and then encoded at 30 fps. To produce a DVD from source recorded using the 24p mode of a high definition camcorder remove the pulldown using the method given above. Edit the high definition video in Cinelerra. Then render through a yuv4mpeg pipeline that rescales the video to 720x480 with y4mscaler and then encodes with mpeg2enc using the -p pulldown flag.

Conclusions

Pulldown removal from 1080p24 shooting mode recorded by Canon HV20, HV30, HG10 and other camcorders is now possible using open source tools on Linux. The method outlined here should work with HDV and AVCHD source recorded by the 1080p24 shooting mode of Panasonic, JVC and Sony camcorders as well.

The telecine cadence may change in HDV source because multiple video clips created by separate record actions are often placed into a single file when a tape is captured. For best results cut the HDV source into one file per clip before pulldown removal.

The telecine cadence will not change in AVCHD source because each clip is already stored as a separate file. As an added benefit, the pulldown method described here results in an mpeg2 file that can be easily edited. For information on editing AVCHD source see Editing AVCHD in Cinelerra.


Page written and maintained by Eric Olson
Last Updated: Sat Aug 22 00:27:46 PDT 2009