背景
有一个新需求,需要在手机端(webview)能够上传和播放视频。
遇到的问题及解决方案
- ios端无法播放,时间太长了不记得具体情况了。反正通过调试得知在Safari上
video标签第一次Header会增加Range: bytes=0-1,后续进行分段请求,后台需支持分段请求(状态码为206),而 chrome 浏览器是 Range: bytes=0可以直接请求返回所有数据。 - 上传时直接报错了
Request-URI Too Large,很明显是nginx的请求体设置的太小,自行搜索对应的解决方案就行。 - 安卓端压缩后视频无法播放,IOS压缩后却可以播放,经过对比得知是因为编码格式问题。
Chrome是不支持MPEG4格式的,具体请看www.52dianzi.com/bangong/?re…
经验
使用video标签时,尽量使用mp4格式的视频,编码格式为H264。遇到视频播放失败时应先确定当前视频文件是否兼容系统。