在Internet Explorer 11中无法播放MP4视频

9
我正在制作一个视频比较多的项目,其中包含自托管 HTML5 视频。我已经将我的视频编码为 H.264/AAC MP4 和 WebM 格式,并且它们在 Chrome、Firefox、Safari、Mobile Safari 等浏览器中运行良好。这是最基本版本的代码(在生产网站中,我会在 VideoJS 上使用它,但无论是否使用该代码,此问题都会发生,因此我已从此示例中删除了该代码)。
<video preload="true" width="720" height="406" controls="true">
    <source src="/55.mp4" type="video/mp4">
    <source src="/55.webm" type="video/webm">   
</video>

但是Internet Explorer不肯合作。当我在IE 11中加载页面时,我只会得到一个视频解码错误:

Error when I attempt to load the video in IE11

在Internet Explorer的开发者工具中,我可以看到它得到了video/mp4的内容类型。为了完全消除服务器问题,我已经在本地Apache安装和我的Web托管上都尝试过。如果我使用控制台获取playback error,我会得到MEDIA_ERR_DECODE : 3,根据我刚刚链接到的网站,这意味着

在可用性确认后,媒体资源的解码出现错误。

这告诉我视频编码存在问题...但是我看不到问题所在。
视频文件最初是从Adobe Premier或Final Cut Pro(我不确定视频人员使用哪个)导出为QuickTime视频,然后通过Miro Video Converter转换为MP4和WebM格式。当我在VLC中打开MP4文件时,它向我显示有关正在使用的编解码器的以下信息:

Codec details for my video files

我看不出有什么问题;它看起来与我在网上找到的每个参考资料都说的一样,MP4视频应该是为了最大的兼容性 - H.264/AVC视频和AAC音频。
有人能看到我做错了什么吗?我很想能够发布一个示例视频,但由于隐私原因我不能。尽管如此,任何帮助都将不胜感激。

没有人回答。这个问题没有答案。 这是互联网浏览器的许多不可思议之一,即使在最新版本中也是如此...我们永远不会知道为什么。我们只能相信,有一天,远离现在,这件事情(和许多其他事情)将神奇地消失。为什么?为什么你可以在任何其他浏览器上播放视频文件而不会有任何特别的惊喜,但在IE11上却不能呢?为什么? - taseenb
其实我有一个答案,只是忘了这篇文章。谢谢你的提醒! - jono_hayward
4个回答

6
这有点尴尬,但我最终还是解决了问题。
问题不在于Internet Explorer本身,而是我用来运行Windows并在其中测试IE的VM。
实际上,我是在VirtualBox VM中运行Windows 7。当我(不得已)寻找一个真正的物理机器来运行Windows时……它竟然播放了!
我只能假设,由VirtualBox提供的视频驱动程序不喜欢解码MP4或其他东西。这些视频在其他浏览器中都可以正常播放,但我猜测它们对视频的解码/渲染方式与IE不同。

5
为了其他人的健康,我也遇到了同样的问题,但事实证明并不是因为我在VirtualBox中运行IE。我从互联网上拖到另一个MP4文件却能正常播放。在我的情况下,我需要使用Handbrake重新编码文件,并选择“Windows Phone 8”预设。 - djskinner

2

最近我在MacOS上运行Windows7的VirtualBox时遇到了同样的问题。通过在有问题的虚拟机的“显示”设置中启用3D加速来解决。


0

楼主真是个天才。我为同样的问题苦苦挣扎了几天,今天才得以在 Windows 机器上测试。这导致我改变了 Parallels Desktop v15 的配置。

我在运行 Windows 8.1 上使用IE 11,并在 图形 > 分辨率 > 高级设置 > 垂直同步 中把勾选去掉。

也许这能帮助其他人。

enter image description here


0
也许值得一试:在VMware Fusion中重新启动Windows 7对我有用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接