[发明专利]一种基于websocket的flv视频传输及网页播放的方法有效
申请号: | 202010025733.6 | 申请日: | 2020-01-10 |
公开(公告)号: | CN111147947B | 公开(公告)日: | 2021-12-10 |
发明(设计)人: | 谢黎铭;何安松 | 申请(专利权)人: | 深圳市同洲电子股份有限公司 |
主分类号: | H04N21/4782 | 分类号: | H04N21/4782;H04N21/44;H04N21/472;H04N21/2343;H04N21/231 |
代理公司: | 深圳市龙成联合专利代理有限公司 44344 | 代理人: | 陈蓉 |
地址: | 518000 广东省深圳市南山区高*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 websocket flv 视频 传输 网页 播放 方法 | ||
1.一种基于websocket的flv视频传输及网页播放的方法,其特征在于,包括以下步骤:
S1:对服务器的视频源客户端进行收流,将收流得到的视频通过使用解封装模块进行去封装得到视频h264裸流;
S2:将视频h264裸流通过封装转换模块重新封装为flv标准格式视频;并将得到的MetaData包缓存在内存中;
S3: WebSocket客户端发出请求指令与websocket建立连接,并按照完整的flv标准格式视频进行推送视频数据;
S4:对MetaData包的发包状态进行检测,确定MetaData包是否已发送;
S5: MetaData包已发送完成后,普通音视频数据包进行发送;
S6:播放页面在收到flv标准格式视频数据后,对接收到的推送数据使用网页解码插件做解码渲染操作,解码渲染后的视频进行操作播放;
所述MetaData包包括:scriptTag包、FirstVideoTag和FirstAudioTag,所述FirstVideoTag还包括封装sps和PPS数据的tag包,所述普通音视频数据包包括普通AudioTag和普通VideoTag;
S4步骤还包含以下子步骤:
S4A: 将发送的MetaData包和普通音视频数据包的发送状态的值定义为n,发送MetaData包前,获取发包的状态值n,分别与1、2、4做按位与运算;发送普通音视频包,分别与3、5做按位与运算;
S4B:将MetaData包的发送状态进行定义为三位2进制数标识,高位到低位分别代表:FirstVideoTag,FirstAudioTag,ScriptTag,并且设定1为已发送,0为未发送。
2.根据权利要求1所述的一种基于websocket的flv视频传输及网页播放的方法,其特征在于,S6步骤还包含以下子步骤:
S6A:编写FLV到RGBA数据解码程序;
S6B:使用emcc编译出.wasm和.js文件;
S6C:再点击播放按钮,启动WebSocket客户端从服务器取流,页面收到flv数据,通过WebAssembly的方式调用解码程序中的投数据接口,将数据放入解码程序中的队列里面,再调用触发解码接口触发解码;
S6D:播放页面创建canvas画布,解码出RGBA数据回调后,页面根据回调的宽高数据更新画布尺寸,并在canvas中渲染出图像;
S6E:解码程序不断解码出图片数据,页面不断刷新canvas画布,进行视频的播放;
S6F:点击页面暂停按钮,视频暂停播放;
S6G:播放页面点击停止播放,断开websocket连接。
3.根据权利要求2所述的一种基于websocket的flv视频传输及网页播放的方法,其特征在于,S4A和S4B步骤中:
当进行n 1运算,运算结果为真时,则表示Script已发送,运算结果为假则表示Script未发送;
当进行n 2运算,运算结果为真时,则表示FirstAudioTag已发送,运算结果为假则表示FirstAudioTag未发送;
当进行n 4运算,运算结果为真时,则表示FirstVideoTag已发送,运算结果为假则表示FirstVideoTag未发送;
当进行n 3运算,运算结果为真时,则表示普通AudioTag为可发送,运算结果为假则表示先发送MetaData;
当进行n 5运算,运算结果为真时,则表示普通VideoTag为可发送,运算结果为假则表示先发送MetaData。
4.根据权利要求3所述的一种基于websocket的flv视频传输及网页播放的方法,其特征在于,当一个数据包的MetaData包发送完成后,普通AudioTag和普通VideoTag的发送状态才可转换为可发送状态。
5.根据权利要求4所述的一种基于websocket的flv视频传输及网页播放的方法,其特征在于,在每次发送完单个MetaData包后,再将状态值n分别与1、2、4做按位或运算更新状态n的值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市同洲电子股份有限公司,未经深圳市同洲电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010025733.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种胸腔镜取出装置
- 下一篇:一种冷挤压模具表面超快激光微织构自润滑方法