[FFmpeg-user] detelecine without reencoding ?

sean darcy seandarcy2 at gmail.com
Tue Dec 18 20:17:40 EET 2018


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

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 ? Is there a better way to archive this VOB ?



More information about the ffmpeg-user mailing list