如何让 HTML5 视频使用 IE10 工作

Posted

技术标签:

【中文标题】如何让 HTML5 视频使用 IE10 工作【英文标题】:How do I get a HTML5 Video to work using IE10 【发布时间】:2013-03-16 09:19:32 【问题描述】:

我希望有人知道我可以做些什么来帮助我在本地 Intranet 上播放 html5 视频。

我的 Web 服务器 = Windows Server 2008 R2 Standard 64bit IIS 版本= IIS7

测试用户环境 = Windows 7 企业版

使用“谷歌浏览器”完美播放视频

使用“IE10”播放视频失败

我的html代码如下:

<!DOCTYPE html>
<html>
    <body>
        <video src="AccReadings.mp4"   preload controls>
        </video>
    </body>
</html>

我使用 IE10 的测试机可以播放 HTML5Rocks 视频 'http://craftymind.com/factory/html5video/CanvasVideo.html'

问候,

克里斯

【问题讨论】:

当您说“无法播放”时,您会收到错误消息吗? 【参考方案1】:

确保您将 Web 服务器设置为使用 MIME 类型 video/mp4 用于 .mp4。我不小心将 .mp4 设置为使用 MIME 类型video/mpeg,视频在 Chrome 中播放,但在 IE11 中没有。

您还需要确保视频使用 H264 视频编解码器和 AAC 音频编解码器

【讨论】:

我有一个 MIME 类型错误的视频(上传到 Amazon S3) (application/octet-stream)。 IE10 是唯一拒绝播放它的浏览器。将 MIME 类型更改为video/mp4(显然是 mp4 视频)后,IE10 开始播放。【参考方案2】:

我刚刚遇到了类似的问题,我自己的网站 HTML5 根本无法运行。没有错误信息,只是空白。

原因是 Windows7 N(欧盟 - 没有媒体播放器)。

安装 Windows Media Player 后,此问题(以及其他问题)已得到修复。 希望对你有帮助:)

【讨论】:

你,先生,是我的上帝!我已经为此苦苦挣扎了好几天,您的回答解决了我的问题。一个问题:以二进制的名义,你是怎么弄明白的? 这是一个糟糕的解决方案:-/您是否有一个弹出窗口告诉您的最终用户安装 WMP?【参考方案3】:

由于某种原因,它看起来在 Win7+IE10 中不起作用。其他一切看起来都不错。针对以下页面进行了测试,其中包括 ie.microsoft.com 测试。

http://ie.microsoft.com/testdrive/graphics/videoformatsupport/default.html http://www.w3.org/2010/05/video/mediaevents.html

Win7 IE9 - 好的

Win7 IE10 - 不

Win8 IE10 - 好的

Win7 IE11 - 好的

Win8 IE11 - 好的

MS 测试页面的 BrowserStack 屏幕截图。 http://www.browserstack.com/screenshots/9083c865675d0821ee8b1030a43da5fd36bff469

【讨论】:

【参考方案4】:

不过,根据caniuseit、mp4 is supported in IE9 and 10,我没有安装 IE10。

以下 html 在 IE9 和 Chrome 中适用于我,请注意您的视频文件必须与服务器上的 html 页面位于同一文件夹中(在此示例中)。

<!DOCTYPE html>
<html>
    <body>
        <video src="abc.mp4"   preload controls></video>
    </body>
</html>

编辑:我已经安装了 IE10 并且可以在那里确认上述工作。

编辑: 由于 Firefox 不支持 mp4,而且旧版浏览器根本不支持原生视频,因此最好提供多种来源(格式),然后回退,通常使用 Flash 播放器.

<!DOCTYPE html>
<html>
    <body>
        <video   preload controls>
            <!-- mp4 supported by Chrome & IE9/10 -->
            <source src="abc.mp4" type="video/mp4"></source>
            <!-- webm supported by Firefox -->
            <source src="abc.webm" type="video/webm"></source>

            <!-- last element in video is fall back for native video support, usually a flash player -->
            <object type="application/x-shockwave-flash ...>
                <!-- last element flash player is usual fall back for flash support, usually some "not supported text" -->
                <div>
                Your browser does not natively support flash and you do not have flast installed.
            </div>
            </object>
        </video>
    </body>
</html>

【讨论】:

