FFmpeg: Highest quality 50i to 50p conversion, comparable to Adobe Premiere


I have 50i footage (more specifically tagged as 25 fps but does contain movement on the secondary fields). I am able to get pretty good quality conversion to 50p from Adobe Premiere by simply exporting as Frame Rate 50, Progressive. I am also able to get pretty good quality same conversion with FFmpeg using parameters such as:

ffmpeg.exe -y -i INPUT.MOV -b:v 12000k -vcodec libx264 \
   -filter:v yadif=1,format=yuv420p -acodec copy OUTPUT.MP4

(or with -qp 0)

The problem is, there are considerably worse compression artifacts on the FFmpeg result on objects that are moving. Even on a very high bitrate (much higher than Premiere). Why is that? It doesn't help basically at all if I add -preset veryslow.

Are there some other parameters to try to get rid of those movement compression artifacts? Premiere produces nice, clean results while FFmpeg produces slightly JPEG looking mess (with some combing mess too).

Best Answer

Your guess is correct, that the video quality has nothing to do with the video encoding, but the deinterlace filter. You are using yadif, but if you are unsatisfied with its quality have a look at the other deinterlacing filters kerndeint, mcdeint and w3fdif. You can find usage details and options in the ffmpeg documentation.