De-Interlacing a Video

Remove Tearing From Interlaced Video

I will admit it, I like a number of 1930s and 1940s movies. Fortunately for me, there are lots available from websites like Archive.org. Unfortunately, a fairly large number of them are transfers from VHS.

VHS used a low resolution version of the old NTSC standard with 30 frames per second. Except each frame was actually two half frames with the 60 half frames per second. And the two half frames were interleaved or interlaced on a line by line basis.

The result is that “tearing” is visible in the video where there is motion. For example, here is a video showing tearing where a person is walking and the camera is panning:

Still frame from movie showing tearing on left actor and background.

FFMPEG Can Fix This

My earlier attempt at upscaling videos using AI techniques were disappointing. It is difficult to create or re-create things that are lost. But in the case of a video that has 60 half frames per second you can create a 30 frame per second video by knowing the distortions that motion causes in the interlaced/interleaved half frames.

A simple one line ffmpeg command will do the trick:

ffmpeg -i interlaced_video.mp4 -vf bwdif -c:v libx264 -c:a aac -b:a 256k result_video.mp4

And the result is:

Improved video frame. Still low resolution but the tearing is removed.