周五做大屏项目时,遇到一个需求:需要在加载25+ G的OSGB倾斜摄影模型的Cesium场景加载时,同步播放客户提供的当地宣传视频。但是,当前端将宣传视频通过video标签正常进行播放时,发现Cesium场景渲染开始卡顿了。于是开始寻找平衡场景渲染与视频播放的具体方案。
思路推断:地图切片与视频“切片”
视频“切片”:m3u8视频流
当我将Vue前端项目打包,并部署到服务器上之后,经过反复的测试,确实发现,页面开始请求远程的视频资源并开始播放时,将要加载OSGB模型的地图场景就一直处于“白屏”的状态,直到视频播放较长一段时间之后,地图才开始加载,并且也存在卡顿的现象。
结合GIS中地图服务切片的概念,我想着视频处理方面,是否有类似的东西,因为前端开发中,有大文件分片上传的概念,于是一通百度+搜索,发现确实有这样的东西存在——m3u8视频流。
m3u8视频流简介
如何理解m3u8视频流呢?如下图所示,
<