我正在使用此命令通过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().
Run Code Online (Sandbox Code Playgroud)
但是,如果我手动使用此命令,那么它的工作
/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
Run Code Online (Sandbox Code Playgroud)
Căt*_*ilă 14
这是因为你有两个流,输出将编码然后调整大小,请参阅输出消息:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Run Code Online (Sandbox Code Playgroud)
...你使用adpcm_swf音频和yuv420p视频
答案很简单,你需要把copy你的音频编解码器......
通过视频mpeg4,yuv420p和audio ac3查看我的示例...
ffmpeg -i input.mkv -vf scale=720:-1 -acodec copy -threads 12 output.mkv
Run Code Online (Sandbox Code Playgroud)
这将改变第一个尺寸= 720,纵横比= -1(未知).你还需要使用:
-acodec copy -threads 12
Run Code Online (Sandbox Code Playgroud)
如果不使用它,您将有一个错误.例如:当我使用它时,输出编码消息向我显示这个并且它运行良好:
[h624 @ 0x874e4a0] missing picture in access unit93 bitrate=1034.4kbits/s
Last message repeated 1163 times5974kB time=53.47 bitrate= 915.3kbits/s
Run Code Online (Sandbox Code Playgroud)您需要使用flv格式文件,如下所示:
ffmpeg -i input.mp4 -c:v libx264 -crf 19 output.flv
Run Code Online (Sandbox Code Playgroud)您收到一条错误消息
[flv @ 0x68b1a80] requested bitrate is too low
Run Code Online (Sandbox Code Playgroud)
您需要将比特率更改为有效。如果您使用不同的编解码器会更好
-acodec libmp3lame
Run Code Online (Sandbox Code Playgroud)
并删除该选项-sameq。此选项并不意味着“相同质量”。实际上意味着“相同的量化器”!
| 归档时间: |
|
| 查看次数: |
63218 次 |
| 最近记录: |