我已经尝试过你可以在互联网上找到的每一种混合物,在这里关于编码,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使用编码方法。编码显示在下面的答案中。
正如我所说,没有其他浏览器存在我正在使用的问题。
答案 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)
似乎不支持用于编码视频的编解码器。