1

我在 .html 文件中有以下内容:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Testing</title>
</head>
<body>
    <video id="0" controls width="502" height="479">
        <source src="vid1.webm" type='video/webm'>
        <source src="vid1.mp4" type='video/mp4'>
        <p>Video is not visible, most likely your browser does not support HTML5 video</p>
    </video>
</body>
</html>

当我在 IE9 中打开 html 文件时,我看到了视频并且可以播放,没问题。

现在,我在本地 IIS 7.5 上托管的站点中运行的网页中有相同的 html。当我查看网页时根本没有显示视频,页面是空白的。我在 web.config 文件中添加了以下内容:

<system.webServer>
    <staticContent>     
      <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
      <mimeMap fileExtension=".webm" mimeType="video/webm" />
      <mimeMap fileExtension=".ogv" mimeType="video/ogg" />
    </staticContent>

当我在 IIS 中查看网站设置中的 MIME 类型时,以上所有内容都列出了,因此将它们提取出来没有问题。

我现在被卡住了;不明白为什么 IE9 不能播放视频。FireFox 和 Chrome 都可以毫不费力地显示视频,那么为什么(再一次)IE 必须是奇怪的呢?:)

有人可以帮帮我吗?

编辑:针对 Bart 的评论,这是我请求页面时的分析器输出:

http://localhost/Rest/test.html GET 304 text/html  161 B    < 1
/Rest/vid1.mp4  GET 200 video/mp4   32.24 KB    125 ms
/Rest/vid1.mp4  GET 206 video/mp4   80.91 KB    15 ms
/Rest/vid1.mp4  GET 200 video/mp4   144.20 KB   1.04 s

编辑:

我检查了 MP4 的格式。基本上,我使用 Freemake 将 AVI 文件转换为 MP4,使用默认预设“Same a source : H.264, AAC original size”。据我所知,MP4 文件是 H.264 格式。

正如我所提到的,IE9 在打开 HTML 文件时会显示该文件,但在 IIS 下运行时,它不喜欢它。

编辑我按照这篇文章中给出的说明进行操作:http: //blogs.msdn.com/b/thebeebs/archive/2011/07/20/html5-video-not-working-in-ie9-some-tips-to- debug.aspx从视频元素中转储出任何错误代码。这是我得到的:

MEDIA_ERR_DECODE 3

人们倾向于将此反映为

在将媒体资源确定为可用后,解码媒体资源时发生某些描述错误。

有谁知道我应该怎么做?

4

1 回答 1

1

您可能没有在 IIS 中设置 mime 类型。在 IIS 提供视频、pdf 等内容之前,您必须手动设置文件类型。这是安全最佳实践。

于 2013-11-04T20:10:21.613 回答