18

我正在使用此命令通过 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
4

4 回答 4

15
  1. 这是因为您有两个流,输出将被编码然后调整大小,请参阅您的输出消息:

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

    ...您使用adpcm_swf音频和yuv420p视频

    答案很简单,你需要把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 
    
  2. 您需要使用 flv 格式的文件,如下所示:

    ffmpeg -i input.mp4 -c:v libx264 -crf 19 output.flv
    
于 2013-12-25T23:14:45.990 回答
2

由于尺寸限制,我遇到了类似的问题。原始图像大小很奇怪(宽度=1343),这意味着当我尝试使用 -s 指定新大小时,任何舍入错误都会导致问题。确保新的图像尺寸可以具有完全相同的纵横比!

于 2013-06-19T16:31:09.313 回答
2

您收到一条错误消息

[flv @ 0x68b1a80] requested bitrate is too low

您需要将比特率更改为有效。如果您使用不同的编解码器会更好

-acodec libmp3lame

并删除选项-sameq。此选项并不意味着“相同的质量”。实际上意味着“相同的量化器”!

于 2012-12-14T11:11:42.503 回答
1

我有同样的问题

- requested bitrate is too low

并通过降低比特率解决了这个问题

by adding -b:a 32k
于 2016-04-14T10:53:04.600 回答