M: Ffmpeg: how do I deinterlace a VOB file when I’m converting it to MP4
G: TL;DR: Use
yadif (Yet Another DeInterlacing Filter) with FFmpeg like
this:
ffmpeg -i input.vob -vf yadif -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 192k output.mp4-vf yadif — applies FFmpeg’s built-in deinterlacing
filter.-c:v libx264 — encodes video using H.264.-crf 23 — sets quality (lower = better, 18–28 is
typical).-preset medium — balance between encoding speed and
compression.-c:a aac — audio codec.-b:a 192k — sets audio bitrate.Optional improvements:
-vf yadif=1
(single-rate mode = 1 frame out per input frame), or for
double-rate (up to 60 fps from 30i), use
yadif=1:1.-movflags +faststart if the MP4 will
be streamed.Let me know if you want to automate this for a folder of VOBs or tweak for archival quality.
M: If I already have a -vf flag, should I include it in serial, or concatenated it somehow
G: If you already have a
-vf flag, you concatenate filters into a single
-vf chain, separated by commas. Do
not use multiple -vf flags—only one will
be used, and the others ignored.
If you're already using -vf scale=1280:720 and want to
add deinterlacing:
-vf "yadif,scale=1280:720"This means: first deinterlace with yadif, then
scale.
subtitles=...) or overlays,
they should usually come after deinterlacing and
scaling.Let me know what your full -vf is and I can help you
chain it properly.