video播放两个连续视频,如何做到无缝衔接

需求场景,一个大视频被切成了多个小视频,video需要连续播放这些视频,但是每次第一个播放完之后都会继续播第二个,但是会闪一下,如果做到两个视频连续播放的时候,无缝衔接。

阅读 8.7k
3 个回答

视频连续播放可以参考他们哪些降码率、清晰度的方案。

通过 ajax 拉流,然后 Blob,通过 blobURL 直接给 video 推流。

除了这些还有什么方法?两个 video 咯,提前预热一个。这样也可以避免你闪一下问题。

m3u3的hls点播因为所有视频是同一个视频的切片,而m3u3文件是切片的描述(URI序列),所以适配的播放器会自动进行提前缓冲,让播放连续。

所以你的问题可以转为找到支持HLS 和 m3u3点播的播放器(支持)组件,这个还是比较多的。

比如利用 hls.js

不过你需要按专门的要求进行文件编码和切分,而不是随意切分啦。

新手上路,请多包涵

编写多个video标签,每个video 的样式设置为display: none,第一个要播放的video的样式设置为display: unset, play()。其他video暂停,监听播放中的video ended,删除当前正在播放的video的样式,并且暂停,把下一个播放的video样式设置为display: unset, play()。
我是监听所有video,然后video播放完毕后共同调用同一个方法,也就是删除当前正在播放的video的样式,并且暂停,把下一个播放的video样式设置为display: unset, play()。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题