本发明涉及网络多媒体通信领域,具体地,涉及提高实时压缩视频流网络发送效率的方法及系统。
背景技术:
当前高效的图像压缩算法使得图像的压缩性能有了很大的提高,能使用更小的带宽来传送高清的视频图像。视频压缩技术中关键帧即i帧采用帧内图像数据压缩技术,其它帧p帧、b帧采用帧间图像数据压缩技术和熵编码压缩技术。压缩后得到的i帧通常比较大,p帧、b帧则较小。如图1所示,图1是一个全高清码流各个帧大小的统计图。
从图1中可以明显的看出i帧比p帧的尺寸大很多。该图表示的视频帧率为25帧/秒,平均码率为8mbps,每帧之间间隔40毫秒,该i帧大小为240kb,则可计算出发送i帧40毫秒的瞬时码率可达到76mbps,甚至会超过此值达到网卡的最高传输速率。如果该码流将经过一个路由器再传输到带宽为10mbps的公网,就会因发送速率过大而发生网络丢包,影响实际发送效率。
技术实现要素:
针对现有技术中的缺陷,本发明的目的是提供一种提高实时压缩视频流网络发送效率的方法及系统。
根据本发明提供的提高实时压缩视频流网络发送效率的方法,包括如下步骤:
步骤1:在创建媒体传输通道时,获取码流接收方的ip地址和端口号,即目的ip地址和目的端口号;
步骤2:在ip协议层和mac层之间创建控制码流发送速率的速率控制单元,所述速率控制单元按照设定的规则控制ip数据包的发送速率;
步骤3:按照步骤2的发送速率将ip数据包发送视频流至mac层。
优选地,所述步骤2中速率控制单元按照设定的规则是指:速率控制单元通过解析ip包头中的目的ip地址和目的端口号,使得对去往该目的ip地址和目的端口号的ip数据包的发送速率为目标速率。
优选地,设定的目标速率为发送媒体的实际码率的1倍以上,具体的倍数取决于实际应用对图像延时的要求,包括取1.5倍的优选参数值。
优选地,还包括步骤4:当要关闭媒体传输通道时,关闭该媒体通道对应的速率控制单元。
根据本发明提供的提高实时压缩视频流网络发送效率的系统,包括:
目的ip地址与端口获取模块:用于在创建媒体传输通道时,获取码流接收方的ip地址和端口号,即目的ip地址和目的端口号;
发送速率控制单元:用于在ip协议层和mac层之间按照设定的规则控制ip数据包的发送速率;
发送模块:用于按照发送速率控制单元的发送速率将ip数据包发送视频流至mac层。
优选地,所述发送速率控制单元还用于通过解析ip包头中的目的ip地址和目的端口号,使得对去往该目的ip地址和目的端口号的ip数据包的发送速率为目标速率。
优选地,设定的目标速率为发送媒体的实际码率的1倍以上,具体的倍数取决于实际应用对图像延时的要求,包括取1.5倍的优选参数值。
与现有技术相比,本发明具有如下的有益效果:
1、本发明提供的提高实时压缩视频流网络发送效率的方法,能够通过在ip协议层控制峰值发送速率,降低网络丢包率,使得基于其上的tcp、udp协议层能更好的工作,从而实现tcp、udp实际发送效率的大幅提高。
2、本发明提供的提高实时压缩视频流网络发送效率的系统中的速率控制单元位于ip协议层,最接近物理层,能获得更好的控制精度。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为全高清码流各个帧大小的统计图;
图2为本发明提供的提高实时压缩视频流网络发送效率的系统结构示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
根据本发明提供的提高实时压缩视频流网络发送效率的方法,通过在tcp/ip协议栈的ip层增加发送速率控制单元,能同时为位于上层的tcp协议和udp协议提供发送速率控制。根据实际图像延时的要求,可设置该速率控制单元允许的最大速率为1.2倍至1.6倍的视频平均码率。
如图2所示,根据本发明提供的提高实时压缩视频流网络发送效率的系统,包括:
目的ip地址与端口获取模块:用于在创建媒体传输通道时,获取码流接收方的ip地址和端口号,即目的ip地址和目的端口号;
发送速率控制单元:用于在ip协议层和mac层之间按照设定的规则控制ip数据包的发送速率;
发送模块:用于按照发送速率控制单元的发送速率将ip数据包发送视频流至mac层。
所述发送速率控制单元还用于通过解析ip包头中的目的ip地址和目的端口号,使得对去往该目的ip地址和目的端口号的ip数据包的发送速率为目标速率,具体地,包括能够设定目标控制速率为发送媒体的实际码率的1.2倍至1.6倍。
具体实现步骤为:
步骤1:创建媒体传输通道时,获取码流接收方的ip地址和端口号,即目的ip地址和目的端口号;
步骤2:在ip协议层和mac层之间创建码流发送速率控制单元,并设定规则:通过解析ip包头中的目的ip地址和目的端口号,对去往该目的ip地址和目的端口号的ip数据包,控制该ip数据包发送速率为目标速率。可设定目标控制速率为发送媒体的实际码率的1.2倍至1.6倍。
步骤3:发送视频流;
步骤4:当要关闭媒体传输通道时,关闭该媒体通道对应的速率控制单元。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,
本技术:
的实施例和实施例中的特征可以任意相互组合。