Safari播放mp4失败的原因分析

最近项目中用系统播放器播放MP4文件出了一个问题,用Safari播不了用Chrome可以播放,细查了原因,发现是服务器的问题,原来服务器不支持Content-Range特性。

Safari首先读取文件类型头来判断视频文件是否支持。

因此,对于不支持这个特性的 HTTP 服务器,Safari 就拒绝在线播放,Chrome无此限制。

解决方案:服务器加上这个特性的支持。

测试服务器是否支持:

curl --range 0-99 [MP4 URL]

如果返回的是100个字节的内容,说明服务器支持断点续传;否则返回整个文件。

参考Safari Web Content Guide