本发明涉及vr云渲染,尤其涉及一种基于webrtc传输视频流控制信息的方法。
背景技术:
1、在传统的vr数据传输方式上,通过webrtc模块,用媒体通道传输视频,数据通道传输控制,或者在rtp扩展头传输控制。现有技术中,媒体通道和数据通道在传输策略上有所不同,导致媒体和控制不是同时达到,影响了体验;或者通过修改rtp扩展头部,让控制和媒体同时到达,但是修改逻辑比较复杂,费时费力,不方便后续的升级。
2、因此,现有技术存在缺陷,需要改进。
技术实现思路
1、本发明的目的是克服现有技术的不足,提供一种基于webrtc传输视频流控制信息的方法。
2、本发明的技术方案如下:提供一种基于webrtc传输视频流控制信息的方法,包括如下步骤:
3、步骤1:修改video_frame.h,定义接口,并传入控制信息;
4、步骤2:修改video_frame.cc,实现定义的接口,形成视频流;
5、步骤3:修改vp9_impl.cc解码接口,判断码流是否有控制信息,若有,则提取控制信息,否则不做控制信息提取。
6、进一步地,所述视频流具有六个部分:
7、原有视频数据:正常视频流;
8、控制结束标志:两个$字符;
9、crc32校验:用crc32校验和算法算出来的控制信息校验和;
10、控制信息:需要传输的控制信息;
11、控制长度:控制信息的长度;
12、控制开始标志:两个$字符。
13、进一步地,所述步骤3中对码流的具体判断方法为:
14、步骤3.1:从结尾向前判断,检测是否有开始标志;
15、步骤3.2:如果有开始标志,根据控制长度和控制信息,计算crc32,比较crc32是否正确;
16、步骤3.3:如果crc32正确,则判断是否具有结束标志;
17、步骤3.4:只有开始标志、crc32、结束标志都正确,才能认为具有控制信息,并进行控制信息的提取,如果有一项不正确,则都不做控制信息提取。
18、采用上述方案,本发明基于webrtc传输,可以充分利用webrtc现有的传输技术,如丢包重传、fec、传输宽带评估等等。同时,只需要稍微修改,直接在视频流中加入控制信息,让视频和控制一起传输,同时到达,解决了视频和控制不能同时送达的问题。并且修改较少,代码集中,便于后续进行维护与升级。
1.一种基于webrtc传输视频流控制信息的方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的基于webrtc传输视频流控制信息的方法,其特征在于,所述视频流具有六个部分:
3.根据权利要求1所述的基于webrtc传输视频流控制信息的方法,其特征在于,所述步骤3中对码流的具体判断方法为: