我有一个带有标签的网页,上面有以下标记:
<video width="456" height="360" controls autoplay>
<source src="Movies/Intro.mp4" type="video/mp4" />
<source src="Movies/Intro_H264.webm" type='video/webm; codecs="vp8.0, vorbis"'/>
<source src="Movies/Intro_H264.ogg" type='video/ogg; codecs="theora, vorbis"'/>
</video>
如果我在IE10中访问此页面,它会呈现视频播放器,但会显示错误消息:“错误:不支持的视频类型无效文件路径”
但奇怪的是,如果我右键单击视频框并选择复制视频URL,然后在IE中打开一个新选项卡并粘贴到它播放的视频文件(Movies/Intro.mp4
)的直接URL在浏览器中没有问题。
此外,我可以使用Chrome访问该页面,它可以毫无问题地从网页上播放MP4视频。所有这一切,我认为视频文件本身或编码没有任何问题,但是为什么IE 10不在播放标签时播放视频,但它是在直接请求视频时播放的?
任何见解?
由于
答案 0 :(得分:8)
我会检查是否为文件正确返回了mime-type。
无论返回的MIME类型如何,Chrome都能正常播放。
检查:
答案 1 :(得分:3)
我在IE 11中遇到了同样的问题,问题是内容类型是csmith所说的application / octect-stream。我从Azure存储服务我的视频,显然这是默认的内容类型。
您可以使用Azure存储或使用Azure api更改类型,如帖子
中所示Set Content-type of media files stored on Blob
以下是亚马逊云上人们的指南(我没有测试过)
答案 2 :(得分:2)
确保将Web服务器设置为使用MIME类型video / mp4 for .mp4。我不小心设置.mp4使用MIME类型视频/ mpeg,视频在Chrome中播放,但在IE11中播放。
答案 3 :(得分:1)
我有同样的问题,这是一个真正的痛苦的屁股。我的解决方案实际上非常简单(在互联网上搜索了大约4个小时后)。
将此行(特定于IE)添加到.htaccess
文件中。
AddType video/mp4 .mp4 .m4v
答案 4 :(得分:0)
当您将URL粘贴到浏览器时,它不再使用HTML5播放器,因此它并不表示它确实是受支持的文件;只是文件路径应该有效。
根据维基百科,IE10支持(不仅)H.264用于视频和AAC用于音频 - 这些是mp4容器的常见格式。 Chrome的支持范围更广(video-和audio-明智)。
问题在于Intro.mp4文件可能完全具有不同的格式(文件可以通过重命名或使用不支持的格式创建)。
我会使用properties-&gt;详细信息或第三方程序(例如媒体信息)查看该文件。
我不认为这是IE10的问题。我发现的唯一类似的是当用户使用不受支持的编解码器格式过于具体时([...] type ='video / mp4; codecs =“H.264,AAC”'[...])
答案 5 :(得分:0)
现在,在亚马逊s3上为您的视频更新mime类型非常容易,
只需登录并导航到您的文件,在您将看到元数据的首选项下,您可以编辑内容类型
保存并重新加载页面。
答案 6 :(得分:0)
如果在将.mp4
URL放入浏览器时直接播放,请确保它没有使用您可能安装的Quicktime插件(特别是如果您使用iTunes)。右键单击成功播放的视频以排除该问题。如果它出现与Quicktime相关的菜单项,您可能需要在adins中禁用Quicktime插件并继续进行故障排除。