HTML5视频以Chrome格式播放,但不播放IE9

时间:2012-08-04 13:37:55

标签: html5 internet-explorer-9 html5-video

我已经尝试过你可以在互联网上找到的每一种混合物,在这里关于编码,htaccess和视频元素标记,但我不能让它们在IE9中播放,而它们在Chrome中完美运行。有谁知道魔法仙尘让这个工作?在IE中显示的所有内容都是一个黑色框,中间是红色x。以下是测试页面的链接:(已删除链接)

请注意,我会显示两个视频和两个标记变体。一个是Mark Pilgrim关于视频类型的书的直接副本。第一个视频是使用miro编码的。第二个是ffmpeg。我在该视频目录中的htaccess中包含了“AddType video / mp4 .mp4”。

我从未尝试过的东西或ffmpeg的预设组合,似乎没什么用。我对听到有关javascript库或任何其他库的建议不感兴趣。

EDIT1:

在下面的@heff看到一个测试页面之后,看来我的问题可能与我的主持人HostGator有关,他们的支持团队给了我一些关于他们不支持使用HTML5的网页设计工作。我还在IE9中使用可在其他浏览器和其他Web主机上运行的音频和标记来处理HTML5音频问题。我不知道我的问题与主机有关,但我倾向于相信,并会考虑与其他主机进行测试。

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

EDIT2:

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

EDIT3: 所以我得到了“巴克叔叔”工作。这是我下载的众所周知的MP4。为什么它的工作原理,我不知道,但我认为它使用了相同的编码器。他们必须拥有其他没有的魔法仙尘。

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

EDIT5: 所以看来IE9正在下载mp4视频,但只是在播放红色'x'时不播放它们或显示控件。我原本认为这些视频根本没有从他们的开发工具中下载给我看。仍然不知道该做什么。当我重新加载页面时,我看到了控件的闪光。

EDIT6:已解决 正如我在其他地方暗示的那样,解决方案是编码。有什么不同,我不知道,但我使用ffmpeg使用编码方法。编码显示在下面的答案中。

正如我所说,没有其他浏览器存在我正在使用的问题。

9 个答案:

答案 0 :(得分:6)

编辑:正如我在上面编辑的问题中所述,我找到了解决方案。以下内容仅适用于按所示顺序放置的内容:

ffmpeg  -i <infile> \
        -vcodec libx264 -vpre normal \
        -acodec libfaac \
        -threads 0 <outfile>.mp4

原始回答:

我花了几周试图让这个工作无济于事。在网上搜索我也看到无数其他人在努力解决这个问题。我找不到一个可以让它工作并展示它是如何完成的人(除了使用@heff这里使用的特殊工具)。

我无法在自己的论坛和文章中找到微软的任何回复。关于可能导致问题的编码,我找不到任何东西。我发现无数的线程在论坛中以相同的方式结束......没有解决方案。

所以答案很简单。 IE9坏了。但我们都已经知道了。最多是无能为力,它是这个星球上最糟糕的浏览器。虽然微软声称它可以处理像这样的视频文件,但它没有这样做,而其他浏览器没有任何问题。

因此,除非有人出现并提供指导,否则我会接受这个答案作为最佳答案,因为它是。当然,微软不能或不会提供更好的。

答案 1 :(得分:3)

在mediainfo结果中没有什么突出的,所以我通过Zencoder运行它,结果在IE9中适用于我。 (首先是Zencoder,第二个是你原来的)

http://www.steveheffernan.com/test/11811992/test.html

完全披露:我共同创立了Zencoder。 Zencoder不是免费服务,也不是一次性视频编码。它意味着通过API自动编码。

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

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

{
  "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

答案 2 :(得分:3)

我有同样的问题,但认为这是一个时间问题,我希望很容易解决。

就我而言,我的HTML页面有一个没有指定源子元素的元素。

<audio id="audio" controls="controls"/>

我在页面就绪时执行了一些jquery代码,它将URL指定为音频元素的源。

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

Chrome对此很满意,IE9却没有。似乎IE尝试在有机会完全下载之前识别出音频文件。

修复只是通过在将文件分配给音频源之前立即执行get来加载文件

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

似乎工作。

答案 3 :(得分:2)

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

答案 4 :(得分:1)

在尝试了2个不同的播放器库并对视频进行了6次不同的编码后,我发现在我的情况下,我的服务器(.mp4~video / mepg)上的mime类型配置不正确,而不是.mp4的工作原理。 ~video / mp4

答案 5 :(得分:0)

我也有这个问题,但事实证明问题不在于mime类型或视频编码。我曾使用手刹来编码视频,它选择AC3作为音轨而不是AAC的预设。用AAC重做之后一切正常。

答案 6 :(得分:0)

您是使用H.264编解码器而不是标准编解码器对视频进行编码的? IE9将下载任何扩展名为.mp4的文件,但它要求使用h.264对文件进行编码。截至目前,只有Safari和IE需要mp4 H.264编码。

答案 7 :(得分:0)

我的工作伙伴提出了以下修复方法,

<!DOCTYPE html>标记之后复制以下代码行,这将强制内容在IE 9中呈现

<meta http-equiv="X-UA-Compatible" content="IE=9" />

答案 8 :(得分:-1)

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