[FFmpeg-user] detelecine without reencoding ?

Carl Eugen Hoyos ceffmpeg at gmail.com
Tue Dec 18 20:25:03 EET 2018


2018-12-18 19:17 GMT+01:00, sean darcy <seandarcy2 at gmail.com>:
> I've got a VOB soft telecined 24 fps -> 3000/1001. Actually 28.83 fps -
> what's that about ?
>
> ffprobej 0.VOB
> Input #0, mpeg, from '0.VOB':
>    Duration: 01:42:49.76, start: 0.023444, bitrate: 5473 kb/s
>      Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv,
> progressive), 720x480 [SAR 8:9 DAR 4:3], Closed Captions, 28.83 fps,
> 59.94 tbr, 90k tbn, 59.94 tbc
>      Stream #0:1[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
> ..........
> pkt_duration=4504
> pkt_duration=3003
> pkt_duration=4504
> pkt_duration=3003
> pkt_duration=4504
> pkt_duration=3003
>
>
> I'd like to detelectine, I want to keep the original , so I'd prefer not
> to reencode.
>
> I tried
>
> ffmpeg -i 0.VOB -r 24000/1001 -c copy test.mkv
>
> ffprobej test.mkv
> Input #0, matroska,webm, from 'test.mkv':
>    Metadata:
>      ENCODER         : Lavf58.23.102
>    Duration: 01:42:49.82, start: 0.000000, bitrate: 4977 kb/s
>      Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, progressive),
> 720x480 [SAR 8:9 DAR 4:3], Closed Captions, 28.83 fps, 28.83 tbr, 1k
> tbn, 59.94 tbc (default)
>      Metadata:
>        DURATION        : 01:42:49.819000000
>      Stream #0:1: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s (default)
>      Metadata:
>        DURATION        : 01:42:49.728000000
>
>
> So I tried:
>
> ffmpeg -i 0.VOB -r 24000/1001 -map v -map i:0x80 -c:v mpeg2video -b:v
> 5500k -c:a copy test3.mkv
> ffmpeg version git-snapshot-20181206-RPMFusion Copyright (c) 2000-2018
> the FFmpeg developers
>    built with gcc 8 (GCC)
>
>    configuration: --prefix=/usr --bindir=/usr/bin
> --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/li
> b64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -ffast-math
> -march=native -ftree-vectorize -fomit-frame-pointer
> -pipe -fPIC' --enable-bzlib --disable-crystalhd --enable-fontconfig
> --enable-frei0r --enable-gcrypt --enable-gnutls --enab
> le-ladspa --enable-libass --enable-libbluray --enable-libcdio
> --disable-libdav1d --enable-libfdk-aac --enable-nonfree --en
> able-indev=jack --enable-libfreetype --enable-libfribidi --enable-libgsm
> --enable-libmp3lame --enable-openal --enable-open
> cl --disable-libopencv --enable-opengl --enable-libopenjpeg
> --enable-libopus --enable-libpulse --enable-libsoxr --enable-l
> ibspeex --enable-libtheora --enable-libvorbis --enable-libv4l2
> --enable-libvpx --enable-libwebp --enable-libx264 --enable-
> libx265 --enable-avfilter --enable-postproc --enable-pthreads
> --disable-static --enable-shared --enable-gpl --enable-versi
> on3 --enable-nonfree --disable-debug --enable-stripping
> --shlibdir=/usr/lib64 --enable-runtime-cpudetect
>    libavutil      56. 24.101 / 56. 24.101
>
>    libavcodec     58. 41.101 / 58. 41.101
>
>    libavformat    58. 23.102 / 58. 23.102
>
>    libavdevice    58.  6.101 / 58.  6.101
>
>    libavfilter     7. 46.101 /  7. 46.101
>
>    libswscale      5.  4.100 /  5.  4.100
>
>    libswresample   3.  4.100 /  3.  4.100
>
>    libpostproc    55.  4.100 / 55.  4.100
>
> Input #0, mpeg, from '0.VOB':
>
>    Duration: 01:42:49.76, start: 0.023444, bitrate: 5473 kb/s
>      Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv,
> progressive), 720x480 [SAR 8:9 DAR 4:3], Closed Captions, 2$.83 fps,
> 59.94 tbr, 90k tbn, 59.94 tbc
>      Stream #0:1[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
>
>      Stream #0:2[0x82]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
>      Stream #0:3[0x81]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
> Stream mapping:
>    Stream #0:0 -> #0:0 (mpeg2video (native) -> mpeg2video (native))
>    Stream #0:1 -> #0:1 (copy)
> Press [q] to stop, [?] for help
> Output #0, matroska, to 'test3.mkv':
>    Metadata:
>      encoder         : Lavf58.23.102
>      Stream #0:0: Video: mpeg2video (Main) (mpg2 / 0x3267706D), yuv420p,
> 720x480 [SAR 8:9 DAR 4:3], q=2-31, 5500 kb/s, 23.9
> 8 fps, 1k tbn, 23.98 tbc
>      Metadata:
>        encoder         : Lavc58.41.101 mpeg2video
>      Side data:
>        cpb: bitrate max/min/avg: 0/0/5500000 buffer size: 0 vbv_delay: -1
>      Stream #0:1: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, 5.1(side),
> fltp, 384 kb/s
> [mpeg @ 0x1616340] New subtitle stream 0:4 at pos:13842446 and
> DTS:20.7662sits/s dup=0 drop=1 speed=38.3x
> [mpeg @ 0x1616340] New subtitle stream 0:5 at pos:13850638 and DTS:20.7662s
> [mpeg @ 0x1616340] New subtitle stream 0:6 at pos:13852686 and DTS:20.7662s
> [mpeg @ 0x1616340] New subtitle stream 0:7 at pos:13854734 and DTS:20.7662s
> [mpeg @ 0x1616340] New subtitle stream 0:8 at pos:13856782 and DTS:20.7662s
> [mpeg @ 0x1616340] New subtitle stream 0:9 at pos:13858830 and DTS:20.7662s
> frame=147928 fps=880 q=2.0 Lsize= 4431149kB time=01:42:49.79

> bitrate=5883.5kbits/s dup=0 drop=200 speed=36.7x

Contrary to what you claim below, this seems not to have worked:
You dropped frames which is typically no intended.

What is wrong with the file you have?

Carl Eugen

> video:4138930kB audio:289208kB subtitle:0kB other streams:0kB global
> headers:0kB muxing overhead: 0.068010%
>
> And that seems to work.
>
> My questions:
>
> Is there a way to de telecine without reencoding ?

When you stream-copy with FFmpeg, soft-telecine gets
lost because FFmpeg doesn't support it.

> If I have to reencode, does Stream #0:0 -> #0:0 (mpeg2video (native) ->
> mpeg2video (native)) actually reencode. Or does it just copy the frame
> content ?

It is definitely re-encoded and because of the nature of mpeg2video,
this cannot be lossless.

> Is there a better way to archive this VOB ?

zip comes to mind...

Carl Eugen


More information about the ffmpeg-user mailing list