在HTML5中呈现的H.264编码MP4在Safari上播放,但不在iOS设备上播放

我正在使用Adobe Media Encoder CS5将FLV文件编码为H.264,以通过HTML5在networking上呈现,而且video文件在OS X中的Safari(以及编码为OGG的Firefox)中播放也不错,但在任何iOS设备上iPad,iPhone)我得到的斜线穿过它的戏剧图标。

有没有人遇到过这个,如果是的话,有什么想法,为什么?

谢谢。

我们有这个问题,发现按照iPhone的webview标准创build的文件编码的文件,发挥很好。

并非所有H.264编码的Mp4文件都受iPhone(或Chrome支持)的支持,编码过程中的细微差别可能会产生不起作用的video。 即使使用相同的编码设置,H.264也是一个可变比特率编码器,因此不同的video可能会超过比特率限制,导致一些工作而其他工作不能。

我们成功的编码设置是:

  • 仅使用H.264基线configuration文件级别3.0
  • 分辨率低于640 x 480,帧率高达30 fps
  • 基线configuration文件不支持B帧。
  • 900kb的比特率限制。

这里是我们用来达到这些设置的参考 。

我知道这有一个明显的答案,但我们有完全相同的问题。

这个问题最终成为我们内部networking的一个设置。

在iPad上打开Safari浏览器控制台后,我们看到当试图加载video时,我们得到了一个“byte_range_error_message”被logging。 似乎移动设备请求这个内容不同于桌面设备,通过一次请求某些字节。 我们设法发现,当手机使用他们的3Gnetworking时,video播放效果很好,但是当他们通过内部wifi加载video时,video效果不错。 大量的研究后来引导我们到这个MSDN文章: http : //support.microsoft.com/kb/922330

其中解释了如何在我们的防火墙中find设置,以便设备正确请求video。 在我们的D-Link路由器上也发现了一个类似的设置,用于单独的无线networking,这也是有问题的。