[FFmpeg-user] Reversing PAL->NTSC telecining.

Nicholas Robbins nickrobbins at yahoo.com
Wed Jan 15 03:27:34 CET 2014


> On Tuesday, January 14, 2014 6:41 PM, Carl Eugen Hoyos <cehoyos at ag.or.at> wrote:

> > Nicholas Robbins <nickrobbins <at> yahoo.com> writes:
> 
>>  One caveat. The command 
>> 
>>  ffmpeg  -fflags +genpts -i in.vob  -i novid.mkv -map 0:v 
>>  -map 1 -c copy out.mkv
>> 
>>  uses upwards of 1.5G and I start hitting swap with a movie, 
>>  not with a 40 minute show.
> 
> (I cannot reproduce.)
> Could you add complete, uncut console output?
> (If possible for robbins-2.vob)
> 
> Thank you, Carl Eugen

I've wrapped the command in /usr/bin/time -v to give a memory report. /usr/bin/time has a known bug where the memory usage is 4 times too large. Remembering this, the usage of robbins-2.vob is ~600M. If I cat two copies of robbins-2.vob together to get something twice as large then the memory usage is 1.875G. These agree with what 'top' says while the command is running. The first uses about 30% of my machines 2G the other about 93%.

$ /usr/bin/time -v ffmpeg -y -fflags +genpts -i robbins-2.vob -map 0:v -c copy -f matroska /dev/null
ffmpeg version N-59816-g0b54bc2 Copyright (c) 2000-2014 the FFmpeg developers
  built on Jan 14 2014 07:50:07 with gcc 4.7.3 (Gentoo Hardened 4.7.3-r1 p1.3, pie-0.5.5)
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++ --ar=x86_64-pc-linux-gnu-ar --optflags='-O2 -pipe -march=native -fomit-frame-pointer' --extra-cflags='-O2 -pipe -march=native -fomit-frame-pointer' --extra-cxxflags='-O2 -pipe -march=native -fomit-frame-pointer' --disable-static --enable-gpl --enable-postproc --enable-avfilter --enable-avresample --disable-stripping --enable-nonfree --disable-indev=v4l2 --disable-outdev=v4l2 --disable-indev=alsa --disable-indev=oss --disable-indev=jack --disable-outdev=alsa --disable-outdev=oss --disable-outdev=sdl --enable-bzlib --disable-runtime-cpudetect --disable-debug --disable-doc --disable-gnutls --enable-hardcoded-tables --enable-iconv --enable-network --disable-openssl --disable-ffplay --disable-vaapi --disable-vdpau --enable-zlib --disable-libvo-aacenc --disable-libvo-amrwbenc
 --enable-libmp3lame --disable-libaacplus --enable-libfaac --disable-libtheora --disable-libtwolame --disable-libwavpack --enable-libx264 --enable-libxvid --disable-libcdio --disable-libiec61883 --disable-libdc1394 --disable-libcaca --disable-openal --disable-libv4l2 --disable-libpulse --disable-x11grab --disable-libflite --disable-frei0r --disable-fontconfig --disable-ladspa --disable-libass --disable-libfreetype --disable-libsoxr --enable-pthreads --disable-libopencore-amrwb --disable-libopencore-amrnb --disable-libfdk-aac --disable-libopenjpeg --disable-libbluray --disable-libcelt --disable-libgme --disable-libgsm --disable-libmodplug --disable-libopus --disable-libquvi --disable-librtmp --disable-libssh --disable-libschroedinger --disable-libspeex --disable-libvorbis --disable-libvpx --disable-libzvbi --disable-amd3dnow --disable-amd3dnowext --disable-altivec --disable-avx --disable-avx2 --disable-vis --disable-neon --enable-pic --cpu=host
  libavutil      52. 62.100 / 52. 62.100
  libavcodec     55. 48.101 / 55. 48.101
  libavformat    55. 23.103 / 55. 23.103
  libavdevice    55.  5.102 / 55.  5.102
  libavfilter     4.  1.100 /  4.  1.100
  libavresample   1.  1.  0 /  1.  1.  0
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100

