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

Mark Filipak markfilipak.windows+ffmpeg at gmail.com
Sun Mar 29 15:51:11 EEST 2020


Hi Carl Eugen,

Given a 24/1.001 FPS source, how can I get -vf "telecine=pattern=5555,bwdif=mode=send_frame" to 
produce 60/1.001 FPS instead of 75/1.001 FPS? That is the issue.

On 03/29/2020 07:53 AM, Carl Eugen Hoyos wrote:
> 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, ...

Well, that's the hazard of having to find examples from the Internet when ffmpeg docs don't have 
them. I don't like spending all night hunting for solutions, but what choice do I have?
> 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.

...Because of PGCs (program chains), right? I know how to handle them.

> More important though:
> The yadif filter (which the deinterlace option adds ...

Above, you wrote that the deinterlace option is deprecated. I won't be using it. bwdif seems to work.

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

It appears you haven't been reading this thread. I'm telecining to 60 FPS using 5-5-5-5 pulldown in 
order to defeat judder. It's working. Simply converting 24 FPS to 60 FPS doesn't defeat judder.

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

The source is p24.

> If your mixed progressive and telecined content is cfr, then I cannot
> imagine how fieldmatch and decimate can work ...

It's my understanding that fieldmatch is for detelecining prior to decimation. Kindly correct me if 
that's wrong. I am not detelecining.

> 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.

I'll keep that in mind, but I think the problem is that telecine=pattern=5555 is producing 75/1.001 
FPS instead of 60/1.001 FPS. Why it is doing that is my issue.

> In the rare case where you produced your telecined content
> yourself (and did not cut it), you can use the detelecine filter: ...

The source is not telecined. The source is p24. I'm doing the telecining.

H:\VIDEO_TS>ffmpeg -i b:\VIDEO_TS\VTS_04_1.VOB -vf "telecine=pattern=5555,bwdif=mode=send_frame" -y 
C:\ToDo\test.mkv
ffmpeg version N-94664-g0821bc4eee Copyright (c) 2000-2019 the FFmpeg developers
   built with gcc 9.1.1 (GCC) 20190807
   configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls 
--enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype 
--enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg 
--enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora 
--enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 
--enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp 
--enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex 
--enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid 
--enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
   libavutil      56. 33.100 / 56. 33.100
   libavcodec     58. 55.101 / 58. 55.101
   libavformat    58. 31.104 / 58. 31.104
   libavdevice    58.  9.100 / 58.  9.100
   libavfilter     7. 58.101 /  7. 58.101
   libswscale      5.  6.100 /  5.  6.100
   libswresample   3.  6.100 /  3.  6.100
   libpostproc    55.  6.100 / 55.  6.100
Input #0, mpeg, from 'b:\VIDEO_TS\VTS_04_1.VOB':
   Duration: 00:18:45.54, start: 0.280633, bitrate: 7631 kb/s
     Stream #0:0[0x1bf]: Data: dvd_nav_packet
     Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, progressive), 720x480 [SAR 32:27 DAR 
16:9], 29.67 fps, 59.94 tbr, 90k tbn, 59.94 tbc
     Stream #0:2[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
     Stream #0:3[0x81]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
     Stream #0:4[0x82]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
     Stream #0:5[0x83]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
Stream mapping:
   Stream #0:1 -> #0:0 (mpeg2video (native) -> h264 (libx264))
   Stream #0:2 -> #0:1 (ac3 (native) -> vorbis (libvorbis))
Press [q] to stop, [?] for help
[Parsed_telecine_0 @ 000001ee6c272280] Telecine pattern 5555 yields up to 3 frames per frame, pts 
advance factor: 8/20
[libx264 @ 000001ee6ca9edc0] using SAR=32/27
[libx264 @ 000001ee6ca9edc0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 000001ee6ca9edc0] profile High, level 3.1, 4:2:0, 8-bit
[libx264 @ 000001ee6ca9edc0] 264 - core 158 r2984 3759fcb - H.264/MPEG-4 AVC codec - Copyleft 
2003-2019 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 
analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 
trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 
lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 
constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 
keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 
qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, matroska, to 'C:\ToDo\test.mkv':
   Metadata:
     encoder         : Lavf58.31.104
     Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuv420p(progressive), 720x480 [SAR 
32:27 DAR 16:9], q=-1--1, 74.93 fps, 1k tbn, 74.93 tbc
     Metadata:
       encoder         : Lavc58.55.101 libx264
     Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: 18446744073709551615
     Stream #0:1: Audio: vorbis (libvorbis) (oV[0][0] / 0x566F), 48000 Hz, 5.1(side), fltp
     Metadata:
       encoder         : Lavc58.55.101 libvorbis
