Problems with frame rate on video conversion using ffmpeg with libx264
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.15 and also 1.2.1). 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:
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.15 and also 1.2.1). 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:
No comments:
Post a Comment