FFMpeg创建没有浏览器可以解码的MP4,但它可以在VLC中播放

时间:2013-08-13 16:24:59

标签: ffmpeg html5-video

如何调试发生的事情?我已尝试使用各种变体从单个图像生成短视频:

ffmpeg -loop 1 -i black.png -vcodec libx264 -b 1500k -s 640x360 -t 1 out.mp4

尝试:

  1. 更改宽高比(或省略)。
  2. 使用-image2代替-loop
  3. 省略比特率。
  4. 制作更长的视频。
  5. 还尝试了不同的语法来指定视频编解码器:-v:c libx264
  6. 尝试使用mpeg而不是libx264。
  7. 在每种情况下效果都是一样的。视频在VLC中播放,但不在浏览器中播放。

1 个答案:

答案 0 :(得分:1)

浏览器需要有关电影的某些元数据位于文件的前面,以便能够立即开始播放。 ffmpeg可以使用-movflags faststart选项实现此目的。

尝试:

ffmpeg -loop 1 -i black.png -vcodec libx264 -b 1500k -s 640x360 -t 1 -movflags faststart out.mp4

请注意,这会进行第二次传递,并会增加编码时间。另外一定要使用支持此标志的更新版本的ffmpeg。可以找到更多文档here