HTML5视频在chrome中播放,但不在IE9中播放

HTML5视频在chrome中播放,但不在IE9中播放,html,internet-explorer-9,html5-video,Html,Internet Explorer 9,Html5 Video,我已经尝试了你在互联网上和这里能找到的所有关于编码、htaccess和视频元素标记的混合物,但我无法让这些视频在IE9中播放,因为它们在Chrome中工作得很好。有人知道用魔法仙尘来让它工作吗?IE中显示的只是一个中间有红色x的黑匣子。下面是指向测试页面的链接:(链接已删除) 请注意,我显示了两个视频和两种不同的标记。一种是直接从马克·帕里格林的书中复制的视频类型。第一个视频是用miro编码的。第二个是ffmpeg。我确实在该视频目录的htaccess中包含了“AddType video/mp4

我已经尝试了你在互联网上和这里能找到的所有关于编码、htaccess和视频元素标记的混合物,但我无法让这些视频在IE9中播放,因为它们在Chrome中工作得很好。有人知道用魔法仙尘来让它工作吗?IE中显示的只是一个中间有红色x的黑匣子。下面是指向测试页面的链接:(链接已删除)

请注意,我显示了两个视频和两种不同的标记。一种是直接从马克·帕里格林的书中复制的视频类型。第一个视频是用miro编码的。第二个是ffmpeg。我确实在该视频目录的htaccess中包含了“AddType video/mp4.mp4”

无论我尝试了什么,也不管ffmpeg的预设组合是什么,似乎都不管用。我不想听到关于javascript库或任何其他库的建议

EDIT1:

在看到下面@heff的测试页面后,我的问题似乎与我的主机HostGator有关,HostGator的支持团队拒绝了我,他们不支持使用HTML5的网页设计工作。我还对IE9中的HTML5音频使用其他浏览器和其他web主机中的音频和标记存在问题。我不知道我的问题是否与主机有关,但我倾向于这样认为,并将考虑与其他主机进行测试

我在互联网上看到了很多与我类似的问题,我想知道他们是否和我有同样的主机问题

EDIT2:

我使用Apache和FreeBSD(HostGator使用Centos)将视频和完全相同的网页放在办公室的本地服务器上。视频在IE9中播放得很好

EDIT3: 所以我让“巴克兔叔叔”去工作了。这是我下载的著名MP4。我不知道它为什么会起作用,但我想我用的是和他们一样的编码器。他们必须拥有其他人所没有的魔法仙尘

EDIT4: 任何人都可以复制我的视频和标记,并使其在非HostGator主机上工作吗

EDIT5: 因此,IE9似乎正在下载mp4视频,但只是没有播放它们或在显示红色“x”时显示控件。我原本以为这些视频根本不是从他们的开发工具向我展示的网站上下载的。还不知道该怎么办。当我重新加载页面时,我确实看到控件闪烁

EDIT6:已解决 正如我在别处暗示的那样,解决方案在于编码。我不知道有什么不同,但我是通过使用ffmpeg的编码方法实现的。我的答案如下所示


正如我也说过的,没有其他浏览器与我使用的内容有任何问题。

似乎不支持用于编码视频的编解码器

在mediainfo的结果中,没有什么能让我突出,所以我把它运行了一遍,结果在IE9中对我有效。(第一个是Zencoder,第二个是您的原创)

充分披露:我是Zencoder的共同创始人。Zencoder不是免费服务,也不是一次性视频编码。它旨在通过API自动编码

这让我相信文件中可能存在IE9无法处理的腐败。Zencoder修复了许多潜在的损坏,并强制实现某些兼容性。您也可以尝试使用手刹,但也只使用FFmpeg/x264 afaik

在Zencoder中,我使用了,并且没有更改任何默认设置

{
  "input": "http://spartantheatre.org/video/test1.mp4"
}
如果您想进一步检查,这里是test1.mp4的mediainfo结果

$ mediainfo test1.mp4 
General
Complete name                    : test1.mp4
Format                           : MPEG-4
Format profile                   : Base Media
Codec ID                         : isom
File size                        : 21.6 MiB
Duration                         : 2mn 14s
Overall bit rate                 : 1 348 Kbps
Writing application              : Lavf53.13.0

