video标签在iphone上无法加载视频的问题

公司产品最近出了个bug,就是视频在iphone上无法播放,一直在加载,最后也没法加载成功!但是在其他平台(安卓、web)是可以播放的,老大叫前端找下原因。

在网上找了一上午的资料,终于找到原因了,这是知乎上的回答  video标签在iPhone手机上不能播放?万能的知乎大神请指引我,实在没办法了

在此做下记录。。。

之前的做法是前端通过src请求一个视频文件,后台是返回一整个视频文件的,chrome的兼容性做的比较好,所以不会出现问题,但是对于safari,他不是一次性请求全部文件,一般是先请求0-1字节,这个写在request header的range字段中,range:bytes=0-1,如果是想要传输视频,必须解析range字段,response header中一定要包含Content-range,格式是bytes <start>-<end>/<total>,total是返回的文件总大小。

chrome有时间会请求全部内容,range:bytes=0-,后台这时就需要返回一整个文件

这样做的好处就是可以节省流量吧,只有当用户点击播放才请求整个文件,可以根据response header的content-range来获取文件总长度。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容