Convert 60p video to 60i (60 frame per second progressive video to 60 field per second interlaced)

This is useful if you have 60 fps progressive video, and want to make it compatible with a DVD or other interlaced formats. Normally, 60p to 60i would go 60p to 30p to 60i to remove the interlacing artifacts, but depending on your TV, it might be better to create 60 fields, where each field is different. This will appear smoother at the expense of the comb lines.

Note that I also have a downscale filter to 720×480 using Lanczos which is a slower but higher quality scaler. 720×480 is the highest resolution supported on many DVD players. I also do vtag xvid, since it is often needed to play AVI files on data discs. You can save the output as .AVI and most players with DivX support will read it.

ffmpeg -i "$1" -c:v mpeg4 -q:v 3 -c:a ac3 -b:a 192k -vtag xvid -vf "[0:v]scale=720x480:flags=lanczos[scale]; [scale]tinterlace=4" -y "$2"

UPDATE: Notice that when you use the above, it results in top coded first (swapped). This means that top is coded first, but bottom is displayed first. This can result in issues with some DVD players.

The solution is to add -top 0, which will convert that format to bottom first. That is preferable for most players. TFF (top field first) vs BFF (bottom field first) doesn't matter typically, as DVDs support both.

ffmpeg -i "$1" -c:v mpeg4 -q:v 3 -c:a ac3 -b:a 192k -vtag xvid -vf "[0:v]scale=720x480:flags=lanczos[scale]; [scale]tinterlace=4" -top 0 -y "$2"
  • scripts/ffmpeg/convert_60_progressive_to_60_interlaced.txt
  • Last modified: 2022-11-15 05:14
  • by technotony