问题是,它不播放扩展名为.mp4的视频文件. . .
更不寻常的是,如果我在本地测试,IE9将播放mp4视频,它只是不在服务器上播放,这也与MIME类型无关,我将以下MIME类型添加到服务器:
.mp4 – vIDeo.mp4
在IE开发人员工具的网络面板中,它列出的类型为“vIDeo / mp4”,唯一不寻常的是网络面板显示IE请求它3次(我不知道为什么会这样)
我正处于系绳的末端,以至于我实际上编写了下面的代码来尝试修复它(我真的很讨厌在现场网站上使用它,这太可怕了):
<!--[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将Flash视频用于不支持HTML视频的浏览器来修复它(而不是默认情况下这样做IE9似乎只显示一个空白框,没有错误信息,没有任何内容).不幸的是,这个解决方案太可怕了,我写起来几乎感到羞耻.
有人知道是什么原因引起的吗?或者我如何解决它?
编辑:不确定这是否有任何意义,但我使用http://www.freemake.com/free_video_converter/将@R_404_6532@为正确的格式
解决方法 我遇到了同样的问题.当你在本地运行HTML文件时,IE9会播放视频,但当你把它放在服务器上时它会停止工作.问题必须与视频文件有关.鉴于它在本地工作,你认为它不可能.但似乎是这种情况.当我在VIDeoJs网站( http://vjs.zencdn.net/v/oceans.mp4)下载示例视频文件并将其放入我自己的设置时,IE9播放它就好了.因此IE9在播放远程文件时会更加挑剔.当我弄清楚使IE9满意需要什么魔术参数时,我会更新这个答案.
更新:好的,我想我弄明白了.我花了一些时间来比较MP4文件和无效的MP4文件.在前者中,随机访问索引(“stss”atom)位于文件开头附近.在后者中,它位于文件的末尾.这两个位置都是合法的,但显然当IE9从网上下载文件时,IE9在文件末尾找不到它太愚蠢了.
解决方案是使用ffmpeg:qt-faststart附带的工具将随机访问索引移动到MP4文件的开头.
注意:我尝试了另一种工具:QTIndexSwapper.它似乎使文件损坏.
总结以上是内存溢出为你收集整理的HTML – IE9没有显示mp4视频?全部内容,希望文章能够帮你解决HTML – IE9没有显示mp4视频?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)