ffmpeg 将任何文件转换为任何文件

Vis*_*hnu 1 linux command ffmpeg centos

我想要简单的命令将任何支持的文件转换为任何几乎没有视频压缩的文件。

\n\n

例如

\n\n
avi to mp4\nmp4 to 3gp\n.\n.etc..\n
Run Code Online (Sandbox Code Playgroud)\n\n

我尝试了下面的代码

\n\n
ffmpeg -i infile.flv outfile.3gp\n
Run Code Online (Sandbox Code Playgroud)\n\n

它适用于某些人,但适用于其他人,例如flv to 3gp转换,它会抛出如下错误,并且输出文件大小比输入文件大小非常大。

\n\n
"Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height" \n
Run Code Online (Sandbox Code Playgroud)\n\n

P:si 用下面的 librareis 编译

\n\n
./configure --enable-version3 --enable-libopencore-amrnb --enable-libvo-aacenc --enable-libopencore-amrwb --enable-libvpx --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-gpl --enable-postproc --enable-nonfree\n
Run Code Online (Sandbox Code Playgroud)\n\n

全面回应

\n\n
array(48) {\n  [0]=>\n  string(77) "ffmpeg version N-72286-gd9b264b Copyright (c) 2000-2015 the FFmpeg developers"\n  [1]=>\n  string(56) "  built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-11)"\n  [2]=>\n  string(261) "  configuration: --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvpx --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-gpl --enable-postproc --enable-nonfree"\n  [3]=>\n  string(40) "  libavutil      54. 23.101 / 54. 23.101"\n  [4]=>\n  string(40) "  libavcodec     56. 39.101 / 56. 39.101"\n  [5]=>\n  string(40) "  libavformat    56. 33.101 / 56. 33.101"\n  [6]=>\n  string(40) "  libavdevice    56.  4.100 / 56.  4.100"\n  [7]=>\n  string(40) "  libavfilter     5. 16.101 /  5. 16.101"\n  [8]=>\n  string(40) "  libswscale      3.  1.101 /  3.  1.101"\n  [9]=>\n  string(40) "  libswresample   1.  1.100 /  1.  1.100"\n  [10]=>\n  string(40) "  libpostproc    53.  3.100 / 53.  3.100"\n  [11]=>\n  string(32) "Input #0, flv, from \'video.flv\':"\n  [12]=>\n  string(11) "  Metadata:"\n  [13]=>\n  string(25) "    major_brand     : M4V"\n  [14]=>\n  string(23) "    minor_version   : 1"\n  [15]=>\n  string(39) "    compatible_brands: M4V M4A mp42isom"\n  [16]=>\n  string(26) "    date            : 2008"\n  [17]=>\n  string(71) "    copyright       : \xc2\xa9 2008 Blender Foundation | www.bigbuckbunny.org"\n  [18]=>\n  string(36) "    title           : Big Buck Bunny"\n  [19]=>\n  string(43) "    artist          : Peach Open Movie Team"\n  [20]=>\n  string(56) "    composer        : Sacha Goedegebure / Ton Roosendaal"\n  [21]=>\n  string(35) "    encoder         : Lavf55.33.100"\n  [22]=>\n  string(59) "  Duration: 00:09:56.58, start: 0.058000, bitrate: 663 kb/s"\n  [23]=>\n  string(88) "    Stream #0:0: Video: h264 (High), yuv420p, 640x360, 24.42 fps, 24 tbr, 1k tbn, 48 tbc"\n  [24]=>\n  string(61) "    Stream #0:1: Audio: mp3, 44100 Hz, stereo, s16p, 128 kb/s"\n  [25]=>\n  string(90) "[h263 @ 0x1ef5f60] The specified picture size of 640x360 is not valid for the H.263 codec."\n  [26]=>\n  string(77) "Valid sizes are 128x96, 176x144, 352x288, 704x576, and 1408x1152. Try H.263+."\n  [27]=>\n  string(33) "Output #0, 3gp, to \'outfile.3gp\':"\n  [28]=>\n  string(11) "  Metadata:"\n  [29]=>\n  string(25) "    major_brand     : M4V"\n  [30]=>\n  string(23) "    minor_version   : 1"\n  [31]=>\n  string(39) "    compatible_brands: M4V M4A mp42isom"\n  [32]=>\n  string(26) "    date            : 2008"\n  [33]=>\n  string(71) "    copyright       : \xc2\xa9 2008 Blender Foundation | www.bigbuckbunny.org"\n  [34]=>\n  string(36) "    title           : Big Buck Bunny"\n  [35]=>\n  string(43) "    artist          : Peach Open Movie Team"\n  [36]=>\n  string(56) "    composer        : Sacha Goedegebure / Ton Roosendaal"\n  [37]=>\n  string(35) "    encoder         : Lavf55.33.100"\n  [38]=>\n  string(60) "    Stream #0:0: Video: h263, none, q=2-31, 128 kb/s, 24 fps"\n  [39]=>\n  string(13) "    Metadata:"\n  [40]=>\n  string(42) "      encoder         : Lavc56.39.101 h263"\n  [41]=>\n  string(52) "    Stream #0:1: Audio: amr_nb, 0 channels, 128 kb/s"\n  [42]=>\n  string(13) "    Metadata:"\n  [43]=>\n  string(55) "      encoder         : Lavc56.39.101 libopencore_amrnb"\n  [44]=>\n  string(15) "Stream mapping:"\n  [45]=>\n  string(54) "  Stream #0:0 -> #0:0 (h264 (native) -> h263 (native))"\n  [46]=>\n  string(66) "  Stream #0:1 -> #0:1 (mp3 (native) -> amr_nb (libopencore_amrnb))"\n  [47]=>\n  string(119) "Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height"\n}\n
Run Code Online (Sandbox Code Playgroud)\n

0rk*_*kan 5

由于3gp是一种灵活的容器格式,因此您必须提供ffmpeg一些参数,如视频比特率、帧大小、视频编解码器、音频比特率、音频编解码器

例如,从论坛中提取的以下代码:

ffmpeg -i input.flv -b 300k -s 320x240 -vcodec mpeg4 -ac 2 -ab 128k -acodec libfaac output.3gp
Run Code Online (Sandbox Code Playgroud)