Input #0, mpeg, from 'robbins-2.vob':
  Duration: 00:16:24.75, start: 0.045500, bitrate: 17445 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 720x480 [SAR 32:27 DAR 16:9], max. 7500 kb/s, 28.75 fps, 59.94 tbr, 90k tbn, 59.94 tbc
    Stream #0:1[0x26]: Subtitle: dvd_subtitle
    Stream #0:2[0x24]: Subtitle: dvd_subtitle
    Stream #0:3[0x22]: Subtitle: dvd_subtitle
    Stream #0:4[0x20]: Subtitle: dvd_subtitle
    Stream #0:5[0x82]: Audio: ac3, 48000 Hz, mono, fltp, 192 kb/s
    Stream #0:6[0x84]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:7[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
    Stream #0:8[0x83]: Audio: ac3, 48000 Hz, mono, fltp, 192 kb/s
    Stream #0:9[0x81]: Audio: ac3, 48000 Hz, mono, fltp, 192 kb/s
    Stream #0:10[0x23]: Subtitle: dvd_subtitle
    Stream #0:11[0x25]: Subtitle: dvd_subtitle
    Stream #0:12[0x21]: Subtitle: dvd_subtitle
Output #0, matroska, to '/dev/null':
  Metadata:
    encoder         : Lavf55.23.103
    Stream #0:0: Video: mpeg2video (mpg2 / 0x3267706D), yuv420p, 720x480 [SAR 32:27 DAR 16:9], q=2-31, max. 7500 kb/s, 28.75 fps, 1k tbn, 90k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
[mpeg @ 0x4142fadfe0] New subtitle stream 0:13 at pos:19630094 and DTS:25.571ss/s
frame=61950 fps=678 q=-1.0 Lsize= 1692299kB time=00:43:03.63 bitrate=5365.8kbits/s
video:1691627kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.039737%
        Command being timed: "ffmpeg -y -fflags +genpts -i robbins-2.vob -map 0:v -c copy -f matroska /dev/null"
        User time (seconds): 58.00
        System time (seconds): 3.97
        Percent of CPU this job got: 67%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 1:32.03
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 2538720
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 21
        Minor (reclaiming a frame) page faults: 158857
        Voluntary context switches: 10953
        Involuntary context switches: 4527
        Swaps: 0
        File system inputs: 4183296
        File system outputs: 0
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

$ cat robbins-2.vob robbins-2.vob > robbins-4.vob

