我正在使用此命令通过 FFMPEG 将 avi、mov、m4v 视频文件转换为 flv 格式
/usr/local/bin/ffmpeg -i '/home/public_html/files/video_1355440448.m4v' -s '640x360' -sameq -ab '64k' -ar '44100' -f 'flv' -y /home/public_html/files/video_1355440448.flv
[flv @ 0x68b1a80] requested bitrate is too low
Output #0, flv, to '/home/files/1355472099-50cadce349290.flv':
Stream #0.0: Video: flv, yuv420p, 640x360, q=2-31, pass 2, 200 kb/s, 90k tbn, 25 tbc
Stream #0.1: Audio: adpcm_swf, 44100 Hz, 2 channels, s16, 64 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Error while opening encoder for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height
-------------------------------
RESULT
-------------------------------
Execute error. Output for file "/home/public_html/files/video_1355472099.avi" was found, but the file contained no data. Please check the available codecs compiled with FFmpeg can support this type of conversion. You can check the encode decode availability by inspecting the output array from PHPVideoToolkit::getFFmpegInfo().
但是如果我手动使用这个命令那么它的工作
/usr/local/bin/ffmpeg -i '/home/public_html/files/video_1355440448.m4v' -s '640x360' -sameq -ab '64k' -ar '44100' -f 'flv' -y /home/public_html/files/video_1355440448.flv
-
这是因为您有两个流,输出将进行编码然后调整大小,请参阅您的输出消息:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
... 你用adpcm_swf
音频和yuv420p
video
答案很简单,你需要把copy
作为您的音频编解码器...
请参阅我的视频 mpeg4、yuv420p 和音频 ac3 的示例...
ffmpeg -i input.mkv -vf scale=720:-1 -acodec copy -threads 12 output.mkv
这将改变第一个尺寸= 720,长宽比= -1(未知)。您还需要使用:
-acodec copy -threads 12
如果不使用它,您将遇到一个错误。
例如:当我使用它时,输出编码消息向我显示了这一点并且效果很好:
[h624 @ 0x874e4a0] missing picture in access unit93 bitrate=1034.4kbits/s
Last message repeated 1163 times5974kB time=53.47 bitrate= 915.3kbits/s
-
您需要使用 flv 格式文件,如下所示:
ffmpeg -i input.mp4 -c:v libx264 -crf 19 output.flv
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)