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

标签 html video safari mp4

我们的网站上有一个 MP4 视频;它在 IE9+、Firefox、Chrome 和 Mac 上的 Chrome 中运行良好。但是,在 Safari 上,视频根本无法播放 - 它会触发“停滞”事件,然后不会加载任何内容。我会发布我们的 HTML,但我发现 Safari 甚至在导航到原始 MP4 的 URL 时也不会播放它,从而进一步追踪了问题。下载并在本地播放时,该视频在 Quicktime 中运行良好。

最奇怪的是,在我们所有的开发人员中,当我从我的开发计算机上运行相关服务器时,可以让视频在 Safari 上运行。此外,同一目录下的其他 MP4 文件也存在类似问题。这对我来说是关键,我一直在寻找从服务器传输视频的方式的任何细微差别 - 请求/响应 header 、确切的文件大小等。

从 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

(另外,以防万一这让您想起一个较旧的问题;我知道 Windows 上的 Safari 已经死了很久了。这个问题发生在 OS X 上)

编辑:可能会有帮助的新信息。我从我自己的网络服务器上获取了一段个人视频,该视频能够在有问题的 Safari 浏览器上运行,并将其下载到我们服务器的本地视频目录中。 从那里,它遇到了与我们其他视频相同的问题。这向我表明 MP4 本身可能无关紧要 - 这可能是我们 Tomcat 7 网络服务器的某种服务器问题。我们确实正确注册了 Content-Types,这至少涵盖了基础知识,但我很好奇是否还有其他必要的部分。

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

最佳答案

Safari 需要网络服务器支持“Range”请求 header 才能播放您的媒体内容。

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

对于合法的“范围”请求响应,您的网络服务器需要返回状态代码“206”。

关于html - <video> 在其他浏览器中播放,但在 Safari 中不播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27712778/

相关文章:

objective-c - 为什么我的 AVPlayer 音量没有减弱?

c# - 我如何嵌入图标和视频流

javascript - jQuery 与 Safari 自动完成功能对比

firefox - 在 Firefox 中访问第三方 cookie

提交到电子邮件的 Php 表单

jquery - 当元素使用 jQuery 离开屏幕时激活滚动条?

html - 应用媒体查询时视频静音

javascript - 使用 goutte 抓取数据属性?

html - Twitter Bootstrap 单选按钮不起作用

CSS Scroll 捕捉点在 iOS 9.1 safari 中不起作用