[发明专利]一种跨浏览器的H.265视频播放方法在审
申请号: | 201911410426.3 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111083167A | 公开(公告)日: | 2020-04-28 |
发明(设计)人: | 林楠;韦继国 | 申请(专利权)人: | 深圳市思博慧数据科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;H04N19/44;G06F9/455;G06F8/41 |
代理公司: | 深圳市辉泓专利代理有限公司 44510 | 代理人: | 刘莉茜;孟强 |
地址: | 518000 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 浏览器 265 视频 播放 方法 | ||
1.一种跨浏览器的H.265视频播放方法,其特征在于,包括以下步骤:
S1,将H.265视频解码器的源码编译成WebAssembly库,产生.wasm文件;
S2,浏览器和服务器建立网络连接,加载所述.wasm文件;
S3,浏览器的WebAssembly模块对.wasm文件进行编译,得到WebAssembly库;
S4,所述H.265视频解码器的类和方法被暴露给浏览器的JavaScript引擎,并建立一个负责桥接的JavaScript文件,所述JavaScript文件定义一个和WebAssembly库中的H.265视频解码器的类名和方法名一致的JavaScript类;
S5,浏览器的JavaScript引擎建立浏览器到流媒体服务器的网络连接,从流媒体服务器上获取H.265视频的音视频数据;
S6,浏览器的JavaScript引擎对所述JavaScript类进行实例化和调用,同时所述H.265视频解码器也被实例化,并在内存中建立对应的数据缓冲区;
S7,所述H.265视频解码器和所述JavaScript文件通过指定的内存地址交换所述音视频数据,并将所述音视频数据缓存在所述数据缓冲区;
S8,所述H.265视频解码器对所述音视频数据进行解码,输出YUV数据,并将所述YUV数据转换成RGB数据;
S9,所述JavaScript通过解码回调的方法获取所述RGB数据所在的内存地址,并从所述内存地址获取所述RGB数据;
S10,所述JavaScript引擎调用html中canvas的绘制函数,使用浏览器的渲染引擎将JavaScript引擎读取到的RGB数据渲染到canvas画布上,得到视频。
2.如权利要求1所述的跨浏览器的H.265视频播放方法,其特征在于,所述被实例化的H.265视频解码器有一个以上,每个H.265视频解码器实例独占一块用于缓存视频数据的数据缓冲区。
3.如权利要求1所述的跨浏览器的H.265视频播放方法,其特征在于,所述浏览器到流媒体服务器的网络连接为websokcet连接。
4.如权利要求1所述的跨浏览器的H.265视频播放方法,其特征在于,所述H.265视频的音视频数据使用的视频传输协议为rtmp,rtsp,http-flv或用户自定义协议中的一种。
5.如权利要求1所述的跨浏览器的H.265视频播放方法,其特征在于,所述H.265视频解码库采用C/C++语言编写。
6.如权利要求5所述的跨浏览器的H.265视频播放方法,其特征在于,所述H.265视频解码器的解码库为ffmpeg解码库、X265解码库或海思H.265解码库中的一个。
7.如权利要求1所述的跨浏览器的H.265视频播放方法,其特征在于,所述H.265视频解码器至少包括解码库配置、视频数据的输入和解码后的数据回调三个函数。
8.如权利要求1所述的跨浏览器的H.265视频播放方法,其特征在于,每个WebAssembly库中的H.265视频解码器实例包括一个输入线程和一个输出线程,所述输入线程从数据缓冲区中读取待解码的H.265格式的音视频数据,并将解码后的YUV数据放入数据缓冲区,所述输出线程将从数据缓冲区读取到所述YUV数据转换成RGB数据,并通过解码回调返回到JavaScript引擎。
9.如权利要求1所述的跨浏览器的H.265视频播放方法,其特征在于,所述H.265视频解码器实例与html页面中的canvas画布一对一绑定。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市思博慧数据科技有限公司,未经深圳市思博慧数据科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911410426.3/1.html,转载请声明来源钻瓜专利网。