MP4视频在Safari播放
前言:在用Flask框架写上传文件接口时,图片可以正常上传显示,但视频无法在Safari中播放,IOS手机也不支持,最终解决了这个问题
来看看问题的关键
简而言之就是,http请求报文信息中,请求头有[‘range’],它的格式有下面几种(假设总字节为10000):
bytes=0- 0开始,请求全部
bytes=1000-2999 请求字节从1000开始到2999
bytes=8000-9999 请求字节从8000开始到9999
bytes=-500 请求最后500字节
按照上面的介绍,也就是说你的响应头中的[‘Content-Range’]字段,必须对应它的range做出不同响应
bytes 0-9999/10000 0开始,请求全部
bytes 1000-2999/10000 请求字节从1000开始到2999
bytes 8000-9999/10000 请求字节从8000开始到9999
bytes 9499-9999/10000 请求最后500字节
最恶心的是,苹果为了节省用户流量,会先发一个字节的请求,bytes=0-1
并判断你是否有Content-range响应