出现的问题:mp4视频在Chrome正常播放,但是Safari无法播放。

可能的原因:1.mp4视频编码问题,Safari上可播放的mp4视频编码最好是H.264,音频AAC编码。

                    2.服务器响应头缺失

测试环境:Nginx/1.13.5

解决办法:

1.视频编码的问题,使用ffmpeg进行转码

    ffmpeg -i 源视频.mp4 -c copy 转码视频名称.mp4

2.经测试得知Mac和IOS播放mp4视频文件服务器响应头必须包括Content-Range和Content-Length,其他的Content-Type: "video/mp4"、Accept-Ranges: bytes响应头可有可无。

3.其中如果开启了gzip on配置可能导致Content-Length无法获取,进而Content-Range无法正常返回。可将gzip配置关闭或者压缩类型中去掉video/mp4类型。

4.另外其他网上方法添加响应头add_header Accept-Ranges bytes;和chunked_transfer_encoding off;配置,测试了没有效果。


标签: nginx, MP4

添加新评论