Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ipad HTML5中的H.264编码MP4在Safari上播放,而不是在iOS设备上播放_Ipad_Html_Ios_Mp4_H.264 - Fatal编程技术网

Ipad HTML5中的H.264编码MP4在Safari上播放,而不是在iOS设备上播放

Ipad HTML5中的H.264编码MP4在Safari上播放,而不是在iOS设备上播放,ipad,html,ios,mp4,h.264,Ipad,Html,Ios,Mp4,H.264,我使用AdobeMedia Encoder CS5将FLV文件编码为H.264,通过HTML5在web上显示,视频文件在OSX的Safari(以及编码为OGG的Firefox)中可以正常播放,但在任何iOS设备(iPad、iPhone)上,我都会看到带有斜线的播放图标 以前有人遇到过这种情况吗?如果有,有什么想法可以解释为什么 谢谢。我知道这有一个明确的答案,但我们有完全相同的问题 问题最终成为我们内部网络的一个设置 在打开iPad上的safari控制台后,我们看到在尝试加载视频时,我们收到了一

我使用AdobeMedia Encoder CS5将FLV文件编码为H.264,通过HTML5在web上显示,视频文件在OSX的Safari(以及编码为OGG的Firefox)中可以正常播放,但在任何iOS设备(iPad、iPhone)上,我都会看到带有斜线的播放图标

以前有人遇到过这种情况吗?如果有,有什么想法可以解释为什么


谢谢。

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

问题最终成为我们内部网络的一个设置

在打开iPad上的safari控制台后,我们看到在尝试加载视频时,我们收到了一条“byte\u range\u error\u message”的记录。移动设备请求此内容的方式似乎与桌面设备不同,每次请求特定字节。我们发现,当手机使用3G网络时,视频播放效果良好,但当手机通过内部wifi加载视频时,视频播放效果不佳。后来进行了大量研究,我们得到了这篇MSDN文章:


这解释了如何在防火墙中找到允许设备正确请求视频的设置。我们还在一个单独的wifi网络的一个D-Link路由器上发现了类似的设置,该网络也存在问题

我们遇到了这个问题,发现按照iPhone的webview标准对文件进行编码可以创建播放效果良好的文件

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

我们成功的编码设置是:

  • 仅使用H.264基线配置文件级别3.0
  • 分辨率低于640 x 480,帧速率高达30 fps
  • B基线配置文件中不支持框架
  • 比特率限制为900kb

这是我们用来达到这些设置的方法

对于after effects用户:您可以在输出模块设置/格式选项/视频中找到h.264级别--级别永远不要使用编码选项“Fast Start”(在Handbrake中称为“Web优化”),否则视频将无法在iOS设备上播放。有关详细信息,请参阅参考链接当前转到通用页面。我认为正确的链接现在是。如果是这种情况,请确认并更新。您是否阅读了这篇文章:?