请求有视频的页面,查看网络请求,会发现对应的视频有三次请求,一旦视频的数量多了,就会导致请求时间变长。为了减少请求次数,降低为正常的一次请求,决定研究下,是什么导致这种现象。
1.出现的原因:
一个MP4视频内部的信息,都分别存储在不同的box中,其中有个moov box
,主要是用于请求挂钩。moov box
存放的是如何播放视频信息,视频请求会优先去读取视频的moov box
是在那个位置。如果是在头部,一次请求就可以获取到视频。而一般视频的moov box
是放在尾部,导致第一次请求,在头部未获取到。直接第二次请求,去获取尾部的信息。获取到后,最后一次请求才是视频流的请求
其中同个视频出现了三次,且响应状态码为206,实现断点续传。
2.解决方法:
在制作视频的时候,可以把moov box
,放在视频的头部,这样会让视频只会有一次请求。
使用外部工具Handbrake
。
只要勾选网页优化,就会把moov box
放在头部