我也会在这里加我的 2 美分。我自己今天刚刚经历过这个问题。使用 Firefox 现在的版本 33 (!),Firefox 对 webm 做了“一些事情”,但它肯定不会做正确的事情。(我在这里开始了一个关于它的线程......在 Firefox 33 中无法播放 HTML5 视频
但最重要的是,这是另一个可能需要数年才能解决的 Firefox 问题案例。但我离题了……这是一个 Firefox 问题,由于列出视频源文件的首选顺序是 MP4,然后是 webm,然后是 ogg,所以目前唯一明智的做法是检测 Firefox 浏览器,并采取相应措施。我这样做的方法是在我常见的“sitescripts.js”文件中创建一个javascript函数,如下所示......
function browserComment(browser, comment)
{
if(navigator.userAgent.toLowerCase().indexOf(browser) < 0) return;
if (comment == true) document.write("<!--");
else document.write("-->");
}
它的目的是允许我检测特定的浏览器,并添加 HTML 注释开始或注释结束。因此,接下来,在我的 HTML5 视频编码中,我将执行以下操作。请注意我如何使用上面的函数来检测 firefox,并在呈现页面时添加打开或关闭注释,方法是传递 true 或 false。
<video width="640" height ="480" controls poster="somePhoto.JPG">
<source src ="someVideo.mp4" type='video/mp4' > <!--cSafari / iOS 1st -->
<!-- firefox supports 'webm'... but doesn't work properly.
So I'll comment out the webm version -->
<script> browserComment('firefox', true ) </script>
<source src ="someVideo.webm" type='video/webm' > <!-- Firefox / Opera / Chrome -->
<script> browserComment('firefox', false ) </script>
<source src ="someVideo" type='video/ogg' > <!-- Firefox / Opera / Chrome -->
<!-- other code to invoke Flask player as a fallback -->
</video>
它有点难看,但至少它为其他浏览器保留了正确的视频源顺序,这些浏览器可以很好地处理 webm 文件,比如 Chrome。当 Mozilla 最终解决了这个问题时,可能是在遥远的星系中的 623.2 版本左右,我只需要改变我的 browserComment() 函数,开始考虑版本。