GrayKing,感谢您的帮助。抱歉,花了这么长时间才回复您...如果对此线程有回复,我期待收到电子邮件通知。视频在 Chrome 中加载效果很好,因此路径对 MP4 来说看起来不错。我找到了一台装有 IE9 的机器,我发现它与 IE10 具有相同的白页(未注明错误)。 我把网站/页面放在另一台 Windows 服务器上;这是一台 32 位服务器,结果相同。最终我计划像你建议的那样添加后备,但我希望它首先与 IE10/IE9 一起使用。实际上我最终可能会使用 JWPlayer。 HTML5 视频测试是我试图找出 JWplayer 无法正常播放的原因的方法。它回退到 IE10 中的 Flash 播放器,但只播放音频,当点击全屏模式时,视频最终播放。全屏模式也在 Flash 模式下播放。我希望我能做到这一点。 听起来可能是 mp4 文件编码错误的问题。使用不同的文件是否会出现相同的行为? 我尝试了几个文件;我将一个文件发送到“JWPLayer”支持,当从他们的服务器(不是 IIS)提供服务时,它使用他们的播放器在 IE10 中播放良好似乎它必须是一个阻止 HTML5 视频的 IIS 设置,但我无法弄清楚它可能是什么。 哦,您是否已在 IIS 中将“video/mp4”作为 MIME 类型添加到站点中?默认情况下不存在。【参考方案5】:

你可能遇到了Cannot play neither IE10 HTML5 video nor Modern UI apps video中提到的显卡驱动问题。

在 IE 中禁用 GPU 渲染:

Internet 选项 > 高级 > 加速图形 > 使用软件渲染而不是 GPU 渲染

然后看看它是否有效。

【讨论】:

【参考方案6】:

我在 IE10 播放 html5 视频时遇到了很多问题。 我检查的最后一件事是正确的 oe:视频是 gzip 压缩的。 检查你的服务器配置!!!

编辑: 要知道您的视频是否被服务器压缩,请使用网络代理嗅探器,例如Charles,甚至是 IE 的调试器,并检查视频文件请求的响应标头。如果你找到Content-Encoding:gzip,那么你应该检查你的服务器配置。 在我的情况下,我必须在我的 .htaccess 文件中禁用视频文件的 gzip 压缩。

【讨论】:

我也有类似的问题,你能给我更多的信息吗?我应该在服务器上检查什么?【参考方案7】:

这是我用于 html5 视频的代码:

<div>
<video id="example_video_1" class="video-js vjs-default-skin"
controls preload="none"  
poster="path/to/image.png"
data-setup='"example_option":true, "autoplay": true'>
    <source src="path/to/video.ogv" type='video/ogg' />
    <source src="path/to/video.webm" type='video/webm' />
    <source src="path/to/video.mp4" type='video/mp4' />
    <!-- Flash Fallback. Use any flash video player here. Make sure to keep the vjs-flash-fallback class. -->
    <object class="vjs-flash-fallback"   type="application/x-shockwave-flash" data="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf">
        <param name="movie" value="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf" />
        <param name="allowfullscreen" value="true" />
        <param name="flashvars" value='config="playlist":["path/to/image.png", "url": "path/to/video.flv","autoPlay":false,"autoBuffering":true]' />
        <!-- Image Fallback. Typically the same as the poster image. -->
        <img src="path/to/image.png"    title="No video playback capabilities." />
    </object>
</video>

这应该适用于所有设备/浏览器。我已经按特定顺序调用了wideos,以允许现代浏览器更快地加载它们(chrome 可以播放ogg/webm/mp4 - 从测试我的视频ogg/webm 似乎可以更快地加载它们mp4,因此它会减少缓冲时间)

【讨论】:

【参考方案8】:

我遇到了完全相同的问题。我最初的视频分辨率是 1920x1200。似乎IE10有问题。使用较低分辨率视频的第一次测试解决了这个问题。

【讨论】:

以上是关于如何让 HTML5 视频使用 IE10 工作的主要内容,如果未能解决你的问题,请参考以下文章

HTML5 - mp4 视频无法在 IE9 中播放

HTML5 视频搜索

HTML5 视频搜索

HTML5 视频 |视频不受支持/文件类型无效 | IE

html5的视频插件支持哪些视频格式

如何使用带有本地文件的 HTML5 嵌入视频