CN116208584A - 适用于多网卡设备的流媒体传输优化方法、设备及介质 - Google Patents
适用于多网卡设备的流媒体传输优化方法、设备及介质 Download PDFInfo
- Publication number
- CN116208584A CN116208584A CN202310466500.3A CN202310466500A CN116208584A CN 116208584 A CN116208584 A CN 116208584A CN 202310466500 A CN202310466500 A CN 202310466500A CN 116208584 A CN116208584 A CN 116208584A
- Authority
- CN
- China
- Prior art keywords
- network card
- rtp
- network
- streaming media
- rtp session
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种适用于多网卡设备的流媒体传输优化方法,包括:获取对讲设备中网卡的网卡信息和带宽信息;获取流媒体服务器的服务器信息;根据网卡信息、服务器信息建立RTP会话;根据带宽信息初始化RTP会话的权重值;获取RTP会话的网络负载情况,并动态调整RTP会话的权重值;当对讲设备采集到待发送的RTP数据包时,查询各条RTP会话的权重值与已发送RTP数据包的个数,并计算比值;根据计算结果找出比值最大的RTP会话将待发送的RTP数据包发送给流媒体服务器;所述待发送的RTP包发送成功后,更新已发送RTP数据包的个数。本发明还公开了一种电子设备及一种计算机可读存储介质,提升流媒体传输效率。
Description
技术领域
本发明涉及流媒体传输技术领域,尤其涉及一种适用于多网卡设备的流媒体传输优化方法、设备及介质。
背景技术
在智能对讲方案中,用户需要进行远程监控或者远程通话的功能,目前该功能基本上都选择TCP/IP网络进行流媒体传输,因此远程监控或者远程通话的功能体验是否优秀与实际的传输网络有着很大的关系。想要触达远程监控或者远程通话等功能体验的上限,除了需要优秀的音视频编码技术,同时也需要网络状态足够稳定。但现实中TCP/IP网络采用分组转发的方式进行传输数据包,提供尽力而为的传送服务,会存在丢包、转发不及时和网络带宽不足的影响。从而导致流媒体传输过程并没有特别稳定的网络(甚至为“弱网环境”),在这类场景下保证远程监控或者远程通话体验的“下限”也十分重要。
现有技术存在如下几个问题:
1、目前基于互联网的音视频流媒体交互系统中,现有的对讲设备中,大多数方案采用单个网卡建立单条RTP会话传输音视频码流的方式进行传输,流媒体的传输带宽上限容易受网络接入带宽的限制和网络负载影响,网络接入带宽往往受外部物理环境(如光纤的铺设情况)影响比较大,传输带宽很难能够随时升级,从而导致流媒体传输出现网络数据包延迟、抖动、丢包等问题,并且严重影响用户的交互体验;
2、流媒体处理属于应用层软件,面向多网卡的设备,多网卡设备操作需要系统层支持。而现有的流媒体方案通常选择默认的单个网卡建立单条RTP流传输,导致流媒体的传输带宽为默认网卡的传输的带宽,无法完全利用多网卡的优势特点。
针对网络传输带宽不足和网络负载过大造成流媒体传输效率低下的问题,亟需一个适用于多网卡智能对讲设备的流媒体传输优化方法。
发明内容
有鉴于此,本发明的目的在于提出一种适用于多网卡设备的流媒体传输优化方法,可以简单有效地提升流媒体传输效率,从而提高远程监控和远程通话的用户体验。
为了实现上述的技术目的,本发明所采用的技术方案为:
本发明提供了一种适用于多网卡设备的流媒体传输优化方法,包括如下步骤:
步骤1、获取具有多个网卡的对讲设备中各个网卡的网卡信息和带宽信息;
步骤2、获取流媒体服务器的服务器信息;
步骤3、根据所述各个网卡的网卡信息、服务器信息建立多条RTP会话;
步骤4、根据所述各个网卡的带宽信息初始化各条RTP会话的权重值;
步骤5、获取各条RTP会话的网络负载情况,并动态调整RTP会话的权重值;
步骤6、当所述对讲设备采集到待发送的RTP数据包时,查询各条RTP会话的权重值与已发送RTP数据包的个数,并计算各条RTP会话的权重值与已发送RTP数据包的个数的比值;
步骤7、根据计算结果找出比值最大的RTP会话作为目标RTP会话,所述对讲设备通过目标RTP会话将待发送的RTP数据包发送给流媒体服务器;
步骤8、所述待发送的RTP包发送成功后,更新已发送RTP数据包的个数。
进一步的,所述步骤1具体包括:
步骤11、调用系统接口获取具有多个网卡的对讲设备中各个网卡的网卡信息,所述网卡信息包括网卡IP地址和网卡设备名称;
步骤12、获取用户预设的公网服务器的IP地址和端口,根据公网服务器的IP地址和端口并使用iperf工具测试各个网卡到公网服务器的网络带宽性能,测试后获取各个网卡的带宽信息,记为DB(n);
步骤13、将所述网卡信息和带宽信息保存到内存中。
进一步的,所述步骤2具体为:
当通话建立后,实时进行网络检测,获取所述流媒体服务器的服务器信息,所述服务器信息包括服务器IP地址和端口号,所述服务器IP地址和端口号是通过动态协商获取或者用户预先设置。
进一步的,所述步骤3具体包括:
步骤31、根据各个网卡所对应的网卡IP地址和网卡设备名称、服务器IP地址和端口号进行会话通道配置;
步骤32、根据配置的信息在对讲设备中不同的网卡与流媒体服务器中的端口之间建立多条RTP会话,记为RTPSession(n);
步骤33、每个网卡对应一条RTP会话,对每条RTP会话进行编号,将每个编号与每个网卡的网卡IP地址进行一一关联。
进一步的,所述步骤4具体包括:
步骤41、根据所述各个网卡的带宽信息DB(n)值的大小确定各个网卡的最大带宽;
步骤42、所述网卡的带宽与RTP会话的权重成正比,根据各个网卡的最大带宽确定出各条RTP会话的最大权重,并初始化各条RTP会话的权重值大小,记为W(n)。
进一步的,所述步骤5具体包括:
步骤51、在发送RTP数据包的过程中,通过RTCP协议实时获取各条RTP会话对应的流媒体服务器的端口接收RTP数据包的情况;
步骤52、根据各条RTP会话对应的流媒体服务器的端口接收RTP数据包的情况,估算出各条RTP会话的网络负载情况;
步骤53、根据各条RTP会话的网络负载情况动态调整RTP会话的权重值W(n),各条RTP会话的网络负载的大小与权重值的大小成反比,当网络负载变大时,需要减小权重值W(n),减小该条RTP会话的RTP数据包发送次数;当网络负载变小时,需要增加权重值W(n),增加该条RTP会话的RTP数据包发送次数。
进一步的,所述步骤7具体包括:
步骤71、根据计算结果找出比值最大的RTP会话作为目标RTP会话;
步骤72、根据所述目标RTP会话的编号找到对应的网卡IP地址;
步骤73、根据对应的网卡IP地址找到目标网卡,所述对讲设备通过目标网卡将待发送的RTP数据包经由目标RTP会话发送给流媒体服务器。
进一步的,所述步骤73之后还包括:
步骤74、所述流媒体服务器将待发送的RTP数据包转发给客户端,所述客户端为手机、平板、PC机或对讲机。
本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述的一种适用于多网卡设备的流媒体传输优化方法。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述的一种适用于多网卡设备的流媒体传输优化方法。
采用上述的技术方案,本发明与现有技术相比,其具有的有益效果为:
1、本发明基于支持多网卡的对讲设备,通过对讲设备的多个网卡与流媒体服务器建立多条RTP会话进行流媒体网络传输,实际的流媒体传输带宽为多条会话之和,可以有效提升RTP的传输带宽,从而让用户得到更好的音视频体验;
2、对各条RTP会话进行实时监测,并获取各个传输路径的网络传输负载状况,根据各个网络的网络带宽和实时的网络负载状况,选择合适的传输路径进行流媒体数据包的分发操作,动态调整各个网卡的RTP数据包发送比例,提高传输带宽的有效利用率。相比传统的单条RTP会话工作模式,可以最大化利用整机的网络带宽资源;
3、本方案采用软件来实时控制网卡的切换,用户可以根据实际应用场景来增加或者删减网卡硬件模块,相比目前的方案,扩展性更强。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种适用于多网卡设备的流媒体传输优化方法的流程图。
图2是本发明实施例提供的一种适用于多网卡设备的流媒体传输优化方法的执行图。
图3是本发明实施例提供的对讲设备、流媒体服务器和客户端的架构图。
图4是是本发明实施例提供的一种适用于多网卡设备的流媒体传输优化系统框图。
图5是本发明实施例提供的一种电子设备的示意图。
图6是本发明实施例提供的一种计算机可读存储介质的示意图。
具体实施方式
下面结合附图和实施例,对本发明作进一步的详细描述。特别指出的是,以下实施例仅用于说明本发明,但不对本发明的范围进行限定。同样的,以下实施例仅为本发明的部分实施例而非全部实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明提供一种适用于多网卡设备的流媒体传输优化方法,可以简单有效地提升流媒体传输效率,从而提高远程监控和远程通话的用户体验。
请参见图1-2,在智能对接方案,通常采用RTP/RTCP协议进行流媒体传输,面对音视频传输宽带不足和传输网络过大的问题,本发明一种适用于多网卡设备的流媒体传输优化方法,包括如下步骤:
步骤1、获取具有多个网卡的对讲设备中各个网卡的网卡信息和带宽信息;所述对讲设备支持wifi无线网络、4G/5G移动网络。本实施例中,所述步骤1具体包括:
步骤11、调用系统接口获取具有多个网卡的对讲设备中各个网卡的网卡信息,所述网卡信息包括网卡IP地址和网卡设备名称;
步骤12、获取用户预设的公网服务器的IP地址和端口,根据公网服务器的IP地址和端口并使用iperf(Iperf是一个网络带宽性能测试工具)工具测试各个网卡到公网服务器的网络带宽性能,测试后获取各个网卡的带宽信息,记为DB(n);
步骤13、将所述网卡信息和带宽信息保存到内存中,提供给步骤3和步骤4进行处理。所述对讲设备支持多个网卡,通过对讲设备的多个网卡与流媒体服务器建立多条RTP会话进行流媒体网络传输,实际的流媒体传输带宽为多条会话之和,可以有效提升RTP的传输带宽,从而让用户得到更好的音视频体验。
步骤2、获取流媒体服务器的服务器信息;
本实施例中,所述步骤2具体为:
当通话建立后,实时进行网络检测,获取所述流媒体服务器的服务器信息,所述服务器信息包括服务器IP地址和端口号,所述服务器IP地址和端口号是通过动态协商获取或者用户预先设置。提前获取服务器信息是为了在后期进行会话建立的时候,可以明确是与具体对应的服务器进行通讯。
步骤3、根据所述各个网卡的网卡信息、服务器信息建立多条RTP会话;
本实施例中,所述步骤3具体包括:
步骤31、根据各个网卡所对应的网卡IP地址和网卡设备名称、服务器IP地址和端口号进行会话通道配置;例如:具有3个网卡,则第一个网卡对应的网卡IP地址和网卡设备名称分别为001和网卡1,第二个网卡对应的网卡IP地址和网卡设备名称分别为002和网卡2,第三个网卡对应的网卡IP地址和网卡设备名称分别为003和网卡3,流媒体服务器的数量为1,其对应的服务器IP地址为111,其端口至少有1个,本实施例中,设有3个端口,端口1、端口2和端口3对应的端口号分别为00a、00b和00c。会话通道配置方式可以为:将网卡IP地址为001的网卡1对应连接端口号00a的端口1,将网卡IP地址为002的网卡2对应连接端口号00b的端口2,将网卡IP地址为003的网卡3对应连接端口号00c的端口3,这种一个网卡对应一个端口的配置形式;会话通道配置方式还可以为:将网卡IP地址为001的网卡1对应连接端口号00a的端口1,将网卡IP地址为002的网卡2对应连接端口号00a的端口1,将网卡IP地址为003的网卡3对应连接端口号00a的端口1,这种多个网卡对应一个端口的配置形式。具体的配置形式由用户自行进行设定。
步骤32、根据配置的信息在对讲设备中不同的网卡与流媒体服务器中的端口之间建立多条RTP会话,记为RTPSession(n);建立多条RTP会话进行流媒体网络传输,实际的流媒体传输带宽为多条会话之和,可以有效提升RTP的传输带宽,从而让用户得到更好的音视频体验。
步骤33、每个网卡对应一条RTP会话,对每条RTP会话进行编号,将每个编号与每个网卡的网卡IP地址进行一一关联。在确定好传输的RTP会话后,通过RTP会话的编号与网卡IP地址的关系,可以准确、快速地找到对应的网卡,提高传输效率。
步骤4、根据所述各个网卡的带宽信息初始化各条RTP会话的权重值;
本实施例中,所述步骤4具体包括:
步骤41、根据所述各个网卡的带宽信息DB(n)值的大小确定各个网卡的最大带宽;
步骤42、所述网卡的带宽与RTP会话的权重成正比,根据各个网卡的最大带宽确定出各条RTP会话的最大权重,并初始化各条RTP会话的权重值大小,记为W(n)。当该条RTP会话的网络带宽DB越大时,该条RTP会话的权重值W(n)越大,需要发送的RTP数据包越多。例如,某一网卡的带宽(最大)为100M时,此时还未开始检测网络负载,认为网络负载(最小)为0,则设置这一条RTP会话的权重初始值(最大)为100,权重值可以反应网络带宽和网络负载情况,根据配置权重值方便实时动态调整其大小。
步骤5、获取各条RTP会话的网络负载情况,并动态调整RTP会话的权重值;
本实施例中,所述步骤5具体包括:
步骤51、在发送RTP数据包的过程中,通过RTCP协议实时获取各条RTP会话对应的流媒体服务器的端口接收RTP数据包的情况;
步骤52、根据各条RTP会话对应的流媒体服务器的端口接收RTP数据包的情况,估算出各条RTP会话的网络负载情况;
步骤53、根据各条RTP会话的网络负载情况动态调整RTP会话的权重值W(n),各条RTP会话的网络负载的大小与权重值的大小成反比,当网络负载变大时,需要减小权重值W(n),减小该条RTP会话的RTP数据包发送次数;当网络负载变小时,需要增加权重值W(n),增加该条RTP会话的RTP数据包发送次数。例如:所述网络负载的最大值根据初始化的最大权重值进行设定。由于设置的权重值最大为100,则网络负载的最大值也为100,网络负载的大小与权重值的大小成反比,网络负载的大小范围是从0-100,而权重值的调整范围是从100-0。当还未检测网络负载时(网络负载为0),此时权重值为100,开始实时进行检测网络负载,当网络负载从0变大为50时,对应的权重值也从100减小为50,当网络负载从50变大为80时,对应的权重值也从50减小为20,当网络负载从80变小为30时,对应的权重值也从20增加为70,当网络负载从30变大为100时,对应的权重值也从70减小为0。也就是说,权重值的大小会随着网络负载的大小变化而发生相应的变化。
对各条RTP会话进行实时监测,并获取各个传输路径的网络传输负载状况,根据各个网卡的网络带宽和实时的网络负载状况,动态调整权重值,权重值可以反应出各条RTP会话的网络负载状况,为后期分配RTP会话的路径提供依据,选择最合适的RTP会话进行的传输。
步骤6、当所述对讲设备通过RTP协议采集到待发送的RTP数据包(对讲设备收到设备端的用户发来的音频RTP包和视频RTP包)时,查询各条RTP会话的权重值W(n)与已发送RTP数据包的个数N(n),并计算各条RTP会话的权重值与已发送RTP数据包的个数的比值,记为b(n),b(n)=W(n)/N(n),比值越大,说明网络负载越小,网络带宽越好,因此,选择比值b(n)最大的那路RTP会话RTPSession(i)来发送RTP包,可以提高传输带宽的有效利用率;
步骤7、根据计算结果找出比值最大的RTP会话作为目标RTP会话,所述对讲设备通过目标RTP会话将待发送的RTP数据包发送给流媒体服务器;
本实施例中,所述步骤7具体包括:
步骤71、根据计算结果找出比值最大的RTP会话作为目标RTP会话;
步骤72、根据所述目标RTP会话的编号找到对应的网卡IP地址;
步骤73、根据对应的网卡IP地址找到目标网卡,所述对讲设备通过目标网卡将待发送的RTP数据包经由目标RTP会话发送给流媒体服务器。选择合适的传输路径进行流媒体数据包的分发操作,动态调整各个网卡的RTP数据包发送比例,可以提高传输带宽的有效利用率;
本实施例中,所述步骤73之后还包括:
步骤74、所述流媒体服务器将待发送的RTP数据包转发给客户端,所述客户端为手机、平板、PC机或对讲机。
步骤8、所述待发送的RTP包发送成功后,更新已发送RTP数据包的个数。
请参见图3-4,本发明一种适用于多网卡设备的流媒体传输优化系统,包括:对讲设备、流媒体服务器和客户端,其中,对讲设备上增加了软件程序,即用于检测网络的网络监测模块。网络监测模块主要包含网卡数据获取单元、服务器数据获取单元、会话建立单元、权重初始化单元、权重调整单元、RTP包分发单元、RTP包发送单元和RTP包个数更新单元。
所述网卡数据获取单元,用于获取具有多个网卡的对讲设备中各个网卡的网卡信息和带宽信息;所述对讲设备支持wifi无线网络、4G/5G移动网络。
本实施例中,所述网卡数据获取单元具体包括:
调用系统接口获取具有多个网卡的对讲设备中各个网卡的网卡信息,所述网卡信息包括网卡IP地址和网卡设备名称;
获取用户预设的公网服务器的IP地址和端口,根据公网服务器的IP地址和端口并使用iperf(Iperf是一个网络带宽性能测试工具)工具测试各个网卡到公网服务器的网络带宽性能,测试后获取各个网卡的带宽信息,记为DB(n);
将所述网卡信息和带宽信息保存到内存中,提供给会话建立单元和权重初始化单元进行处理。所述对讲设备支持多个网卡,通过对讲设备的多个网卡与流媒体服务器建立多条RTP会话进行流媒体网络传输,实际的流媒体传输带宽为多条会话之和,可以有效提升RTP的传输带宽,从而让用户得到更好的音视频体验。
所述服务器数据获取单元,用于获取流媒体服务器的服务器信息;
本实施例中,所述服务器数据获取单元具体为:
当通话建立后,实时进行网络检测,获取所述流媒体服务器的服务器信息,所述服务器信息包括服务器IP地址和端口号,所述服务器IP地址和端口号是通过动态协商获取或者用户预先设置。提前获取服务器信息是为了在后期进行会话建立的时候,可以明确是与具体对应的服务器进行通讯。
所述会话建立单元,用于根据所述各个网卡的网卡信息、服务器信息建立多条RTP会话;
本实施例中,所述会话建立单元具体包括:
根据各个网卡所对应的网卡IP地址和网卡设备名称、服务器IP地址和端口号进行会话通道配置;例如:具有3个网卡,则第一个网卡对应的网卡IP地址和网卡设备名称分别为001和网卡1,第二个网卡对应的网卡IP地址和网卡设备名称分别为002和网卡2,第三个网卡对应的网卡IP地址和网卡设备名称分别为003和网卡3,流媒体服务器的数量为1,其对应的服务器IP地址为111,其端口至少有1个,本实施例中,设有3个端口,端口1、端口2和端口3对应的端口号分别为00a、00b和00c。会话通道配置方式可以为:将网卡IP地址为001的网卡1对应连接端口号00a的端口1,将网卡IP地址为002的网卡2对应连接端口号00b的端口2,将网卡IP地址为003的网卡3对应连接端口号00c的端口3,这种一个网卡对应一个端口的配置形式;会话通道配置方式还可以为:将网卡IP地址为001的网卡1对应连接端口号00a的端口1,将网卡IP地址为002的网卡2对应连接端口号00a的端口1,将网卡IP地址为003的网卡3对应连接端口号00a的端口1,这种多个网卡对应一个端口的配置形式。具体的配置形式由用户自行进行设定。
根据配置的信息在对讲设备中不同的网卡与流媒体服务器中的端口之间建立多条RTP会话,记为RTPSession(n);建立多条RTP会话进行流媒体网络传输,实际的流媒体传输带宽为多条会话之和,可以有效提升RTP的传输带宽,从而让用户得到更好的音视频体验。
每个网卡对应一条RTP会话,对每条RTP会话进行编号,将每个编号与每个网卡的网卡IP地址进行一一关联。在确定好传输的RTP会话后,通过RTP会话的编号与网卡IP地址的关系,可以准确、快速地找到对应的网卡,提高传输效率。
所述权重初始化单元,用于根据所述各个网卡的带宽信息初始化各条RTP会话的权重值;
本实施例中,所述权重初始化单元具体包括:
根据所述各个网卡的带宽信息DB(n)值的大小确定各个网卡的最大带宽;
所述网卡的带宽与RTP会话的权重成正比,根据各个网卡的最大带宽确定出各条RTP会话的最大权重,并初始化各条RTP会话的权重值大小,记为W(n)。当该条RTP会话的网络带宽DB越大时,该条RTP会话的权重值W越大,需要发送的RTP数据包越多。例如,某一网卡的带宽(最大)为100M时,此时还未开始检测网络负载,认为网络负载(最小)为0,则设置这一条RTP会话的权重初始值(最大)为100,权重值可以反应网络带宽和网络负载情况,根据配置权重值方便实时动态调整其大小。
所述权重调整单元,用于获取各条RTP会话的网络负载情况,并动态调整RTP会话的权重值;
本实施例中,所述权重调整单元具体包括:
在发送RTP数据包的过程中,通过RTCP协议实时获取各条RTP会话对应的流媒体服务器的端口接收RTP数据包的情况;
根据各条RTP会话对应的流媒体服务器的端口接收RTP数据包的情况,估算出各条RTP会话的网络负载情况;
根据各条RTP会话的网络负载情况动态调整RTP会话的权重值W(n),各条RTP会话的网络负载的大小与权重值的大小成反比,当网络负载变大时,需要减小权重值W(n),减小该条RTP会话的RTP数据包发送次数;当网络负载变小时,需要增加权重值W(n),增加该条RTP会话的RTP数据包发送次数。例如:所述网络负载的最大值根据初始化的最大权重值进行设定。由于设置的权重值最大为100,则网络负载的最大值也为100,网络负载的大小与权重值的大小成反比,网络负载的大小范围是从0-100,而权重值的调整范围是从100-0。当还未检测网络负载时(网络负载为0),此时权重值为100,开始实时进行检测网络负载,当网络负载从0变大为50时,对应的权重值也从100减小为50,当网络负载从50变大为80时,对应的权重值也从50减小为20,当网络负载从80变小为30时,对应的权重值也从20增加为70,当网络负载从30变大为100时,对应的权重值也从70减小为0。也就是说,权重值的大小会随着网络负载的大小变化而发生相应的变化。
对各条RTP会话进行实时监测,并获取各个传输路径的网络传输负载状况,根据各个网卡的网络带宽和实时的网络负载状况,动态调整权重值,权重值可以反应出各条RTP会话的网络负载状况,为后期分配RTP会话的路径提供依据,选择最合适的RTP会话进行的传输。
所述RTP包分发单元,用于当所述对讲设备通过RTP协议采集到待发送的RTP数据包(对讲设备收到设备端的用户发来的音频RTP包和视频RTP包)时,查询各条RTP会话的权重值W(n)与已发送RTP数据包的个数N(n),并计算各条RTP会话的权重值与已发送RTP数据包的个数的比值,记为b(n),b(n)=W(n)/N(n),比值越大,说明网络负载越小,网络带宽越好,因此,选择比值b(n)最大的那路RTP会话RTPSession(i)来发送RTP包,可以提高传输带宽的有效利用率;
所述RTP包发送单元,用于根据计算结果找出比值最大的RTP会话作为目标RTP会话,所述对讲设备通过目标RTP会话将待发送的RTP数据包发送给流媒体服务器;
本实施例中,所述RTP包发送单元具体包括:
根据计算结果找出比值最大的RTP会话作为目标RTP会话;
根据所述目标RTP会话的编号找到对应的网卡IP地址;
根据对应的网卡IP地址找到目标网卡,所述对讲设备通过目标网卡将待发送的RTP数据包经由目标RTP会话发送给流媒体服务器。选择合适的传输路径进行流媒体数据包的分发操作,动态调整各个网卡的RTP数据包发送比例,可以提高传输带宽的有效利用率;
本实施例中,所述RTP包发送单元还包括:
所述流媒体服务器将待发送的RTP数据包转发给客户端,所述客户端为手机、平板、PC机或对讲机。
所述RTP包个数更新单元,用于在所述待发送的RTP包发送成功后,更新已发送RTP数据包的个数。
随着wifi技术和4G/5G移动网络的发展,相关的硬件模块也得到快速发展,支持多网卡扩展逐渐成为主流的设备标准,本发明利用多网卡扩展网络传输带宽,特别是无线接入的方式,可以灵活便捷地提升流媒体的传输带宽上线。该发明采用原始套接字的接口为每个网卡来建立一条rtp会话,并且根据各个会话的带宽、网络负载情况进行动态调整发包优先级,可以最大化利用网络传输带宽。本发明基于支持多个网卡(如wifi、5G移动网络)的设备,通过不同网卡建立多路RTP会话进行流媒体传输,可以提升网络带宽,另外通过监控各路会话的网络传输负载情况,动态调整发包策略,可以最大化利用网络带宽,提升流媒体传输效率和用户音视频体验。该发明包含硬件和软件两部分:硬件部分需要设备支持多网卡,通常可包含wifi无线网卡、或者4G/5G移动网络通讯模块;软件部分采用C语言编写,可以通过修改相关编译工具,移植到各个系统中。使用人员通过调用相关的函数接口,传入编码后RTP数据包和流媒体服务器IP地址和端口,就可以达到提升流媒体传输效率的目标。
如图5所示,本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的一种适用于多网卡设备的流媒体传输优化方法。
如图6所示,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的一种适用于多网卡设备的流媒体传输优化方法。
另外,在本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的部分实施例,并非因此限制本发明的保护范围,凡是利用本发明说明书及附图内容所作的等效装置或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种适用于多网卡设备的流媒体传输优化方法,其特征在于,包括如下步骤:
步骤1、获取具有多个网卡的对讲设备中各个网卡的网卡信息和带宽信息;
步骤2、获取流媒体服务器的服务器信息;
步骤3、根据所述各个网卡的网卡信息、服务器信息建立多条RTP会话;
步骤4、根据所述各个网卡的带宽信息初始化各条RTP会话的权重值;
步骤5、实时获取各条RTP会话的网络负载情况,并动态调整RTP会话的权重值;
步骤6、当所述对讲设备采集到待发送的RTP数据包时,查询当前各条RTP会话的权重值与已发送RTP数据包的个数,并计算各条RTP会话的权重值与已发送RTP数据包的个数的比值;
步骤7、根据计算结果找出比值最大的RTP会话作为目标RTP会话,所述对讲设备通过目标RTP会话将待发送的RTP数据包发送给流媒体服务器;
步骤8、所述待发送的RTP包发送成功后,更新已发送RTP数据包的个数。
2.如权利要求1所述的一种适用于多网卡设备的流媒体传输优化方法,其特征在于,所述步骤1具体包括:
步骤11、调用系统接口获取具有多个网卡的对讲设备中各个网卡的网卡信息,所述网卡信息包括网卡IP地址和网卡设备名称;
步骤12、获取用户预设的公网服务器的IP地址和端口,根据公网服务器的IP地址和端口并使用iperf工具测试各个网卡到公网服务器的网络带宽性能,测试后获取各个网卡的带宽信息,记为DB(n);
步骤13、将所述网卡信息和带宽信息保存到内存中。
3.如权利要求2所述的一种适用于多网卡设备的流媒体传输优化方法,其特征在于,所述步骤2具体为:
当通话建立后,实时进行网络检测,获取所述流媒体服务器的服务器信息,所述服务器信息包括服务器IP地址和端口号,所述服务器IP地址和端口号是通过动态协商获取或者用户预先设置。
4.如权利要求3所述的一种适用于多网卡设备的流媒体传输优化方法,其特征在于,所述步骤3具体包括:
步骤31、根据各个网卡所对应的网卡IP地址和网卡设备名称、服务器IP地址和端口号进行会话通道配置;
步骤32、根据配置的信息在对讲设备中不同的网卡与流媒体服务器中的端口之间建立多条RTP会话,记为RTPSession(n);
步骤33、每个网卡对应一条RTP会话,对每条RTP会话进行编号,将每个编号与每个网卡的网卡IP地址进行一一关联。
5.如权利要求1所述的一种适用于多网卡设备的流媒体传输优化方法,其特征在于,所述步骤4具体包括:
步骤41、根据所述各个网卡的带宽信息DB(n)值的大小确定各个网卡的最大带宽;
步骤42、所述网卡的带宽与RTP会话的权重成正比,根据各个网卡的最大带宽确定出各条RTP会话的最大权重,并初始化各条RTP会话的权重值大小,记为W(n)。
6.如权利要求1所述的一种适用于多网卡设备的流媒体传输优化方法,其特征在于,所述步骤5具体包括:
步骤51、在发送RTP数据包的过程中,通过RTCP协议实时获取各条RTP会话对应的流媒体服务器的端口接收RTP数据包的情况;
步骤52、根据各条RTP会话对应的流媒体服务器的端口接收RTP数据包的情况,估算出各条RTP会话的网络负载情况;
步骤53、根据各条RTP会话的网络负载情况动态调整RTP会话的权重值W(n),各条RTP会话的网络负载的大小与权重值的大小成反比,当网络负载变大时,需要减小权重值W(n),减小该条RTP会话的RTP数据包发送次数;当网络负载变小时,需要增加权重值W(n),增加该条RTP会话的RTP数据包发送次数。
7.如权利要求4所述的一种适用于多网卡设备的流媒体传输优化方法,其特征在于,所述步骤7具体包括:
步骤71、根据计算结果找出比值最大的RTP会话作为目标RTP会话;
步骤72、根据所述目标RTP会话的编号找到对应的网卡IP地址;
步骤73、根据对应的网卡IP地址找到目标网卡,所述对讲设备通过目标网卡将待发送的RTP数据包经由目标RTP会话发送给流媒体服务器。
8.如权利要求7所述的一种适用于多网卡设备的流媒体传输优化方法,其特征在于,所述步骤73之后还包括:
步骤74、所述流媒体服务器将待发送的RTP数据包转发给客户端,所述客户端为手机、平板、PC机或对讲机。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述的一种适用于多网卡设备的流媒体传输优化方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8任一项所述的一种适用于多网卡设备的流媒体传输优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310466500.3A CN116208584B (zh) | 2023-04-27 | 2023-04-27 | 适用于多网卡设备的流媒体传输优化方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310466500.3A CN116208584B (zh) | 2023-04-27 | 2023-04-27 | 适用于多网卡设备的流媒体传输优化方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116208584A true CN116208584A (zh) | 2023-06-02 |
CN116208584B CN116208584B (zh) | 2023-07-07 |
Family
ID=86513174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310466500.3A Active CN116208584B (zh) | 2023-04-27 | 2023-04-27 | 适用于多网卡设备的流媒体传输优化方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116208584B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557499A (zh) * | 2008-04-09 | 2009-10-14 | 中兴通讯股份有限公司 | 媒体交付系统及方法、媒体交付系统资源更新方法 |
CN102137047A (zh) * | 2011-03-21 | 2011-07-27 | 华中科技大学 | 一种多参数媒体适配网关及其适配方法 |
CN103596290A (zh) * | 2013-10-24 | 2014-02-19 | 西南交通大学 | 一种无线多网融合方法 |
CN103634299A (zh) * | 2013-11-14 | 2014-03-12 | 北京邮电大学 | 基于多连接的实时流媒体传输终端与方法 |
US20170230260A1 (en) * | 2016-02-09 | 2017-08-10 | GlassBox Ltd. | System and method for recording web sessions |
CN107959672A (zh) * | 2017-11-09 | 2018-04-24 | 厦门普杰信息科技有限公司 | 一种基于达尔文流媒体服务器的中转组播方法 |
WO2023061119A1 (zh) * | 2021-10-14 | 2023-04-20 | 华为技术有限公司 | 一种流的搬移方法及网络设备 |
-
2023
- 2023-04-27 CN CN202310466500.3A patent/CN116208584B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557499A (zh) * | 2008-04-09 | 2009-10-14 | 中兴通讯股份有限公司 | 媒体交付系统及方法、媒体交付系统资源更新方法 |
CN102137047A (zh) * | 2011-03-21 | 2011-07-27 | 华中科技大学 | 一种多参数媒体适配网关及其适配方法 |
CN103596290A (zh) * | 2013-10-24 | 2014-02-19 | 西南交通大学 | 一种无线多网融合方法 |
CN103634299A (zh) * | 2013-11-14 | 2014-03-12 | 北京邮电大学 | 基于多连接的实时流媒体传输终端与方法 |
US20170230260A1 (en) * | 2016-02-09 | 2017-08-10 | GlassBox Ltd. | System and method for recording web sessions |
CN107959672A (zh) * | 2017-11-09 | 2018-04-24 | 厦门普杰信息科技有限公司 | 一种基于达尔文流媒体服务器的中转组播方法 |
WO2023061119A1 (zh) * | 2021-10-14 | 2023-04-20 | 华为技术有限公司 | 一种流的搬移方法及网络设备 |
Non-Patent Citations (5)
Title |
---|
和智衡: "基于多链路聚合的移动视频终端设计与实现", 中国优秀硕士学位论文全文数据库 信息科技辑, pages 136 - 353 * |
张勇;路红霞;: "基于多网卡绑定的视频传输系统的设计与实现", 广东通信技术, no. 05 * |
王文革;郑三立;王文彬;纪勇;: "流媒体技术在变电站遥视系统中的研究与实现", 中国电力, no. 07 * |
谢文辉;郑胜林;谭建斌;: "RTCP在流媒体传输中的算法应用研究", 微处理机, no. 03 * |
鲁宏伟,尚艳艳: "Linux下的多网卡接口的一种负载均衡算法", 小型微型计算机系统, no. 04 * |
Also Published As
Publication number | Publication date |
---|---|
CN116208584B (zh) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7684396B2 (en) | Transmission apparatus having a plurality of network interfaces and transmission method using the same | |
CN101068236B (zh) | 流媒体码率控制方法、系统和设备 | |
US7327708B2 (en) | Multimedia traffic optimization | |
CN101720136B (zh) | 客户端邻居节点数目控制方法和装置、缓存系统 | |
US10367893B1 (en) | Method and apparatus of performing peer-to-peer communication establishment | |
CN111937364A (zh) | 无线网络系统中处理数据路径创建的方法和系统 | |
WO2008110871A2 (en) | Method of transmitting data in a communication system | |
CN103348657B (zh) | 流媒体播放方法、设备及系统 | |
KR20230150878A (ko) | 데이터 송신 방법 및 장치, 그리고 서버, 저장 매체, 및 프로그램 제품 | |
CN111917562A (zh) | 广播消息转发方法、装置、设备及存储介质 | |
WO2007022440A2 (en) | Resource selection in a communication network | |
CN116208584B (zh) | 适用于多网卡设备的流媒体传输优化方法、设备及介质 | |
RU2595526C2 (ru) | Способ, устройство и система для записи мультимедийных данных | |
CN110868747B (zh) | 一种可应用于多网络模式检测延时并自动切换的方法 | |
KR20050084760A (ko) | 정보 처리 장치, 및 정보 처리 방법, 및 컴퓨터·프로그램 | |
CN101827036A (zh) | 一种实现家庭网关组播业务配置的方法及装置 | |
CN106791992A (zh) | 信号源推送方法和系统 | |
CN110572851A (zh) | 一种数据上传方法、系统、装置及计算机可读存储介质 | |
CN108055660B (zh) | 在网络通道中传输数据的方法和物联网终端 | |
CN116248644A (zh) | 一种基于WebRTC推流技术的优化方法 | |
CN109195187B (zh) | 基于网络切片服务器日志文件的切换网络切片方法 | |
CN105230074B (zh) | 视频缓存切换处理方法、装置和系统 | |
CN109684081B (zh) | 一种集群内负载均衡的分配处理方法 | |
KR101937449B1 (ko) | 동영상 서비스 장치 및 동영상 서비스 방법 | |
EP1958363A2 (en) | Lightweight communications protocol for reducing wireless data transactions in mobile subscriber sessions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |