我正在使用video.js播放m3u8链接。我发现它会在播放过程中不断下载.ts片段。
我想为准备期间创建一个加载覆盖,当所有的工作完成后,它消失了,用户可以像本地一样观看视频。
那么,在播放之前是否可以在加载期间预加载所有段?
更新
我发现m3u8文件包含.ts链接,是否可以预先下载这些blobs并拦截fetch请求以返回下载的blobs作为响应?
#EXTM3U
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-TARGETDURATION:60
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-START-TIME:3516
#EXT-X-PROGRAM-DATE-TIME:2021-02-19T14:55:59+08:00
#EXTINF:2.01,
2758527764_1103365203_1.ts?start=0&end=91931&type=mpegts&resolution=320x240
#EXT-X-PROGRAM-DATE-TIME:2021-02-19T14:56:01+08:00
#EXTINF:1.979,
2758527764_1103365203_1.ts?start=91932&end=171643&type=mpegts&resolution=320x240
#EXT-X-PROGRAM-DATE-TIME:2021-02-19T14:56:02+08:00
#EXTINF:1.932,
2758527764_1103365203_1.ts?start=171644&end=248159&type=mpegts&resolution=320x240
#EXT-X-PROGRAM-DATE-TIME:2021-02-19T14:56:04+08:00
#EXTINF:2.002,
2758527764_1103365203_1.ts?start=248160&end=318659&type=mpegts&resolution=320x240
#EXT-X-PROGRAM-DATE-TIME:2021-02-19T14:56:06+08:00
#EXTINF:2.064,
2758527764_1103365203_1.ts?start=318660&end=393295&type=mpegts&resolution=320x240发布于 2021-02-27 18:39:54
我认为您应该做的不是使用自适应流,所以您不应该使用HLS或DASH。
也许您可以使用示例mp4回放实现这种体验。
发布于 2021-06-17 12:21:57
您可以将"videojs.Vhs.GOAL_BUFFER_LENGTH“值设置为较高的数字。这是预加载的秒数。但是,当缓冲过多时,就会出现播放问题。原因是所有这些缓冲段最后都吃了公羊。在中程移动设备上,超过几分钟的预加载会使视频无法使用。
我使用它的几千名学生谁可以预先加载更大的块(10分钟),所以他们不会连续中断时,有一个低带宽连接。
https://stackoverflow.com/questions/66313293
复制相似问题