CPU比较高时有几率出现音/视频不同步。
h265 测试流
libde265.js,它是一个通过 JS 来解码 H.265 视频的库,它通过将 视频的 frame data 转化为 rgba 像素,然后绘制到 Canvas 上,目前只能通过video标签播放mp4格式的视频,直播流尚不清楚,需进一步验证
方案1:前端WebAssembly解码+canvas显示
https://blog.csdn.net/weixin_34379433/article/details/89535511
相关示例:H265播放器
一个比较好的h265播放器
基于WASM的H265 Web播放器
该方案测试下来,该方案个人觉得是性能比较好的方案,在测试机(i7-9700/32G)上播放6路的H265视频,整体比较流畅。
方案2:前端WebAssembly解码+canvas显示(兼容h264)
不支持H265的浏览器,则采用WebAssembly技术,将FFmpeg编译为wasm,收到H265码流时,调用FFmpeg进行解码,然后通过canvas来显示视频画面;
相关资料
参考资料
优秀的开源视音频处理框架FFmpeg
基于LLVM编译的WebAssembly打包工具集Emscripten
基于WebAssembly的ogg播放器
基于FFmpeg的简单播放器
主要用到了WebAssembly及WebWorker的支持,实际测试中主流浏览器Chrome、Safari、Firefox、Edge均能通过兼容性测试。 ===> 需进一步验证
https://blog.csdn.net/weixin_34379433/article/details/89535511
方案1:
方案2: