现阶段浏览器无法支持hevc编码视频播放,所以传统demux+remux
的方法已经行不通。
目前解决方案是通过 C去开发一套接口最终通过emcc
编译成wasm
被浏览器调用解码。
正文:
开发从工程分为两部分:
- 浏览器播放器控制层(Javascript),主要是包含
播放器基本控制
、播放渲染(webgl/canvas)控制
、网络协议数据传输
、hevc流提取nalu
、接入wasm 喂数据
- c开发wasm库工程层(C/Cpp/Shell),主要是包含
初始化hevc解码器
、数据接收解码
、提取frame YUV或者转换RGB24
、编译层 + bash-script
具体如下图:
- 浏览器播放器控制层(Javascript)
浏览器播放器控制层(Javascript)
- c开发wasm库工程层(C/Cpp/Shell)
c开发wasm库工程层(C/Cpp/Shell)
最终效果:
show
Adver:
推荐一个刚开发的免费YUV播放器软件,支持Windows和MacOS
链接 http://realrace.cn/#/YuvEye
网友评论