0

我有一个从某个外部站点下载的 mp4 视频。该视频在该教程站点中播放良好。但不在我的网站上。此问题仅在 ie9 浏览器中出现。

资源

<!DOCTYPE html>
<html>
<body>

<video width="320" height="240" controls>
  <source src="movie.mp4" type="video/mp4">
  <source src="movie.ogg" type="video/ogg">
  Your browser does not support the video tag.
</video>

</body>
</html>

我已经下载了mp4文件以及ogg对 ie9 不重要的文件。在以下链接中,视频运行良好。

http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_video_all

相同的来源和视频只有我正在使用,但视频没有播放。我也检查了权限。请帮我解决这个问题

4

3 回答 3

2

最后,我通过以下方式制作我的视频。

我通过使用Jef Rechardsnmaier的答案发现了问题。我遇到了两个问题

mpeg41)我的视频是用而不是编码的h264。所以我已经使用ffmpeg libx264 codec.

2)mime我的视频类型text/plain甚至被赋予了type="video/mp4"视频源。我通过在我的.htaccess文件中添加以下代码来添加 mime 类型

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

现在视频在ie9中播放良好

于 2013-09-05T12:40:01.567 回答
2

首先加载页面并按 F12 调出开发者工具,然后弹出控制台中的控制台选项卡,使用下面的脚本获取对视频对象的引用(如果视频元素不是第一个视频元素,那么您将需要调整数组值)。

document.getElementsByTagName("video")[0].error.code 返回的代码让你知道出了什么问题,

MEDIA_ERR_ABORTED : 1 媒体资源的获取过程被用户中止。MEDIA_ERR_DECODE : 3 在媒体资源被建立为可用后,解码发生错误。MEDIA_ERR_NETWORK : 2 网络错误导致用户代理停止获取媒体资源,在建立资源可用后 MEDIA_ERR_SRC_NOT_SUPPORTED : 4 src 指定的媒体资源不可用。在 IE9 中,如果您收到错误代码 4,则有两个常见问题:

不正确的编码

如果用户的机器上安装了编解码器,IE9 支持 MP4 容器中的 H.264 和 WebM。要支持 IE9,您需要确保已正确编码视频。对于 H.264 视频,我使用 Miro(Windows 上包含 FFMPEG 的 .net 应用程序),或者如果我想要特定的基线或设置,我使用 Expression Encoder。

目录

您是否将媒体文件放在包含此 html 的同一目录中?如果没有,请设置文件的正确路径。

MIME 类型

您需要确保服务器在返回文件时返回正确的 MIME 类型。如果文件是 MP4,那么文件的 MIME 类型应该是 video/mp4。如果要检查 MIME 类型,请使用 F12 开发人员工具(在 IE9 中按 F12),然后导航到网络选项卡。按开始捕获并刷新网站。

祝你好运

于 2013-09-03T09:59:59.623 回答
1

好的,这只是猜测,但为了播放 html5 视频,服务器需要使用正确的 MIME 提供文件,否则 IE9(和其他浏览器)将拒绝这些文件。

MSDN

从 Internet Explorer 9 开始,任何音频或视频内容都需要在服务器上设置正确的 mime 类型,否则文件将无法播放。

MDN

如果服务器上未正确设置视频的 MIME 类型,则视频可能不会显示或显示包含 X 的灰色框(如果启用了 JavaScript)。

于 2013-09-03T09:59:02.637 回答