3

我使用 Miro Video Converter 和 FreeMakeVideo Converter 对 webm 视频进行了编码,结果相同:一些 webm 视频在 Firefox 中播放,而另一些在嵌入 html5 视频标签时不会。

在 Chrome 中,它们都可以正常播放。

在我的 Apache 配置中,我添加了: AddType video/webm .webm

我还添加了一个相同的 .htaccess 文件:AddType video/webm .webm

没有任何区别。一些 webm 文件可以正常播放,而另一些则根本无法播放。

如果我直接在 Firefox 中打开 webm 文件,它们都可以正常工作,但在视频标签中只有一些可以正常工作。

有任何想法吗?????

4

2 回答 2

4

我知道这个问题很老,但实际上我前几天才遇到这个问题,我想我会为遇到同样问题的任何未来冒险者回答这个问题。

这是 Firefox 中的一个已知问题。有时,它只是不想播放 webm 文件。我不知道为什么,我没有费心去弄清楚。我能够通过切换源标签的顺序来解决这个问题。

我以前是这样的:

<source src="myVideo.webm" type="video/webm">
<source src="myVideo.mp4" type="video/mp4">
<source src="myVideo.ogv" type="video/ogv">

就这样,firefox 来了,先看到了 webm,然后选择了尝试和 opne。一些问题导致它无法播放,但由于它支持该格式,它还是使用了该源。为了解决这个问题,我做了以下事情:

<source src="myVideo.ogv" type="video/ogv">
<source src="myVideo.mp4" type="video/mp4">
<source src="myVideo.webm" type="video/webm">

这样,当firefox读取源代码时,它首先会看到ogv文件并选择打开它,因为它可以支持它。从那以后就没有问题了。

希望这可以帮助某人...

于 2014-02-10T21:58:30.170 回答
0

我也会在这里加我的 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() 函数,开始考虑版本。

于 2014-12-13T01:41:28.700 回答