【发布时间】:2011-05-13 13:24:34
【问题描述】:
我正在使用 Adobe Media Encoder CS5 将 FLV 文件编码为 H.264 以通过 HTML5 呈现在网络上,并且视频文件在 OS X 的 Safari 中(以及在编码为 OGG 的 Firefox 中)可以正常播放,但在任何iOS 设备(iPad、iPhone)我得到带有斜线的播放图标。
以前有没有人遇到过这种情况,如果有,有什么想法吗?
谢谢。
【问题讨论】:
我正在使用 Adobe Media Encoder CS5 将 FLV 文件编码为 H.264 以通过 HTML5 呈现在网络上,并且视频文件在 OS X 的 Safari 中(以及在编码为 OGG 的 Firefox 中)可以正常播放,但在任何iOS 设备(iPad、iPhone)我得到带有斜线的播放图标。
以前有没有人遇到过这种情况,如果有,有什么想法吗?
谢谢。
【问题讨论】:
我们遇到了这个问题,发现按照 iPhone 的 webview 标准对文件进行编码可以创建可以正常播放的文件。
并非所有 H.264 编码的 Mp4 文件都受 iPhone(或 Chrome)支持,编码过程中的细微差别可能会产生无法播放的视频。即使使用完全相同的编码设置,H.264 也是一种可变比特率编码器,因此不同的视频可能会超过比特率限制,导致一些工作正常而另一些不工作。
对我们来说成功的编码设置是:
这是我们用来达到这些设置的reference。
【讨论】:
我知道这有一个明显的答案,但我们遇到了完全相同的问题。
问题最终出在我们内部网络的设置上。
在 iPad 上打开 safari 控制台后,我们看到在尝试加载视频时,我们收到了“byte_range_error_message”的记录。似乎移动设备请求此内容的方式与桌面设备不同,一次请求某些字节。我们设法发现当手机使用其 3G 网络时视频播放良好,但当他们通过内部 wifi 加载视频时却没有。后来经过大量研究,我们看到了这篇 MSDN 文章: http://support.microsoft.com/kb/922330
其中解释了如何在我们的防火墙中找到设置以允许设备正确请求视频。我们还在我们的一个 D-Link 路由器上发现了一个类似的设置,用于一个也有问题的单独 wifi 网络。
【讨论】: