[FFmpeg-user] telecine pattern 5555 - Judder-free, 60 FPS telecine (?)

Carl Eugen Hoyos ceffmpeg at gmail.com
Sun Mar 29 14:53:01 EEST 2020


Am So., 29. März 2020 um 12:59 Uhr schrieb Mark Filipak
<markfilipak.windows+ffmpeg at gmail.com>:

>  >ffmpeg -i H:\VIDEO_TS\VTS_01_1.VOB -vf "telecine=pattern=5555" -deinterlace -y TEST.MKV

Warning 1
The deinterlace option is deprecated, use a filter of your choice instead,
not sure why no warning is shown.

Warning 2
Above may work in some cases, but in general FFmpeg cannot deal with
vob files coming from a real dvd, you can use "mplayer -dumpstream"
to produce an mpeg stream that FFmpeg should always be able to
process.

More important though:
The yadif filter (which the deinterlace option adds to the filterchain) does
not detect if a frame contans interlaced content or not (remember that
FFmpeg cannot process fields, only frames) but always applies its
algorith, therefore permanently damaging frames with progressive
content. It should never be applied on telecined input that in theory can
be 100% "fixed" which is impossible after a deinterlaced was used.

If you have progressive content and want to increase the frame rate,
do not use a telecine filter.

If you have telecined content and want to display it without interlacing
artefacts, use an inverse telecine filter, not a deinterlacer.

If you have mixed telecined and progressive vfr content and want to
display it without interlaced artefacts, either use the pullup filter or a
combination of the fps filter (to produce cfr input) and the fieldmatch
filter.

If your mixed progressive and telecined content is cfr, then I cannot
imagine how fieldmatch and decimate can work, pullup should work
in these cases.

If you have mixed telecined and interlaced content that you want to
display without interlacing artefacts, and if you absolutely want to
do this automatically (without specifiying the time limits "manually")
you need a combination of fieldmatch and "yadif=deint=interlaced"
(which will only deinterlace frames that fieldmatch detected as
interlaced). This is explicitely mentioned as an example in the
documentation.
(I wonder how this can work if the input is cfr.)

In some of above cases, if the input file has uneven timestamps,
the dejudder filter (that does neither drop nor add frames, only
flattens time stamp differences between frames) may help as
first filter.

In the rare case where you produced your telecined content
yourself (and did not cut it), you can use the detelecine filter:
It does not do any detection but strictly applies a pattern, it
can therefore not be used on real-world streams (unless you
do some visual check before) because they are normally cut
at random pattern positions.

I live in PAL world, therefore above has little relevance for me
personally. That is the reason why I cannot tell you if "5555"
makes any sense.

Carl Eugen


More information about the ffmpeg-user mailing list