Mac、IOS无法播放MP4问题的简单解决办法
出现的问题: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;配置,测试了没有效果。