代码之家  ›  专栏  ›  技术社区  ›  jono_hayward

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

  •  9
  • jono_hayward  · 技术社区  · 11 年前

    因此,我正在将一个非常重视频的项目与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的开发工具中,我可以看到它获得了一种视频/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音频。

    有人能看出我在做什么吗?我很想能够发布一个示例视频,但由于隐私原因,我无法发布。尽管如此,任何帮助都将非常感谢。

    4 回复  |  直到 11 年前
        1
  •  6
  •   jono_hayward    11 年前

    所以这有点尴尬,但我最终还是弄明白了。

    问题不在于Internet Explorer,而是我用来运行Windows的VM 测试 Internet Explorer。

    本质上,我在VirtualBox VM中运行Windows 7。当我(绝望地)找到一台运行Windows的实际物理机器时。。。瞧,它演奏了!

    我只能假设VirtualBox提供的视频驱动程序不喜欢解码MP4之类的东西。视频在其他浏览器中播放得很好,但我猜它们解码/呈现视频的方式与IE不同。

        2
  •  2
  •   Michael Bar-Sinai    7 年前

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

        3
  •  0
  •   Andre Oliveira    6 年前

    OP是个天才。我在这个问题上挣扎了好几天,今天只能在windows机器上测试。这导致我改变了Parallels Desktop v15的配置。

    我在Windows 8.1上运行IE 11,并在 Graphics > Resolution > Advanced settings > Vertical synchronization 应该是 勾选,勾选 .

    也许这会帮助其他人。

    enter image description here

        4
  •  0
  •   Steffen Wenzel    5 年前

    也许值得一试:在VMWare Fusion中重新启动Windows 7为我解决了这个问题。