<video>在其他浏览器中播放,但不在Safari中播放

Kat*_*314 18 safari video html5 mp4

我们网站上有MP4视频; 它在Mac上的IE9 +,Firefox,Chrome和Chrome中运行良好.但是,在Safari上,视频根本不播放 - 它确实触发了"停顿"事件,然后没有任何加载.我会发布我们的HTML,但我通过发现即使导航到原始MP4的URL也不会播放Safari来进一步追踪问题.在本地下载和播放时,视频在Quicktime中正常工作.

最奇怪的部分是我们所有的开发人员,当我从开发计算机运行相关服务器时,可以让视频在Safari上运行.而且,同一目录中的其他MP4文件也存在类似问题.这一直是我的关键,我一直在寻找视频从服务器传输方式的任何微小差异 - 请求/响应标头,精确文件大小等.

从Chrome复制的标题(仅限Safari,因为很难复制/粘贴)

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
DNT:1
Host:*************:8443
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36

Response Headers
Accept-Ranges:bytes
Content-Length:44875102
Content-Type:video/mp4;charset=UTF-8
Date:Tue, 30 Dec 2014 21:11:51 GMT
ETag:W/"44875102-1419959755000"
Last-Modified:Tue, 30 Dec 2014 17:15:55 GMT
Server:Apache-Coyote/1.1
Run Code Online (Sandbox Code Playgroud)

(另外,以防万一这会让你想起旧的问题;我知道Windows上的Safari已经死了多年.这个问题发生在OS X上)

编辑:可能有所帮助的新信息.我从我自己的网络服务器上获取了一个个人视频,该视频能够在有问题的Safari浏览器上从那里开始工作,并将其下载到我们服务器的本地视频目录中.从那里,它遇到了与我们其他视频相同的问题.这告诉我MP4本身可能并不重要 - 这可能是我们的Tomcat 7网络服务器的某种服务器问题.我们确实已经正确注册了内容类型,这至少涵盖了基础知识,但我很好奇是否有其他必要的部分.

更多信息:我最初没想到会提到这一点,但我们正在通过HTTPS连接加载我们的网页和视频.我们的大多数测试服务器都没有有效的证书,因此我们需要点击标准浏览器警告"此服务器可能不是它所说的".我们现在正在研究如何在我们所有的服务器上获得正确的证书.

Ree*_*Lau 16

Safari要求网络服务器支持" 范围 "请求标头才能播放您的媒体内容.

https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariWebContent/CreatingVideoforSafarioniPhone/CreatingVideoforSafarioniPhone.html#//apple_ref/doc/uid/TP40006514-SW6

对于合法的"Range"请求响应,您的webserve需要返回状态代码"206".

  • “iOS 支持大于 2 GB 的电影”,同时由于这个奇怪的要求,它在播放 50kb gif 视频时遇到问题...... (3认同)

Nex*_*hus 0

...

顺便说一句,字符集对视频/mp4 类型有任何意义吗?尝试删除它的字符集。

编辑:是的,字符集可能是问题,请参阅:为 Magnolia 中上传的文档指定内容类型

EDIT2:不是字符集,哎呀,阅读理解失败。可能是字节范围?引用:“[...]我们发现 Safari/iOS“使用 HTTP 字节范围来请求音频和视频文件。”现在我们猜测 Magnolia DMS 文件服务不支持此功能,因此流媒体失败了。”