Video
ID                               : 1
Format                           : AVC
Format/Info                      : Advanced Video Codec
Format profile                   : Baseline@L3.0
Format settings, CABAC           : No
Format settings, ReFrames        : 1 frame
Codec ID                         : avc1
Codec ID/Info                    : Advanced Video Coding
Duration                         : 2mn 14s
Bit rate mode                    : Variable
Bit rate                         : 1 200 Kbps
Width                            : 480 pixels
Height                           : 320 pixels
Display aspect ratio             : 3:2
Frame rate mode                  : Constant
Frame rate                       : 29.970 fps
Color space                      : YUV
Chroma subsampling               : 4:2:0
Bit depth                        : 8 bits
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.261
Stream size                      : 19.1 MiB (89%)
Writing library                  : x264 core 118 r2085 8a62835
Encoding settings                : cabac=0 / ref=1 / deblock=1:0:0 / analyse=0x1:0x111 / me=umh / subme=8 / psy=0 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=0 / weightp=0 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=50 / rc=abr / mbtree=0 / bitrate=1200 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / vbv_maxrate=10000 / vbv_bufsize=10000 / nal_hrd=none / ip_ratio=1.40 / aq=1:1.00
Language                         : English

Audio
ID                               : 2
Format                           : AAC
Format/Info                      : Advanced Audio Codec
Format version                   : Version 4
Format profile                   : LC
Format settings, SBR             : No
Codec ID                         : 40
Duration                         : 2mn 14s
Bit rate mode                    : Variable
Bit rate                         : 150 Kbps
Maximum bit rate                 : 160 Kbps
Channel(s)                       : 2 channels
Channel positions                : Front: L R
Sampling rate                    : 48.0 KHz
Stream size                      : 2.40 MiB (11%)
Language                         : English
干杯,

-heff

编辑:如我在上面编辑的问题中所述,我找到了解决方案。仅当按所示顺序放置时,以下操作才有效:

ffmpeg  -i <infile> \
        -vcodec libx264 -vpre normal \
        -acodec libfaac \
        -threads 0 <outfile>.mp4
ffmpeg-i\
-vcodec libx264-vpre-normal\
-acodec libfaac\
-线程0.mp4
原始答案:

我花了几个星期的时间试图让它工作,但没有结果。在网上搜索时,我看到无数其他人也在为此挣扎。我还没有找到一个人可以让它工作并展示它是如何工作的(除了使用@heff这里使用的特殊工具)

我无法在微软自己的论坛和文章中找到任何回应。我找不到可能导致问题的编码。我发现无数的帖子都是以同样的方式开始的…没有解决方案

所以答案很简单。IE9坏了。但我们都知道这一点。这是世界上最糟糕的浏览器。虽然微软声称它可以处理像这样的视频文件,但在其他浏览器没有任何问题的情况下,它却未能做到这一点


因此,除非有人来提供指导,否则我会接受这个答案,因为它是最好的答案。微软肯定不能也不会提供更好的文件类型。

IE无法识别文件类型。尝试将其添加到.htaccess文件: AddType视频/mp4.m4v
AddType video/mp4.mov

我也有这个问题,但结果证明问题不在于mime类型或视频编码。我用手刹对视频进行编码,它选择AC3作为音频曲目的预设,而不是AAC。用AAC重做后,一切都正常了。

我也遇到了同样的问题,但我认为这是一个时间问题,我希望能很容易地解决

在我的例子中,我的HTML页面有一个没有指定源子元素的元素

<audio id="audio" controls="controls"/>
Chrome对此很满意,IE9则不然。似乎IE在有机会完全下载音频文件之前就尝试识别了它

修复方法就是在将文件分配到音频源之前,立即对其执行get,从而预加载文件

var soundFileUrl='http://mysite.com/audioFile.mp3'; 
$.get(soundFileUrl, function(){
 audio_core=$('#audio').attr('src', soundFileUrl)[0];
 audio_core.play()
});

似乎有效。

您是否使用H.264编解码器而不是标准编解码器对视频进行编码?IE9将下载任何扩展名为.mp4的文件,但它要求该文件使用h.264进行编码。作为
var soundFileUrl='http://mysite.com/audioFile.mp3'; 
$.get(soundFileUrl, function(){
 audio_core=$('#audio').attr('src', soundFileUrl)[0];
 audio_core.play()
});
<meta http-equiv="X-UA-Compatible" content="IE=9" />