FFMPEG转换后的mp4文件无法在firefox和chrome中播放

时间:2014-01-17 10:48:13

标签: html ffmpeg html5-video

我使用FFMPEG命令将flv视频文件转换为mp4并使用html5视频标签并在浏览器中播放视频。但是在使用ffmpeg将视频转换为mp4后,它无法在firefox和chrome浏览器中播放。它显示错误消息“没有支持格式的视频和找到的MIME类型”。我在下面添加了代码,请帮忙。

cmd /C ffmpeg -i INPUT_FILE_PATH -y -ar 22050 -ab 512 -b 800k -f mp4 -s 514*362 OUTPUT_FILE.mp4"

8 个答案:

答案 0 :(得分:32)

这就是你需要的。我最近发现自己在解决同样的问题。

将此添加到您的命令:

-pix_fmt yuv420p

如果你没有指定pix_fmt,它默认为yuv444p,它似乎与当前浏览器不兼容。

我成功测试的完整命令是:

ffmpeg -y -i "INPUT-FILE" -c:v libx264 -preset slow -crf 22 -pix_fmt yuv420p -c:a libvo_aacenc -b:a 128k "OUTPUT-FILE"

将输入,输出路径放在引号内并尝试开始。在当前的IE,Firefox和Chrome中播放。我正在使用内置的aac编码器来播放音频。

答案 1 :(得分:3)

您使用的是最新版本的Firefox和Chrome吗? ?

您是否在系统和浏览器上安装了必要的编解码器?

较旧版本的浏览器会出现显示多媒体或MIME内容的问题。不正确或旧的编解码器也会导致问题。

答案 2 :(得分:2)

我认为您的编码问题不是FFMPEG或HTML5。它位于您正在使用的命令和库中。您应该使用“libx264”库为HTML5编码MP4视频。

正确使用的命令应为。

ffmpeg -i input.mov \
-acodec libfaac -ab 96k \
-vcodec libx264 -vpre slower -vpre main \
-level 21 -refs 2 -b 345k -bt 345k \
-threads 0 -s 640x360 output.mp4

复制粘贴方便

ffmpeg -i input.mov -acodec libfaac -ab 96k -vcodec libx264 -vpre slower -vpre main -level 21 -refs 2 -b 345k -bt 345k -threads 0 -s 640x360 output.mp4

如果您碰巧错过了x264编解码器,您可以安装Zeranoe版本。请参阅此SO页面。 [FFmpeg installation for x264 codec]

可以在[https://trac.ffmpeg.org/wiki/x264EncodingGuide]

中找到更多编码说明

答案 3 :(得分:1)

我对您的命令行所做的更改:

  • 我明确指定了音频编解码器,因此它是AAC-LC。
  • 添加“-strict -2”以使用实验性AAC-LC编解码器。

这适用于Firefox和Chrome。

ffmpeg -y -i "INPUT" -ar 22050 -ab 512 -b 800k -f mp4 -s 514*362 -strict -2 -c:a aac "OUTPUT.mp4"

我希望有所帮助,如果有,请将此标记为好答案!

答案 4 :(得分:0)

基于@Unrealist的答案,似乎是视频编解码器兼容性的问题。您需要检查浏览器视频格式支持,然后在FFMPEG中选择适当的音频和视频编解码器:

HTML5 video codecs browsers support chart

答案 5 :(得分:0)

我也遇到过类似的问题-从一个集合中合并png / mp3时,一切都很好,但是从另一个集合中合并jpg / mp3无法在浏览器中播放,但是在vlc中一切正常。 我已经发现-pix_fmt是问题所在,并且在重新组合png集合时有效,但是在重新组合jpg集合时无效,除非也使用-vf scale。

答案 6 :(得分:-1)

检查添加到服务器的MIMe类型支持,这是您的情况下的问题,因为显示错误'显示错误,说'没有支持格式的视频和找到的MIME类型'。至于您的信息,不支持在IIS 7中添加的MP4 MIME类型,您必须通过以给定方式更改其web.config文件来添加它。

<configuration>
   <system.webServer>
      <staticContent>
         <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
      </staticContent>
   </system.webServer>
</configuration>

希望这能让您深入了解您的问题。

答案 7 :(得分:-2)

我认为这不是你想要的答案,但你真的需要尝试Miro Video Converter

我在几个项目中使用它,视频在Firefox,Opera,Chrome,Internet Explorer上运行良好。并且还适用于移动设备。

  

将几乎所有视频转换为 MP4 WebM(vp8) Ogg Theora 的美观,简单方法Android iPhone iPad 。批量转换,自定义大小调整等!来自 100%免费开源。

将它与 video.js 和你的完成结合起来!

这是我用它的HTML:

<video id="video" class="video-js vjs-default-skin" width="960" height="540">
    <source src="http://www.domain.com/video.mp4" type='video/mp4' />
    <source src="http://www.domain.com/video.webm" type='video/webm' />
    <source src="http://www.domain.com/video.ogv" type='video/ogg' />
</video>