Safari 9 MP4视频问题

时间:2016-04-12 16:34:25

标签: safari html5-video mp4

我试图找出为什么MP4视频仅在Safari 9中无法在我们的服务器上运行。

我在我的本地设备上试过这个视频,并且使用相同版本的Safari在网站上播放得很好。

似乎只在服务器上的Safari 9中工作。我相信所有MIME类型都在服务器上设置,因为视频适用于其他浏览器。

该网站支持Cloudflare,我尝试在.mp4上使用文件规则,以便Cloudflare忽略并不提供该文件。

关于我还可以尝试在Safari中修复此问题的任何想法吗?

4 个答案:

答案 0 :(得分:2)

我试图自己解决类似的问题。我发现以下SO片可能有帮助吗? Safari 9.0 can not play mp4 video on the storage server

总之,与Chrome和其他浏览器不同,Safari不会在标题中发出完整的Range请求。因此,它不知道如何解释响应。

进一步阅读表明,Apple要求HTTP服务器支持字节范围请求。 https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariWebContent/CreatingVideoforSafarioniPhone/CreatingVideoforSafarioniPhone.html#//apple_ref/doc/uid/TP40006514-SW6

看起来Apache< = 2.2.20在2011年使用Range Headers浏览了DoS漏洞,并且默认情况下被禁用。 http://httpd.apache.org/security/CVE-2011-3192

答案 1 :(得分:2)

我也认为问题在于Cloudflare。我的标签中的mp4适用于除Safari之外的所有浏览器。一旦Cloudflare暂停,视频也可以在Safari上运行。恢复Cloudflare会重现问题。

答案 2 :(得分:0)

我认为与视频或音乐内容相关的需要流媒体并且基于CloudFlare必须转移到像cdn.domain.com这样的子域

  

但是,播放内容的网站应该移动他们的流媒体   内容到我们不在其DNS设置中代理的子域。   link

答案 3 :(得分:0)

如果您的服务器是Apache,请尝试将其放在.htaccess中

SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png|mp4|ogv|webm)$ no-gzip dont-vary

这解决了在启用了Cloudflare的域上的Safari中无法为我加载视频的问题。