2012-07-12 127 views
1

我有一个.html文件如下:为什么IE9不能通过IIS播放视频,而是在查看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类型,以上所有都列出来,因此它拿起来没有问题。

我被卡住了,因为我可以; t看看为什么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,使用默认预设“相同来源:H.264,AAC原始大小”。据我所知,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

人们往往反映这是

在解码媒体 资源,建立了资源后发生的一些描述错误可用。

有没有人知道我应该做什么来应对这个问题?

+0

您是否在浏览器中检查了MIME类型? – 2012-07-12 13:53:33

+0

看到http://stackoverflow.com/questions/6944679/html5-mp4-video-does-not-play-in-ie9 – 2012-07-12 13:59:48

+0

我有这样的问题在Safari上,当服务器没有适当的mimetype这样的文件。但是,例如Chrome会播放它,因为它能够理解来自流的mimtype,并且不依赖服务器发送的mimtype。不要依赖Profiler的输出,最好是手动检查服务器的配置 – haynar 2012-07-12 14:02:39

回答

1

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

+0

感谢您的回复。不幸的是,我已经离开了这个项目,上面的问题与此有关。但是,现在我还有其他事情可以检查这类问题是否再次出现。谢谢:) – 2013-11-05 08:25:35

+0

我有Mime类型设置,但Chrome浏览器不会正确地寻求前进。似乎我需要一个HTTP 206头,但不知道如何强制它。 – PeterX 2015-07-06 07:13:29