MP4 video will not play in Internet Explorer 11

So I'm putting together a very video-heavy project with self-hosted videos in HTML5. I've got my videos encoded in both H.264/AAC MP4 and WebM formats, and they work beautifully in Chrome, Firefox, Safari, Mobile Safari etc. All good.

This is the most basic version of my code (in the production site I'm running it with VideoJS on top, however whether it's there or not, this problem occurs so I've removed the code for it from this example):

<video preload="true" width="720" height="406" controls="true">
    <source src="/55.mp4" type="video/mp4">
    <source src="/55.webm" type="video/webm">   
</video>

But Internet Explorer refuses to play ball. When I load up the page in IE 11, I just get a video decoding error:

当我尝试在IE11中加载视频时出错

In Internet Explorer's developer tools, I can see that it's getting a content type of video/mp4, and just to completely eliminate server issues I've tried it on both my local Apache install and my web hosting. If I use the console to get the playback error, I get MEDIA_ERR_DECODE : 3 , which, according to the site I just linked to, means

An error has occurred in the decoding of the media resource, after the resource was established to be usable.

This tells me that there's a problem with the video encoding... but I can't see it.

The video files were originally exported as QuickTime videos from Adobe Premier or Final Cut Pro (I'm not sure which the video guy uses), and then run through Miro Video Converter to output MP4 and WebM formats. When I open the MP4 files up in VLC, it shows me the following information about the codecs in use:

我的视频文件的编解码器详细信息

I can't see anything wrong there; it looks exactly like every reference I've found online says MP4 video should be for maximum compatibility - H.264/AVC video and AAC audio.

Can anyone see anything wrong with what I'm doing? I'd love to be able to post an example video, however I can't due to privacy reasons. All the same any help would be greatly appreciated.


So this is somewhat embarrassing, but I did eventually figure it out.

The problem wasn't so much with Internet Explorer as it was the VM I was using to run Windows to test in Internet Explorer.

Essentially, I was running Windows 7 inside of a VirtualBox VM. When I (in desperation) sought out an actual physical machine running Windows... lo and behold it played!

I can only assume that the video drivers provided by VirtualBox didn't like decoding MP4 or something. The videos played fine in other browsers, but I'm guessing they decode/render video differently to how IE does.

链接地址: http://www.djcxy.com/p/81200.html

上一篇: 你如何在apache spark工作中执行阻塞IO?

下一篇: MP4视频将无法在Internet Explorer 11中播放