[发明专利]一种多路实时直播WebRTC流合成方法有效
申请号: | 201910962940.1 | 申请日: | 2019-10-11 |
公开(公告)号: | CN110602522B | 公开(公告)日: | 2021-08-03 |
发明(设计)人: | 唐东明 | 申请(专利权)人: | 西南民族大学 |
主分类号: | H04N21/2187 | 分类号: | H04N21/2187;H04N21/8547;H04N21/43;H04N21/6437;H04N21/439 |
代理公司: | 成都信博专利代理有限责任公司 51200 | 代理人: | 卓仲阳 |
地址: | 610041 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实时 直播 webrtc 合成 方法 | ||
1.一种多路实时直播WebRTC流合成方法,其特征在于,包括以下步骤:
步骤1:对收到的WebRTC数据包进行预处理:WebRTC在封包流媒体数据时采用的是标准的RTP格式,在RTP封包的头中有包的描述信息,seq_number表示包的流水号,timestamp表示发送该数据包物理生成时的时间戳,针对音频和视频数据采用不同的数据包预处理方式;
步骤2:进行实时的多路音频混合:设混合后的音频PCM数据缓冲区为buff_out,设两路按照LR交叉方式保存的音频采样
(1)
式中,L1、R1分别表示第1路左声道、右声道音量值,L2、R2分别表示第2路左声道、右声道音量值,
步骤3:进行实时的多路视频混合:设输入的视频图像
步骤4:多路WebRTC流媒体同步合成和转发:
视频WebRTC数据包经过步骤1和步骤3将图像绘制到输出画布上;音频WebRTC数据包经过步骤1预处理后将音频解码成PCM数据,然后按照步骤2将音频进行混音;此时系统中存在着两个发送线程,视频发送线程负责将输出画布上最新的图像进行编码并封包成WebRTC数据包,音频发送线程负责将音频输出缓冲区中混音后的数据进行编码并封包成WebRTC数据包;两个发送线程在全局系统时间协调下给发送的数据加上正确的时间戳用来保障音频和视频的同步;最后将数据发送到观看端。
2.根据权利要求1所述的一种多路实时直播WebRTC流合成方法,其特征在于,所述步骤1中视频数据的预处理具体为:
步骤1.1:解析WebRTC数据包
步骤1.2:综合判断是否无效数据包,抛弃空数据包;
步骤1.3:按照数据包的seq_number降序排列将数据包插入到队列
步骤1.4:依次遍历
步骤1.5:如收到一个完整视频的所有WebRTC包则解析WebRTC包载荷数据的视频编码头信息获得视频图像的高宽信息并判断是否有变化。
3.根据权利要求1所述的一种多路实时直播WebRTC流合成方法,其特征在于,所述步骤3具体为:
步骤3.1:计算缩放比并将输入图像缩放为目标大小;
步骤3.2:从1行到H_in_scale行依次计算缩放后输入图像第i行
步骤3.3:从1行到H_in_scale/2行依次计算缩放后输入图像按照高宽信息折半计算的第i行
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西南民族大学,未经西南民族大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910962940.1/1.html,转载请声明来源钻瓜专利网。