IE9 HTML5视频支持

时间:2011-10-27 08:25:17

标签: html5 video internet-explorer-9

我在IE9中显示HTML5视频时遇到了一些麻烦,我在htaccess中添加了不同的类型

AddType video/ogg .ogv
AddType video/mp4 .mp4
AddType video/webm .webm

这就是我所拥有的html

<video id="video" autoplay loop preload>
            <source src="video/final_loop.mp4" type="video/mp4" />
            <source src="video/final_loop.webm" type="video/webm" />
            <source src="video/final_loop.ogg" type="video/ogg" />

            Your browser does not support the <code>video</code> element. 
        </video>

我也尝试将视频转换为Theora ogv格式并使用

<source src="video/final_loop.theora.ogv" type="video/ogv" />

但这也不起作用,我认为.ogg在IE9中得到了支持吗?

7 个答案:

答案 0 :(得分:8)

Internet Explorer 9使用H.264编解码器支持MPEG4。但它还要求文件一开始下载就可以开始播放。

以下是如何制作在IE9中工作的MPEG文件的基本步骤(在Ubuntu上使用avconv)。我花了很多时间才弄明白,所以我希望它可以帮助别人。

  1. 使用H.264编解码器将视频转换为MPEG4。你不需要任何花哨的东西,只需让avconv为你完成这项工作:

    avconv -i video.mp4 -vcodec libx264 pre_out.mp4
    
  2. 此视频适用于所有支持MPEG4的浏览器,IE9除外。要添加对IE9的支持,您必须将文件信息移动到文件头,以便浏览器可以在开始下载后立即开始播放。这是IE9的关键!!!

    qt-faststart pre_out.mp4 out.mp4
    
  3. qt-faststart是一个Quicktime实用程序,也支持H.264 / ACC文件格式。它是libav-tools包的一部分。

答案 1 :(得分:5)

您是否尝试在IIS上使用此功能?

如果是这样,您必须添加适当的mime类型以识别您的视频文件:

<configuration>
  <system.webServer>
    <staticContent>
      <!-- Video -->
      <mimeMap fileExtension=".mp4" mimeType="video/mp4"/>
      <mimeMap fileExtension=".webm" mimeType="video/webm"/>
    </staticContent>
  </system.webServer>
    <system.web>
        <compilation debug="true" targetFramework="4.0" />
    </system.web>

</configuration>

这是一些适用于IE9的标记(在根文件夹中,我的文件有一个“视频”文件夹):

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>Video Demo</title>    
    </head>
    <body>
        <video id='movie'
            autoplay 
            controls
            loop 
            preload=auto
            playbackRate="1"
            width="800">
                <source src="video/video.mp4" type='video/mp4' /> 
                <source src="video/video.webm" type='video/webm' />
        </video>
    </body>

</html>

答案 2 :(得分:1)

正如其他人所提到的,IE9不支持OGV,只支持MP4和WebM(带插件)。我发现在为IE9提供MP4文件时要考虑的一件事是MP4文件本身嵌入的文件元信息,即使MP4本身也应该播放,我遇到了很多麻烦。如果它位于文件的末尾,包括ffmpeg在内的某些编码器放置它,IE9将不会开始播放视频,除非整个视频文件已下载。将moov原子元数据重新定位到文件的开头可以逐步下载MP4文件,IE9可以很好地处理视频。

有一个名为qt-faststart的工具可以执行此操作。为我工作的奇迹,编译和使用与ffmpeg一起分发的Linux命令行版本。

make tools/qt-faststart
sudo cp tools/qt-faststart /usr/local/bin/
qt-faststart original_file.mp4 modified_file.mp4

答案 3 :(得分:1)

请参阅this页面;它提供了IE9海报问题的解决方案,并扩展了视频编解码器:

一些简单的CSS和条件语句就可以了。我现在认为海报应该放在视频的开头(第一帧)和结束(最后一帧),好像它们是专辑封面。通过这种方式,视频开头和结尾的图像将为观众提供一些视觉概念,说明他们应该播放视频的原因(就像你购买专辑的原因有时是因为封面)。

答案 4 :(得分:1)

请注意,对于IE9,视频源必须在&#39; src&#39;视频标签本身的属性。

我建议您专门检测IE9并将该属性添加到视频标记中。你需要专门为IE9做这件事,因为OSX上的Firefox不能接受src标签中的MP4视频文件。

希望它有所帮助!

答案 5 :(得分:0)

答案 6 :(得分:-2)

在微软官方网站上,IE9上的视频代码片段

<video width="400"
    height="300"
    src="video.mp4"
    poster="frame.png"
    autoplay
    controls
    loop>
    This content appears if the video tag or the codec is not supported.
 </video>

尝试使用此代码。