并非所有webm文件都在firefox中播放

时间:2013-03-17 19:28:36

标签: html5 firefox video webm

我使用Miro Video Converter和FreeMakeVideo Converter编写了webm视频,结果相同:一些webm视频在Firefox中播放,而其他视频标签则嵌入了html5视频标签。

在Chrome中,他们都能正常播放。

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

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

没有任何区别。一些webm文件播放正常,而其他文件根本不播放。

如果我直接在Firefox中打开webm文件,那么一切正常,但在视频标签中只有部分工作正常。

任何想法?????

2 个答案:

答案 0 :(得分:1)

我知道这个问题已经过时了,但实际上我前几天遇到了这个问题,我想我会回答任何遇到同样问题的冒险家。

这是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文件并选择打开它,因为它可以支持它。从那以后就没有问题了。

希望这有助于某人...

答案 1 :(得分:0)

我也会在这里添加2¢。我今天刚刚遇到这个问题。随着Firefox现在版本33(!),Firefox对webm做了“某事”,但肯定没有做正确的事情。 (我在这里开始讨论它...... Trouble getting HTML5 vidio to play, in Firefox 33

但最重要的是,这是Firefox问题的另一个案例,可能需要数年才能解决。但是我离题了...... IS 是一个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()函数,开始考虑该版本。