$ /usr/bin/time -v ffmpeg -y -fflags +genpts -i robbins-4.vob -map 0:v -c copy -f matroska /dev/null
ffmpeg version N-59816-g0b54bc2 Copyright (c) 2000-2014 the FFmpeg developers
  built on Jan 14 2014 07:50:07 with gcc 4.7.3 (Gentoo Hardened 4.7.3-r1 p1.3, pie-0.5.5)
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++ --ar=x86_64-pc-linux-gnu-ar --optflags='-O2 -pipe -march=native -fomit-frame-pointer' --extra-cflags='-O2 -pipe -march=native -fomit-frame-pointer' --extra-cxxflags='-O2 -pipe -march=native -fomit-frame-pointer' --disable-static --enable-gpl --enable-postproc --enable-avfilter --enable-avresample --disable-stripping --enable-nonfree --disable-indev=v4l2 --disable-outdev=v4l2 --disable-indev=alsa --disable-indev=oss --disable-indev=jack --disable-outdev=alsa --disable-outdev=oss --disable-outdev=sdl --enable-bzlib --disable-runtime-cpudetect --disable-debug --disable-doc --disable-gnutls --enable-hardcoded-tables --enable-iconv --enable-network --disable-openssl --disable-ffplay --disable-vaapi --disable-vdpau --enable-zlib --disable-libvo-aacenc --disable-libvo-amrwbenc
 --enable-libmp3lame --disable-libaacplus --enable-libfaac --disable-libtheora --disable-libtwolame --disable-libwavpack --enable-libx264 --enable-libxvid --disable-libcdio --disable-libiec61883 --disable-libdc1394 --disable-libcaca --disable-openal --disable-libv4l2 --disable-libpulse --disable-x11grab --disable-libflite --disable-frei0r --disable-fontconfig --disable-ladspa --disable-libass --disable-libfreetype --disable-libsoxr --enable-pthreads --disable-libopencore-amrwb --disable-libopencore-amrnb --disable-libfdk-aac --disable-libopenjpeg --disable-libbluray --disable-libcelt --disable-libgme --disable-libgsm --disable-libmodplug --disable-libopus --disable-libquvi --disable-librtmp --disable-libssh --disable-libschroedinger --disable-libspeex --disable-libvorbis --disable-libvpx --disable-libzvbi --disable-amd3dnow --disable-amd3dnowext --disable-altivec --disable-avx --disable-avx2 --disable-vis --disable-neon --enable-pic --cpu=host
  libavutil      52. 62.100 / 52. 62.100
  libavcodec     55. 48.101 / 55. 48.101
  libavformat    55. 23.103 / 55. 23.103
  libavdevice    55.  5.102 / 55.  5.102
  libavfilter     4.  1.100 /  4.  1.100
  libavresample   1.  1.  0 /  1.  1.  0
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mpeg, from 'robbins-4.vob':
  Duration: 00:16:24.75, start: 0.045500, bitrate: 34891 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 720x480 [SAR 32:27 DAR 16:9], max. 7500 kb/s, 28.75 fps, 59.94 tbr, 90k tbn, 59.94 tbc
    Stream #0:1[0x26]: Subtitle: dvd_subtitle
    Stream #0:2[0x24]: Subtitle: dvd_subtitle
    Stream #0:3[0x22]: Subtitle: dvd_subtitle
    Stream #0:4[0x20]: Subtitle: dvd_subtitle
    Stream #0:5[0x82]: Audio: ac3, 48000 Hz, mono, fltp, 192 kb/s
    Stream #0:6[0x84]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:7[0x80]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
    Stream #0:8[0x83]: Audio: ac3, 48000 Hz, mono, fltp, 192 kb/s
    Stream #0:9[0x81]: Audio: ac3, 48000 Hz, mono, fltp, 192 kb/s
    Stream #0:10[0x23]: Subtitle: dvd_subtitle
    Stream #0:11[0x25]: Subtitle: dvd_subtitle
    Stream #0:12[0x21]: Subtitle: dvd_subtitle
Output #0, matroska, to '/dev/null':
  Metadata:
    encoder         : Lavf55.23.103
    Stream #0:0: Video: mpeg2video (mpg2 / 0x3267706D), yuv420p, 720x480 [SAR 32:27 DAR 16:9], q=2-31, max. 7500 kb/s, 28.75 fps, 1k tbn, 90k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
[mpeg @ 0x11c900fd50] New subtitle stream 0:13 at pos:19630094 and DTS:25.571s
frame=123900 fps=176 q=-1.0 Lsize= 3384598kB time=01:26:07.41 bitrate=5365.7kbits/s    
video:3383254kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.039726%
        Command being timed: "ffmpeg -y -fflags +genpts -i robbins-4.vob -map 0:v -c copy -f matroska /dev/null"
        User time (seconds): 553.32
        System time (seconds): 15.36
        Percent of CPU this job got: 80%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 11:44.64
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 7681264
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 93568
        Minor (reclaiming a frame) page faults: 1108805
        Voluntary context switches: 120700
        Involuntary context switches: 34943
        Swaps: 0
        File system inputs: 14115336
        File system outputs: 0
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0


-Nick



More information about the ffmpeg-user mailing list