Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have problems with transcoding some videos. I ran the most simple ffmpeg command and it takes very long time and the output file is about 10 times bigger. If I provide the frame rate parameter -r it works well (small file, fast transcoding). What is the problem and how can I solve it? I don't want to set a fixed frame rate because I guess it's better to leave it the same as source, isn't it?.

Maybe the problem is something else, because I found many examples in web where the -r option isn't used. Also transcoding to a different format or with a different source works well without -r option (I tried with ffmpeg 0.7.13 and 1.2.1 on mac os (provided by mac ports) and 0.7.15 on a debian linux server). The videos are provided by the users of my website and automatically converted to be suitable for the web. So I need the most general command for automatic conversion.

In the following ffmpeg output you will find this two suspicious messages:

  • Frame rate very high for a muxer not effciciently supporting it. Please consider specifiying a lower framerate, a different muxer or -vsync 2
  • MB rate (36000000) > level limit (983040)

The ffmpeg command and output (without -r option):


    ffmpeg -i '/tmp/standort_aquarium.mp4' -vcodec libx264 output.mp4
    ffmpeg version 0.7.15, Copyright (c) 2000-2013 the FFmpeg developers  built on Feb 22 2013 07:18:58 with gcc 4.4.5  configuration: --enable-libdc1394 --prefix=/usr --extra-cflags='-Wall -g ' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-avfilter --enable-libdirac --disable-decoder=libdirac --enable-libfreetype --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-libvpx --enable-librtmp --extra-libs=-lgcrypt --disable-altivec --disable-armv5te --disable-armv6 --disable-vis
      libavutil    50. 43. 0 / 50. 43. 0
      libavcodec   52.123. 0 / 52.123. 0
      libavformat  52.111. 0 / 52.111. 0
      libavdevice  52.  5. 0 / 52.  5. 0
      libavfilter   1. 80. 0 /  1. 80. 0
      libswscale    0. 14. 1 /  0. 14. 1
      libpostproc  51.  2. 0 / 51.  2. 0
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/tmp/standort_aquarium.mp4':
      Metadata:
        major_brand     : mp42
        minor_version   : 0
        compatible_brands: mp423gp4isom
        creation_time   : 2013-04-19 15:04:05
      Duration: 00:00:18.24, start: 0.000000, bitrate: 2095 kb/s
        Stream #0.0(und): Video: mpeg4, yuv420p, 640x480 [PAR 1:1 DAR 4:3], 2001 kb/s, 14.97 fps, 30k tbr, 30k tbn, 30k tbc
        Metadata:
          creation_time   : 2013-04-19 15:04:05
        Stream #0.1(und): Audio: aac, 48000 Hz, mono, s16, 96 kb/s
        Metadata:
          creation_time   : 2013-04-19 15:04:05
    File 'output.mp4' already exists. Overwrite ? [y/N] y
    [mp4 @ 0x20eed80] Frame rate very high for a muxer not effciciently supporting it.
    Please consider specifiying a lower framerate, a different muxer or -vsync 2
    [buffer @ 0x20f8820] w:640 h:480 pixfmt:yuv420p tb:1/1000000 sar:1/1 sws_param:
    [libx264 @ 0x20efde0] Default settings detected, using medium profile
    [libx264 @ 0x20efde0] using SAR=1/1
    [libx264 @ 0x20efde0] MB rate (36000000) > level limit (983040)
    [libx264 @ 0x20efde0] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
    [libx264 @ 0x20efde0] profile High, level 5.1
    [libx264 @ 0x20efde0] 264 - core 118 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - 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=1 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, mp4, to 'output.mp4':
      Metadata:
        major_brand     : mp42
        minor_version   : 0
        compatible_brands: mp423gp4isom
        creation_time   : 2013-04-19 15:04:05
        encoder         : Lavf52.111.0
        Stream #0.0(und): Video: libx264, yuv420p, 640x480 [PAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 30k tbn, 30k tbc
        Metadata:
          creation_time   : 2013-04-19 15:04:05
        Stream #0.1(und): Audio: libfaac, 48000 Hz, mono, s16, 64 kb/s
        Metadata:
          creation_time   : 2013-04-19 15:04:05
    Stream mapping:
      Stream #0.0 -> #0.0
      Stream #0.1 -> #0.1
    Press [q] to stop, [?] for help
    frame=542630 fps=132 q=33.0 Lsize=   77226kB time=00:00:18.08 bitrate=34976.2kbits/s dup=542358 drop=0
    video:68604kB audio:143kB global headers:0kB muxing overhead 12.333275%
    frame I:2174  Avg QP:18.72  size: 25040
    [libx264 @ 0x20efde0] frame P:136846 Avg QP:25.27  size:    56
    [libx264 @ 0x20efde0] frame B:403610 Avg QP:32.99  size:    20
    [libx264 @ 0x20efde0] consecutive B-frames:  0.8%  0.0%  0.1% 99.1%
    [libx264 @ 0x20efde0] mb I  I16..4:  5.5% 83.3% 11.1%
    [libx264 @ 0x20efde0] mb P  I16..4:  0.0%  0.0%  0.0%  P16..4:  0.5%  0.0%  0.0%  0.0%  0.0%    skip:99.4%
    [libx264 @ 0x20efde0] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.0%  0.0%  0.0%  direct: 0.0%  skip:100.0%  L0:21.2% L1:78.8% BI: 0.0%
    [libx264 @ 0x20efde0] 8x8 transform intra:83.1% inter:85.2%
    [libx264 @ 0x20efde0] coded y,uvDC,uvAC intra: 91.2% 95.8% 80.7% inter: 0.0% 0.1% 0.0%
    [libx264 @ 0x20efde0] i16 v,h,dc,p: 13% 40% 12% 35%
    [libx264 @ 0x20efde0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 34% 15%  4%  4%  5%  6%  7%  8%
    [libx264 @ 0x20efde0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 38%  6%  4%  6%  6%  8%  6%  6%
    [libx264 @ 0x20efde0] i8c dc,h,v,p: 39% 32% 19% 10%
    [libx264 @ 0x20efde0] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 0x20efde0] ref P L0: 91.5%  5.2%  2.8%  0.4%  0.0%
    [libx264 @ 0x20efde0] ref B L0: 55.7% 43.5%  0.8%
    [libx264 @ 0x20efde0] ref B L1: 97.9%  2.1%
    [libx264 @ 0x20efde0] kb/s:31071.04

The ffmpeg command and output with the -r 24 option:


    ffmpeg -i '/tmp/standort_aquarium.mp4' -r 30000/1001 -vcodec libx264 output.mp4
    ffmpeg version 0.7.15, Copyright (c) 2000-2013 the FFmpeg developers
      built on Feb 22 2013 07:18:58 with gcc 4.4.5
      configuration: --enable-libdc1394 --prefix=/usr --extra-cflags='-Wall -g ' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-avfilter --enable-libdirac --disable-decoder=libdirac --enable-libfreetype --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-libvpx --enable-librtmp --extra-libs=-lgcrypt --disable-altivec --disable-armv5te --disable-armv6 --disable-vis
      libavutil    50. 43. 0 / 50. 43. 0
      libavcodec   52.123. 0 / 52.123. 0
      libavformat  52.111. 0 / 52.111. 0
      libavdevice  52.  5. 0 / 52.  5. 0
      libavfilter   1. 80. 0 /  1. 80. 0
      libswscale    0. 14. 1 /  0. 14. 1
      libpostproc  51.  2. 0 / 51.  2. 0
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/tmp/standort_aquarium.mp4':
      Metadata:
        major_brand     : mp42
        minor_version   : 0
        compatible_brands: mp423gp4isom
        creation_time   : 2013-04-19 15:04:05
      Duration: 00:00:18.24, start: 0.000000, bitrate: 2095 kb/s
        Stream #0.0(und): Video: mpeg4, yuv420p, 640x480 [PAR 1:1 DAR 4:3], 2001 kb/s, 14.97 fps, 30k tbr, 30k tbn, 30k tbc
        Metadata:
          creation_time   : 2013-04-19 15:04:05
        Stream #0.1(und): Audio: aac, 48000 Hz, mono, s16, 96 kb/s
        Metadata:
          creation_time   : 2013-04-19 15:04:05
    File 'output.mp4' already exists. Overwrite ? [y/N] y
    [buffer @ 0x132e820] w:640 h:480 pixfmt:yuv420p tb:1/1000000 sar:1/1 sws_param:
    [libx264 @ 0x1325de0] Default settings detected, using medium profile
    [libx264 @ 0x1325de0] using SAR=1/1
    [libx264 @ 0x1325de0] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
    [libx264 @ 0x1325de0] profile High, level 3.0
    [libx264 @ 0x1325de0] 264 - core 118 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - 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=1 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, mp4, to 'output.mp4':
      Metadata:
        major_brand     : mp42
        minor_version   : 0
        compatible_brands: mp423gp4isom
        creation_time   : 2013-04-19 15:04:05
        encoder         : Lavf52.111.0
        Stream #0.0(und): Video: libx264, yuv420p, 640x480 [PAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 30k tbn, 29.97 tbc
        Metadata:
          creation_time   : 2013-04-19 15:04:05
        Stream #0.1(und): Audio: libfaac, 48000 Hz, mono, s16, 64 kb/s
        Metadata:
          creation_time   : 2013-04-19 15:04:05
    Stream mapping:
      Stream #0.0 -> #0.0
      Stream #0.1 -> #0.1
    Press [q] to stop, [?] for help
    frame=  542 fps= 36 q=29.0 Lsize=    2059kB time=00:00:18.01 bitrate= 936.3kbits/s dup=270 drop=0
    video:1904kB audio:143kB global headers:0kB muxing overhead 0.609224%
    frame I:3     Avg QP:22.39  size: 14773
    [libx264 @ 0x1325de0] frame P:514   Avg QP:23.98  size:  3675
    [libx264 @ 0x1325de0] frame B:25    Avg QP:27.44  size:   643
    [libx264 @ 0x1325de0] consecutive B-frames: 93.7%  0.0%  1.1%  5.2%
    [libx264 @ 0x1325de0] mb I  I16..4: 16.4% 78.3%  5.3%
    [libx264 @ 0x1325de0] mb P  I16..4:  1.6%  6.3%  0.3%  P16..4: 30.8%  8.6%  3.1%  0.0%  0.0%    skip:49.4%
    [libx264 @ 0x1325de0] mb B  I16..4:  0.4%  0.7%  0.0%  B16..8: 13.2%  1.6%  0.2%  direct: 0.3%  skip:83.6%  L0:50.0% L1:47.1% BI: 2.9%
    [libx264 @ 0x1325de0] 8x8 transform intra:77.1% inter:83.1%
    [libx264 @ 0x1325de0] coded y,uvDC,uvAC intra: 62.0% 76.4% 24.4% inter: 17.9% 26.3% 2.3%
    [libx264 @ 0x1325de0] i16 v,h,dc,p: 14% 60% 13% 13%
    [libx264 @ 0x1325de0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 35% 33%  2%  3%  3%  3%  3%  4%
    [libx264 @ 0x1325de0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 40% 12%  4%  7%  7%  7%  5%  4%
    [libx264 @ 0x1325de0] i8c dc,h,v,p: 46% 34% 16%  4%
    [libx264 @ 0x1325de0] Weighted P-Frames: Y:8.0% UV:4.5%
    [libx264 @ 0x1325de0] ref P L0: 65.6% 16.7%  8.8%  7.9%  0.9%
    [libx264 @ 0x1325de0] ref B L0: 85.9% 13.3%  0.8%
    [libx264 @ 0x1325de0] ref B L1: 88.7% 11.3%
    [libx264 @ 0x1325de0] kb/s:862.28

The video source is temporarily available under: https://www.dropbox.com/s/4xg147z77u40g87/standort_aquarium.mp4

share|improve this question

migrated from stackoverflow.com Jun 3 '13 at 1:36

This question came from our site for professional and enthusiast programmers.

    
This might be a bug, but I haven't trawled the FFmpeg Bug Tracker for any existing related reports. –  LordNeckbeard May 30 '13 at 0:13
    
If this is a bug this means it will just happen with a view videos and I may ignore this issue? –  LarS Jun 3 '13 at 17:04
    
Maybe it's related to this ticket: ffmpeg.org/trac/ffmpeg/ticket/187 - I reopened the ticket in the ffmpeg issue queue providing above information. –  LarS Jun 3 '13 at 18:02

1 Answer 1

I couldn't see any issue with your video, using the following command on ffmpeg version 1.1.2:

ffmpeg -i standort_aquarium.mp4 -r 30000/1001 -vcodec libx264 output.mp4

The result file size is as expected (around half the size), the video was playing correctly and the frame-rate conversion seems to be working just fine (so not a bug).

The only issue I see with your output is that the steam mapping is missing (for unknown reason). On your output:

Stream mapping:

  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1

Where it should have be written:

Stream mapping:
  Stream #0:0 -> #0:0 (mpeg4 -> libx264)
  Stream #0:1 -> #0:1 (aac -> libfaac)

I assume you've got an issue with your ffmpeg binary/version (also, version 1.2.1 was never released). Try re-download or re-compile with version 1.1.2

share|improve this answer
    
The command in question is the one without -r option: ffmpeg -i '/tmp/standort_aquarium.mp4' -vcodec libx264 output.mp4 –  LarS Jun 7 '13 at 22:50
    
may you test again without -r 30000/1001? Which version of ffmpeg are you using? I use versions 1.2.1 and 0.7.13 on mac provided by mac ports and 0.7.15 on a debian linux server. –  LarS Jun 11 '13 at 16:28

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.