[mpeg @ 000001ee6c268fc0] New subtitle stream 0:6 at pos:38606862 and DTS:49.6633sspeed=4.79x
[matroska @ 000001ee6c6c98c0] Starting new cluster due to timestamp= 779.1kbits/s speed=4.94x
     Last message repeated 2 times
[matroska @ 000001ee6c6c98c0] Starting new cluster due to timestamp= 774.8kbits/s speed=4.95x
     Last message repeated 21 times
[matroska @ 000001ee6c6c98c0] Starting new cluster due to timestamp= 771.3kbits/s speed=4.97x
     Last message repeated 52 times

::::::::::::::::::::::::::::::::::::
::                                ::
::   Thousands of similar lines   ::
::                                ::
::::::::::::::::::::::::::::::::::::

[matroska @ 000001ee6c6c98c0] Starting new cluster due to timestamp= 665.5kbits/s speed=4.73x
     Last message repeated 43 times
[matroska @ 000001ee6c6c98c0] Starting new cluster due to timestamp= 665.2kbits/s speed=4.73x
     Last message repeated 35 times
[matroska @ 000001ee6c6c98c0] Starting new cluster due to timestamp= 665.1kbits/s speed=4.73x
     Last message repeated 11 times
frame=67477 fps=284 q=-1.0 Lsize=   91660kB time=00:18:45.53 bitrate= 667.1kbits/s speed=4.73x
video:58416kB audio:31753kB subtitle:0kB other streams:0kB global headers:7kB muxing overhead: 1.653409%
[libx264 @ 000001ee6ca9edc0] frame I:1104  Avg QP:20.91  size:  7958
[libx264 @ 000001ee6ca9edc0] frame P:20496 Avg QP:23.99  size:  1759
[libx264 @ 000001ee6ca9edc0] frame B:45877 Avg QP:22.54  size:   326
[libx264 @ 000001ee6ca9edc0] consecutive B-frames:  2.4% 19.8%  3.0% 74.8%
[libx264 @ 000001ee6ca9edc0] mb I  I16..4: 37.5% 56.8%  5.7%
[libx264 @ 000001ee6ca9edc0] mb P  I16..4:  1.6%  2.5%  0.2%  P16..4: 20.0%  3.9%  1.9%  0.0%  0.0% 
   skip:69.8%
[libx264 @ 000001ee6ca9edc0] mb B  I16..4:  0.1%  0.1%  0.0%  B16..8: 16.0%  0.4%  0.1%  direct: 
0.1%  skip:83.2%  L0:41.9% L1:56.7% BI: 1.4%
[libx264 @ 000001ee6ca9edc0] 8x8 transform intra:57.3% inter:85.7%
[libx264 @ 000001ee6ca9edc0] coded y,uvDC,uvAC intra: 35.3% 45.3% 15.0% inter: 2.3% 3.0% 0.2%
[libx264 @ 000001ee6ca9edc0] i16 v,h,dc,p: 37% 35%  8% 21%
[libx264 @ 000001ee6ca9edc0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 27% 18%  4%  5%  6%  6%  5%  5%
[libx264 @ 000001ee6ca9edc0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 29% 16%  4%  6%  6%  6%  4%  4%
[libx264 @ 000001ee6ca9edc0] i8c dc,h,v,p: 57% 23% 15%  4%
[libx264 @ 000001ee6ca9edc0] Weighted P-Frames: Y:1.9% UV:1.0%
[libx264 @ 000001ee6ca9edc0] ref P L0: 64.1% 15.1% 12.5%  8.0%  0.3%
[libx264 @ 000001ee6ca9edc0] ref B L0: 88.4%  8.0%  3.6%
[libx264 @ 000001ee6ca9edc0] ref B L1: 97.5%  2.5%
[libx264 @ 000001ee6ca9edc0] kb/s:531.36


More information about the ffmpeg-user mailing list