2012-09-06 147 views
4

IE9让我对它支持HTML5视频感到愤怒,据我了解,它支持H.264编解码器,所以任何扩展名为.mp4的文件都可以。IE9不显示mp4视频?

问题是,它没有播放扩展名为.mp4的视频文件。 。 。

更加不寻常的是,如果我在本地测试它,IE9将播放mp4视频,它只是不会在服务器上播放它,这也与MIME类型无关,我添加了以下MIME类型服务器:

约会专家 - video.mp4

并在IE开发工具网络面板,它的上市它的类型为“视频/ MP4”的唯一不寻常的是,网络面板显示IE要求它3次(我不知道为什么这可能是)

我在我的系绳的末尾,以至于我实际上写了代码belo w至试图修复它(我真的很讨厌用这个上线的站点,它的可怕):

<!--[if !IE 9]><!--> 
     <video controls="controls"> 
<!--<![endif]--> 

<!-- This is a horrible way to do this, but I cannot figure out for the life of me why IE9 won't play this video :(--> 
<!--[if !IE 9]><!--> 
    <source src="video.ogv" type='video/ogg; codecs="theora, vorbis"'/> 
    <source src="video.mp4" type="video/mp4"> 
<!--<![endif]--> 

<!-- If HTML5 video is not supported, the following Flash video will play --> 
<p>flash video stuff is here</p> 

<!--[if !IE 9]><!--> 
     </video> 
<!--<![endif]--> 

这迫使IE9使用闪光灯视频不支持HTML视频的浏览器修复它(而不是默认IE9似乎显示一个空白框,没有错误信息,没有任何东西)。不幸的是,这个解决方案太可怕了,我几乎惭愧地写下了它。

有谁知道可能是什么原因造成的?或者我可以如何解决它?

编辑:不知道这是任何意义的,但我用http://www.freemake.com/free_video_converter/将文件转换为正确的格式

回答

1

我还完全不知道是什么造成了这一点,我花了很多时间挖掘和挖掘,并在最后问别人尝试在他们的IE9版本中,出于某种原因,它在他们的计算机上工作,而不是我的。

我不完全知道为什么,我只是把它记在我的版本IE9的以某种方式被打破(这是令人沮丧的考虑到我花了多少时间尝试理清了这一点!)

+1

我在SO上的其他地方发布了相同的线程,除了我的mp4不适用于任何人的IE9。我也表达了同样的结论,IE9是微软无法或不愿意修复的可怕破解浏览器。 – Rob

+0

告诉我这件事,我浪费了几个小时试图解决这个问题,甚至不是第一次浪费时间处理似乎无法解决的IE错误。 。 。 – Sean

4

我遇到了同样的问题。当您在本地运行HTML文件时,IE9会播放视频,但当您将它放到服务器上时,它会停止工作。问题必须与视频文件有关。考虑到它在本地工作,你会认为它不可能。但似乎是这样。当我在VideoJS网站(http://vjs.zencdn.net/v/oceans.mp4)下载示例视频文件并将其放入我自己的设置中时,IE9可以很好地播放它。因此,IE9在播放远程文件时更加挑剔。

我会更新这个答案,当我找出需要什么魔术参数才能使IE9开心。

更新:好的,我想我想通了。我花了一些时间比较与不起作用的MP4文件。在前者中,随机访问索引(“stss”atom)位于文件的开头附近。在后者中,它位于文件的末尾。这两个位置都是合法的,但显然IE9在文件的最后从网上下载文件时太愚蠢了。

解决方法是使用ffmpeg附带的工具将随机访问索引移动到MP4文件的开头:qt-faststart

注:我试过另一个工具:QTIndexSwapper。它似乎让文件损坏。

+0

感谢您的回答,即使这是一个老问题,我从来没有设法找到一个适当的解决方案!不幸的是,这个问题对我来说已经不再重要了(这个代码所在的网站已经发生了很大的变化),所以我无法测试你的答案,但是如果其他人发现这个问题有帮助的话,请在下面进行介绍,我很乐意标记这个作为接受的答案。 – Sean