CN113965752A - 一种srt推流码率自适应方法及系统 - Google Patents

一种srt推流码率自适应方法及系统 Download PDF

Info

Publication number
CN113965752A
CN113965752A CN202111136136.1A CN202111136136A CN113965752A CN 113965752 A CN113965752 A CN 113965752A CN 202111136136 A CN202111136136 A CN 202111136136A CN 113965752 A CN113965752 A CN 113965752A
Authority
CN
China
Prior art keywords
network
srt
network state
protocol message
code rate
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.)
Pending
Application number
CN202111136136.1A
Other languages
English (en)
Inventor
王磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Weimeng Chuangke Network Technology China Co Ltd
Original Assignee
Weimeng Chuangke Network Technology China Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Weimeng Chuangke Network Technology China Co Ltd filed Critical Weimeng Chuangke Network Technology China Co Ltd
Priority to CN202111136136.1A priority Critical patent/CN113965752A/zh
Publication of CN113965752A publication Critical patent/CN113965752A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供一种SRT推流码率自适应方法及系统,包括:将原始音视频数据压缩编码后按设定的输出码率进行输出;通过SRT协议栈接收压缩编码后的音视频数据封装成SRT协议报文;周期性收集通过SRT协议栈在推流SRT协议报文过程中所产生的基本状态信息;根据基本状态信息,计算得到各周期SRT协议报文所在推流网络的网络状态变量并进行分析,得到每个周期推流网络的网络状态;并根据多个周期推流网络的网络状态,分析出推流网络的网络状态变化趋势;根据网络状态变化趋势,配置将原始音视频数据压缩编码后进行输出的新输出码率。基于SRT协议栈的统计信息来监控网络状态变化;自动调整视频编码器的输出码率,避免网络被拥塞。

Description

一种SRT推流码率自适应方法及系统
技术领域
本发明涉及流媒体领域,具体涉及一种SRT推流码率自适应方法及系统。
背景技术
在直播推流时,采用SRT作为直播推流协议,但是通过SRT作为直播推流协议具有如下缺点:没有拥塞控制,当网络变差造成报文丢失时,希望通过重发更多的报文,来弥补报文的丢失。但发送更多的报文,会增加发送速率,反而会使网络更加拥塞,造成网络的进一步恶化。SRT协议允许丢弃数据,当数据不能即时发送时,会将数据丢弃,使得视频数据不完整,造成花屏。
发明内容
本发明实施例提供一种SRT推流码率自适应方法及系统,仅基于SRT协议栈的统计信息,来监控网络状态的变化;自动调整视频编码器的输出码率,计算出合适的码率来适应网络变化,既能避免网络被拥塞。
为达上述目的,一方面,本发明实施例提供一种SRT推流码率自适应方法,包括:
将原始音视频数据压缩编码后按设定的输出码率进行输出;
通过SRT协议栈接收压缩编码后的音视频数据封装成SRT协议报文,并推流到服务器;其中,所述SRT协议栈遵守传输协议SRT规范;
周期性收集通过SRT协议栈在推流SRT协议报文过程中所产生的基本状态信息;
根据每个周期SRT协议栈在推流SRT协议报文过程中的基本状态信息,计算得到各周期SRT协议报文所在推流网络的网络状态变量;对每个周期SRT协议报文所在推流网络的网络状态变量进行分析,得到每个周期SRT协议报文所在推流网络的网络状态;并根据多个周期SRT协议报文所在推流网络的网络状态,分析出SRT协议报文所在推流网络的网络状态变化趋势;
根据SRT协议报文所在推流网络的网络状态变化趋势,配置将原始音视频数据压缩编码后进行输出的新输出码率。
另一方面,本发明实施例提供一种SRT推流码率自适应系统,包括:
视频编码器,用于将原始音视频数据压缩编码后按设定的输出码率进行输出;
推流单元,用于通过SRT协议栈接收压缩编码后的音视频数据封装成SRT协议报文,并推流到服务器;其中,所述SRT协议栈遵守传输协议SRT规范;
SRT状态采集单元,用于周期性收集通过SRT协议栈在推流SRT协议报文过程中所产生的基本状态信息;根据每个周期SRT协议栈在推流SRT协议报文过程中的基本状态信息,计算得到各周期SRT协议报文所在推流网络的网络状态变量;
码率调整单元,用于对每个周期SRT协议报文所在推流网络的网络状态变量进行分析,得到每个周期SRT协议报文所在推流网络的网络状态;并根据多个周期SRT协议报文所在推流网络的网络状态,分析出SRT协议报文所在推流网络的网络状态变化趋势;根据SRT协议报文所在推流网络的网络状态变化趋势,配置将原始音视频数据压缩编码后进行输出的新输出码率。
上述技术方案具有如下有益效果:能够在不修改SRT协议栈的前提,仅基于SRT协议栈的统计信息,来监控网络状态的变化;自动调整视频编码器的输出码率,计算出合适的码率来适应网络变化,既能避免网络被拥塞。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种SRT推流码率自适应方法的流程图;
图2是本发明实施例的一种SRT推流码率自适应系统的结果图;
图3是本发明实施例的一种SRT推流码率自适应推流系统的原理图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明提供一种SRT推流码率自适应方法,包括:
S101:将原始音视频数据压缩编码后按设定的输出码率进行输出;
S102:通过SRT协议栈接收压缩编码后的音视频数据封装成SRT协议报文,并推流到服务器;其中,所述SRT协议栈遵守传输协议SRT规范;
S103:周期性收集通过SRT协议栈在推流SRT协议报文过程中所产生的基本状态信息;根据每个周期SRT协议栈在推流SRT协议报文过程中的基本状态信息,计算得到各周期SRT协议报文所在推流网络的网络状态变量;
S104:对每个周期SRT协议报文所在推流网络的网络状态变量进行分析,得到每个周期SRT协议报文所在推流网络的网络状态;并根据多个周期SRT协议报文所在推流网络的网络状态,分析出SRT协议报文所在推流网络的网络状态变化趋势;根据SRT协议报文所在推流网络的网络状态变化趋势,配置将原始音视频数据压缩编码后进行输出的新输出码率。
优选地,所述在推流SRT协议报文过程中的基本状态信息包括:发送报文数量、丢弃报文数量、重传报文数量、用于计算报文发送往返时间RTT的信息;
所述SRT协议报文所在推流网络的网络状态变量包括:重传报文占比、丢弃报文占比、RTT的变化趋势,其中:
所述重传报文占比为一个周期内重传报文数量与发送报文数量之比;
所述丢弃报文占比为一个周期内丢弃报文数量与发送报文数量之比;
所述RTT的变化趋势通过相邻两个周期的RTT差值进行预测,所述RTT差值是指相邻两个周期的RTT之间的变化量;当RTT差值大于0时,表示RTT的变化呈上升趋势;当RTT差值小于0,表示RTT的变化呈降低趋势;当RTT差值等于0时,表示RTT保持不变。
优选地,在步骤104中,所述对每个周期SRT协议报文所在推流网络的网络状态变量进行分析,得到每个周期SRT协议报文所在推流网络的网络状态,具体包括:
S1041:针对每个周期内SRT协议报文所在推流网络的网络状态变量,将每个网络状态变量与各自相应阈值进行比较,根据比较结果确定当前周期该推流网络的网络状态;
当SRT协议报文所在推流网络的任一网络状态变量大于其相应的阈值上限时,则表示该周期SRT协议报文所在推流网络的网络状态差;
当SRT协议报文所在推流网络的所有网络状态变量均小于各自相应的阈值下限时,则表示该周期SRT协议报文所在推流网络的网络状态好;
当SRT协议报文所在推流网络的所有网络状态变量均不大于各自相应的阈值上限、且不小于各自相应的阈值下限时,则表示该周期SRT协议报文所在推流网络的网络状态稳定;
所述根据多个周期SRT协议报文所在推流网络的网络状态,分析出SRT协议报文所在推流网络的网络状态的变化趋势,具体包括:
S1042:统计多个周期内SRT协议报文所在推流网络的各种网络状态的数量,根据各周期内各种网络状态的数量判断SRT协议报文所在推流网络的网络状态变化趋势,其中,网络状态的数量包括:网络状态差的数量、网络状态稳定的数量、网络状态好的数量;
当网络状态差的数量大于网络状态稳定的数量、且网络状态好的数量为0时,则判定SRT协议报文所在推流网络的网络状态的趋势变差;
当网络状态好的数量大于网络状态稳定的数量、且网络状态差的数量为0时,则判定SRT协议报文所在推流网络的网络状态的趋势变好;
否则,判定SRT协议报文所在推流网络的网络状态的趋势稳定。
优选地,在步骤104中,所述根据SRT协议报文所在推流网络的网络状态变化趋势,配置将原始音视频数据压缩编码后进行输出的新输出码率,具体包括:
S1043:当SRT协议报文所在推流网络的网络状态的趋势变差时,通过减低码率得到将原始音视频数据压缩编码后进行输出的新输出码率,所述新输出码率为当前码率与降低系数之积;
S1044:当SRT协议报文所在推流网络的网络状态的趋势变好时,通过提高码率得到将原始音视频数据压缩编码后进行输出的新输出码率,所述新输出码率为当前码率与增加系数之积;
S1045:当SRT协议报文所在推流网络的网络状态的趋势稳定时,则保持当前码率。
优选地,还包括:
S105:调整通过SRT协议栈在推流SRT协议报文过程中所产生的基本状态信息的收集周期长度,配置对推流网络的网络状态变化感知的灵敏度,和/或,
S106:调整SRT协议报文所在推流网络的各网络状态变量的相应阈值,配置对推流网络的网络状态变化感知的灵敏度。
如图2所示,结合本发明的实施例,提供一种SRT推流码率自适应系统,包括:
视频编码器21,用于将原始音视频数据压缩编码后按设定的输出码率进行输出;
推流单元22,用于通过SRT协议栈接收压缩编码后的音视频数据封装成SRT协议报文,并推流到服务器;其中,所述SRT协议栈遵守传输协议SRT规范;
SRT状态采集单元23,用于周期性收集通过SRT协议栈在推流SRT协议报文过程中所产生的基本状态信息;根据每个周期SRT协议栈在推流SRT协议报文过程中的基本状态信息,计算得到各周期SRT协议报文所在推流网络的网络状态变量;
码率调整单元24,用于对每个周期SRT协议报文所在推流网络的网络状态变量进行分析,得到每个周期SRT协议报文所在推流网络的网络状态;并根据多个周期SRT协议报文所在推流网络的网络状态,分析出SRT协议报文所在推流网络的网络状态变化趋势;根据SRT协议报文所在推流网络的网络状态变化趋势,配置将原始音视频数据压缩编码后进行输出的新输出码率。
优选地,所述在推流SRT协议报文过程中的基本状态信息包括:发送报文数量、丢弃报文数量、重传报文数量、用于计算报文发送往返时间RTT的信息;
所述SRT协议报文所在推流网络的网络状态变量包括:重传报文占比、丢弃报文占比、RTT的变化趋势,其中:
所述重传报文占比为该周期内重传报文数量与发送报文数量之比;
所述丢弃报文占比为该周期内丢弃报文数量与发送报文数量之比;
所述RTT的变化趋势通过相邻两个周期的RTT差值进行预测,所述RTT差值是指相邻两个周期的RTT之间的变化量;当RTT差值大于0时,表示RTT的变化呈上升趋势;当RTT差值小于0,表示RTT的变化呈降低趋势;当RTT差值等于0时,表示RTT保持不变。
优选地,所述码率调整单元24包括:
当前网络状态判断子单元241,用于针对每个周期内SRT协议报文所在推流网络的网络状态变量,将每个网络状态变量与各自相应阈值进行比较,根据比较结果确定当前周期该推流网络的网络状态;
当SRT协议报文所在推流网络的任一网络状态变量大于其相应的阈值上限时,则表示该周期SRT协议报文所在推流网络的网络状态差;
当SRT协议报文所在推流网络的所有网络状态变量均小于各自相应的阈值下限时,则表示该周期SRT协议报文所在推流网络的网络状态好;
当SRT协议报文所在推流网络的所有网络状态变量均不大于各自相应的阈值上限、且不小于各自相应的阈值下限时,则表示该周期SRT协议报文所在推流网络的网络状态稳定;
网络状态趋势判断子单元242,用于统计多个周期内SRT协议报文所在推流网络的各种网络状态的数量,根据各周期内各种网络状态的数量判断SRT协议报文所在推流网络的网络状态变化趋势,其中,网络状态的数量包括:网络状态差的数量、网络状态稳定的数量、网络状态好的数量;
当网络状态差的数量大于网络状态稳定的数量、且网络状态好的数量为0时,则判定SRT协议报文所在推流网络的网络状态的趋势变差;
当网络状态好的数量大于网络状态稳定的数量、且网络状态差的数量为0时,则判定SRT协议报文所在推流网络的网络状态的趋势变好;
否则,判定SRT协议报文所在推流网络的网络状态的趋势稳定。
优选地,所述码率调整单元24还包括:
码率控制器243,用于当SRT协议报文所在推流网络的网络状态的趋势变差时,通过减低码率得到将原始音视频数据压缩编码后进行输出的新输出码率,所述新输出码率为当前码率与降低系数之积;
当SRT协议报文所在推流网络的网络状态的趋势变好时,通过提高码率得到将原始音视频数据压缩编码后进行输出的新输出码率,所述新输出码率为当前码率与增加系数之积;
当SRT协议报文所在推流网络的网络状态的趋势稳定时,则保持当前码率。
优选地,所述SRT状态采集单元23包括周期调整子单元231,和/或,所述当前网络状态判断子单元241包括阈值调整模块241-1,其中:
周期调整子单元231,用于调整通过SRT协议栈在推流SRT协议报文过程中所产生的基本状态信息的收集周期长度,配置对推流网络的网络状态变化感知的灵敏度;
阈值调整模块241-1,用于调整SRT协议报文所在推流网络的各网络状态变量的相应阈值,配置对推流网络的网络状态变化感知的灵敏度。
本发明所取得的有益效果如下:
本技术方案实现了推流的流程与码率自适应流程的分离,码率自适应功能可根据需要随时的开启和关闭。可配置对网络状态变化感知的灵敏度,可配置码率自动调整的频率。可跟踪网络变化,自动计算出合适的码率,并调整视频编码器的输出码率:能够在网络变差时降低码率,网络恢复时提高码率。完全适用于SRT推流,无须修改SRT栈的实现。解决了SRT在弱网环境下,由于大量重传,造成网络拥塞更加严重的问题。
下面结合具体的应用实例对本发明实施例上述技术方案进行详细说明,实施过程中没有介绍到的技术细节,可以参考前文的相关描述。
本发明涉及的缩略语和关键术语定义如下:
视频直播:利用网络传输实时的音视频数据,人们可以在远端通过网络,观看正在进行的现场实况。
推流:将视频数据流从客户端(如:手机app)发送到服务端(服务器)的过程。
推流协议:是客户端与服务端之间的通信约定,服务端按照约定的数据格式,来解析收到的视频数据。
SRT:Secure Reliable Transport安全可靠传输协议,是一个开源的视频传输协议。
SRT协议栈:是遵守SRT协议规范的具体代码实现。
视频编码器:将原始视频图像,进行压缩编码,减少数据量,方便存储和传输。
报文:按照SRT协议格式封装的数据块。一帧完整的视频编码数据,会被分割成多个报文进行发送。
RTT:Round Trip Time往返时间,表示发送端从发送数据,到发送端收到接收应答所经历的时间。
码率:每秒传输的比特数,码率越大,数据量越大。
发送速率:每秒发送的比特数,速率越大,占用的网络带宽越大。
码率自适应:能够监控网络的状态,并自动调整视频编码器的输出码率大小,来适应网络状态变化的方法。当网络差时降低码率,网络恢复时增加码率。
码率自适应模块:是实现码率自适应方法的代码模块。
直播推流时,采用队列控制的方法:“根据发送队列中的数据积累数量,来判断网络状态的好坏”并不适用。因为SRT允许丢弃,发送队列中不会产生积累,所以这个方法无法适用于SRT。
通过发送速率的自适应方法也适用于直播推流,因为发送速率的自适应是根据当前发送速率的大小,来判断网络状态的好坏。但是SRT没有拥塞控制,网络差反而会增加发送速率。所以这个方法并不适用于SRT。
本发明为一种基于统计的SRT推流码率自适应方法,能够在不修改SRT协议栈的前提,仅基于SRT协议栈的统计信息,来监控网络状态的变化;自动调整视频编码器的输出码率,计算出合适的码率来适应网络变化,既能避免网络被拥塞,又能够合理的占用带宽。
本发明的技术方案的原理图如图3所示,其中本发明的推流系统具体包括如下设备:
摄像机:视频采集设备,负责将采集到的视频图像,传递给视频编码器进行编码。
视频编码器:接收来自摄像机的图像数据,按照设定好的码率,将图象压缩编码后,传递给SRT协议栈。
SRT协议栈:接收来自视频编码器的视频编码数据,将数据封装为SRT协议报文,然后通过网络发送给服务器。
服务器:接收来自网络的SRT协议报文,然后对报文解析,还原为视频编码数据,再进行后续处理。
SRT状态采集:定时(周期性)收集SRT协议栈传输过程中的基本状态信息(如:发送速率(监控使用)、发送报文数量、丢弃报文数量等),然后将收集的基本状态信息,传递给统计过滤器进行分析。
统计过滤器:接收来自SRT统计的基本状态信息,进行分析过滤,计算出用于网络状态判断所需的统计信息即判断推流SRT协议报文所在的网络状态的变量,比如:重传报文占比、丢弃报文占比、RTT变化趋势等,然后将用于网络状态判断所需的统计信息,传递给网络状态过滤器分析当前的网络状态。其中,往返时间RTT是指从发送数据到收到应答的用时,RTT变化趋势通过RTT的差值来预测,表示相邻RTT的变化量。差值>0,表示RTT上升;差值<0,表RTT降低。通过累计一段时间内的RTT差值,来表示一段时间内的RTT变化趋势。
网络状态过滤器:接收来自统计过滤器的用于网络状态判断所需的的统计信息,分析当前的网络状态,分析当前的网络状态的具体步骤为:
首先,统计过滤器已经统计出,用于判断当前网络状态的状态变量(如:重传报文占比、丢弃报文占比、RTT变化趋势)。
然后,将当前周期内各变量(SRT协议报文所在推流网络的网络状态变量)与相应的阈值进行比较,来判断当前的网络状态:
(1)当任一变量>最大阈值(阈值上限),表示网络状态差。
如:RTT累计差值>最大RTT趋势阈值,则表示网络延迟较大;
(2)当所有变量<最小阈值(阈值下限),表示网络状态好。
如:RTT累计差值<最小RTT趋势阈值,则表示网络延迟较小
(3)最大阈值>=所有变量<=最小阈值,表示网络状态稳定。
在分析出了当前周期的网络状态后,将该周期的每个网络状态作为一个样本记录下来,累计一段时间(多个周期,比如5-10个周期)的网络状态样本。计算判断这段时间的网络状态变化趋势:(1)网络状态差的数量>网络状态稳定的数量、且网络状态好的数量为0,则认为网络状态的趋势变差。(2)网络状态好的数量>网络状态稳定的数量、且网络状态差的数量为0,则认为网络状态的趋势变好。(3)不满中上面的条件,就是网络的趋势是稳定的。
在计算判断出网络状态的变化趋势后,给出码率调整建议(如:提高、保持、降低,,然后传递给码率控制器。其中,给出码率调整建议的依据是:依据是网络状态的变化趋势:趋势变差,则降低码率;趋势变好,则提高码率;趋势稳定,则保持码率。码率控制器:接收来自网络状态过滤器的调整建议,根据建议计算出适当的码率,当码率降低时:新码率=当前码率*降低系数;当码率提高时:新码率=当前码率*增加系数;建议码率保持则码率不变;然后根据新码率配置视频编码器的输出码率。从而实现码率自动适应网络变化的目的。一个完整的推流过程如下:
摄像机不断采集一帧帧的图像,然后将每帧图像通过视频编码器进行压缩编码,再通过SRT协议栈将视频编码封装为SRT报文,最后通过网络发送到服务端。
在推流的过程中,码率自适应模块定时采集SRT协议栈传输的状态信息,由统计过滤器过滤出用于网络状态监控的统计信息(用于网络状态判断所需的统计信息),交给网络状态过滤器,分析出网络变化趋势,给出码率调整建议,码率控制器根据建议计算出合适的码率,来调整视频编码器的输出码率。
最终在不修改SRT协议栈的情况下,实现了一个能够自动适应网络变化的SRT推流。
还有,可通过配置对网络状态变化感知的灵敏度,配置如下:
(1)可配置网络状态的检查时间间隔
时间间隔越小,对网络状态变化的反应速度越快;间隔越大,对网络状态变化的反应速度越慢。
(2)可配置各状态变量的阈值
如:最大RTT趋势阈值,值越大,对网络延迟增加的灵敏度越低;值越小,对网络延迟增加的灵敏度越高。
最小RTT趋势阈值,值越大,对网络延迟减小的灵敏度越高;值越大,对网络延迟减小的灵敏度越低。
综上,本技术方案实现了推流的流程与码率自适应流程的分离,码率自适应功能可根据需要随时的开启和关闭。完全适用于SRT推流,无须修改SRT协议栈的实现,基于SRT协议栈的统计信息,实现了网络状态监控和码率自动调整适应网络变化。
本发明所取得的有益效果如下:
本技术方案实现了推流的流程与码率自适应流程的分离,码率自适应功能可根据需要随时的开启和关闭。可配置对网络状态变化感知的灵敏度,可配置码率自动调整的频率。可跟踪网络变化,自动计算出合适的码率,并调整视频编码器的输出码率:能够在网络变差时降低码率,网络恢复时提高码率。完全适用于SRT推流,无须修改SRT栈的实现。解决了SRT在弱网环境下,由于大量重传,造成网络拥塞更加严重的问题。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种SRT推流码率自适应方法,其特征在于,包括:
将原始音视频数据压缩编码后按设定的输出码率进行输出;
通过SRT协议栈接收压缩编码后的音视频数据封装成SRT协议报文,并推流到服务器;其中,所述SRT协议栈遵守传输协议SRT规范;
周期性收集通过SRT协议栈在推流SRT协议报文过程中所产生的基本状态信息;
根据每个周期SRT协议栈在推流SRT协议报文过程中的基本状态信息,计算得到各周期SRT协议报文所在推流网络的网络状态变量;对每个周期SRT协议报文所在推流网络的网络状态变量进行分析,得到每个周期SRT协议报文所在推流网络的网络状态;并根据多个周期SRT协议报文所在推流网络的网络状态,分析出SRT协议报文所在推流网络的网络状态变化趋势;
根据SRT协议报文所在推流网络的网络状态变化趋势,配置将原始音视频数据压缩编码后进行输出的新输出码率。
2.根据权利要求1所述的SRT推流码率自适应方法,其特征在于,所述在推流SRT协议报文过程中的基本状态信息包括:发送报文数量、丢弃报文数量、重传报文数量、用于计算报文发送往返时间RTT的信息;
所述SRT协议报文所在推流网络的网络状态变量包括:重传报文占比、丢弃报文占比、RTT的变化趋势,其中:
所述重传报文占比为一个周期内重传报文数量与发送报文数量之比;
所述丢弃报文占比为一个周期内丢弃报文数量与发送报文数量之比;
所述RTT的变化趋势通过相邻两个周期的RTT差值进行预测,所述RTT差值是指相邻两个周期的RTT之间的变化量;当RTT差值大于0时,表示RTT的变化呈上升趋势;当RTT差值小于0,表示RTT的变化呈降低趋势;当RTT差值等于0时,表示RTT保持不变。
3.根据权利要求2所述的SRT推流码率自适应方法,其特征在于,所述对每个周期SRT协议报文所在推流网络的网络状态变量进行分析,得到每个周期SRT协议报文所在推流网络的网络状态,具体包括:
针对每个周期内SRT协议报文所在推流网络的网络状态变量,将每个网络状态变量与各自相应阈值进行比较,根据比较结果确定当前周期该推流网络的网络状态;
当SRT协议报文所在推流网络的任一网络状态变量大于其相应的阈值上限时,则表示该周期SRT协议报文所在推流网络的网络状态差;
当SRT协议报文所在推流网络的所有网络状态变量均小于各自相应的阈值下限时,则表示该周期SRT协议报文所在推流网络的网络状态好;
当SRT协议报文所在推流网络的所有网络状态变量均不大于各自相应的阈值上限、且不小于各自相应的阈值下限时,则表示该周期SRT协议报文所在推流网络的网络状态稳定;
所述根据多个周期SRT协议报文所在推流网络的网络状态,分析出SRT协议报文所在推流网络的网络状态的变化趋势,具体包括:
统计多个周期内SRT协议报文所在推流网络的各种网络状态的数量,根据各周期内各种网络状态的数量判断SRT协议报文所在推流网络的网络状态变化趋势,其中,网络状态的数量包括:网络状态差的数量、网络状态稳定的数量、网络状态好的数量;
当网络状态差的数量大于网络状态稳定的数量、且网络状态好的数量为0时,则判定SRT协议报文所在推流网络的网络状态的趋势变差;
当网络状态好的数量大于网络状态稳定的数量、且网络状态差的数量为0时,则判定SRT协议报文所在推流网络的网络状态的趋势变好;
否则,判定SRT协议报文所在推流网络的网络状态的趋势稳定。
4.根据权利要求3所述的SRT推流码率自适应方法,其特征在于,所述根据SRT协议报文所在推流网络的网络状态变化趋势,配置将原始音视频数据压缩编码后进行输出的新输出码率,具体包括:
当SRT协议报文所在推流网络的网络状态的趋势变差时,通过减低码率得到将原始音视频数据压缩编码后进行输出的新输出码率,所述新输出码率为当前码率与降低系数之积;
当SRT协议报文所在推流网络的网络状态的趋势变好时,通过提高码率得到将原始音视频数据压缩编码后进行输出的新输出码率,所述新输出码率为当前码率与增加系数之积;
当SRT协议报文所在推流网络的网络状态的趋势稳定时,则保持当前码率。
5.根据权利要求3所述的SRT推流码率自适应方法,其特征在于,还包括:
调整通过SRT协议栈在推流SRT协议报文过程中所产生的基本状态信息的收集周期长度,配置对推流网络的网络状态变化感知的灵敏度,和/或,调整SRT协议报文所在推流网络的各网络状态变量的相应阈值,配置对推流网络的网络状态变化感知的灵敏度。
6.一种SRT推流码率自适应系统,其特征在于,包括:
视频编码器,用于将原始音视频数据压缩编码后按设定的输出码率进行输出;
推流单元,用于通过SRT协议栈接收压缩编码后的音视频数据封装成SRT协议报文,并推流到服务器;其中,所述SRT协议栈遵守传输协议SRT规范;
SRT状态采集单元,用于周期性收集通过SRT协议栈在推流SRT协议报文过程中所产生的基本状态信息;根据每个周期SRT协议栈在推流SRT协议报文过程中的基本状态信息,计算得到各周期SRT协议报文所在推流网络的网络状态变量;
码率调整单元,用于对每个周期SRT协议报文所在推流网络的网络状态变量进行分析,得到每个周期SRT协议报文所在推流网络的网络状态;并根据多个周期SRT协议报文所在推流网络的网络状态,分析出SRT协议报文所在推流网络的网络状态变化趋势;根据SRT协议报文所在推流网络的网络状态变化趋势,配置将原始音视频数据压缩编码后进行输出的新输出码率。
7.根据权利要求6所述的SRT推流码率自适应系统,其特征在于,所述在推流SRT协议报文过程中的基本状态信息包括:发送报文数量、丢弃报文数量、重传报文数量、用于计算报文发送往返时间RTT的信息;
所述SRT协议报文所在推流网络的网络状态变量包括:重传报文占比、丢弃报文占比、RTT的变化趋势,其中:
所述重传报文占比为该周期内重传报文数量与发送报文数量之比;
所述丢弃报文占比为该周期内丢弃报文数量与发送报文数量之比;
所述RTT的变化趋势通过相邻两个周期的RTT差值进行预测,所述RTT差值是指相邻两个周期的RTT之间的变化量;当RTT差值大于0时,表示RTT的变化呈上升趋势;当RTT差值小于0,表示RTT的变化呈降低趋势;当RTT差值等于0时,表示RTT保持不变。
8.根据权利要求7所述的SRT推流码率自适应系统,其特征在于,所述码率调整单元包括:
当前网络状态判断子单元,用于针对每个周期内SRT协议报文所在推流网络的网络状态变量,将每个网络状态变量与各自相应阈值进行比较,根据比较结果确定当前周期该推流网络的网络状态;当SRT协议报文所在推流网络的任一网络状态变量大于其相应的阈值上限时,则表示该周期SRT协议报文所在推流网络的网络状态差;当SRT协议报文所在推流网络的所有网络状态变量均小于各自相应的阈值下限时,则表示该周期SRT协议报文所在推流网络的网络状态好;当SRT协议报文所在推流网络的所有网络状态变量均不大于各自相应的阈值上限、且不小于各自相应的阈值下限时,则表示该周期SRT协议报文所在推流网络的网络状态稳定;
网络状态趋势判断子单元,用于统计多个周期内SRT协议报文所在推流网络的各种网络状态的数量,根据各周期内各种网络状态的数量判断SRT协议报文所在推流网络的网络状态变化趋势,其中,网络状态的数量包括:网络状态差的数量、网络状态稳定的数量、网络状态好的数量;当网络状态差的数量大于网络状态稳定的数量、且网络状态好的数量为0时,则判定SRT协议报文所在推流网络的网络状态的趋势变差;当网络状态好的数量大于网络状态稳定的数量、且网络状态差的数量为0时,则判定SRT协议报文所在推流网络的网络状态的趋势变好;否则,判定SRT协议报文所在推流网络的网络状态的趋势稳定。
9.根据权利要求8所述的SRT推流码率自适应系统,其特征在于,所述码率调整单元还包括:
码率控制器,用于当SRT协议报文所在推流网络的网络状态的趋势变差时,通过减低码率得到将原始音视频数据压缩编码后进行输出的新输出码率,所述新输出码率为当前码率与降低系数之积;当SRT协议报文所在推流网络的网络状态的趋势变好时,通过提高码率得到将原始音视频数据压缩编码后进行输出的新输出码率,所述新输出码率为当前码率与增加系数之积;当SRT协议报文所在推流网络的网络状态的趋势稳定时,则保持当前码率。
10.根据权利要求8所述的SRT推流码率自适应系统,其特征在于,所述SRT状态采集单元包括周期调整子单元,和/或,所述当前网络状态判断子单元包括阈值调整模块,其中:
所述周期调整子单元,用于调整通过SRT协议栈在推流SRT协议报文过程中所产生的基本状态信息的收集周期长度,配置对推流网络的网络状态变化感知的灵敏度;
所述阈值调整模块,用于调整SRT协议报文所在推流网络的各网络状态变量的相应阈值,配置对推流网络的网络状态变化感知的灵敏度。
CN202111136136.1A 2021-09-27 2021-09-27 一种srt推流码率自适应方法及系统 Pending CN113965752A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111136136.1A CN113965752A (zh) 2021-09-27 2021-09-27 一种srt推流码率自适应方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111136136.1A CN113965752A (zh) 2021-09-27 2021-09-27 一种srt推流码率自适应方法及系统

Publications (1)

Publication Number Publication Date
CN113965752A true CN113965752A (zh) 2022-01-21

Family

ID=79462905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111136136.1A Pending CN113965752A (zh) 2021-09-27 2021-09-27 一种srt推流码率自适应方法及系统

Country Status (1)

Country Link
CN (1) CN113965752A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115604481A (zh) * 2022-11-28 2023-01-13 成都索贝数码科技股份有限公司(Cn) 提升编解码与传输并行的方法、装置及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115604481A (zh) * 2022-11-28 2023-01-13 成都索贝数码科技股份有限公司(Cn) 提升编解码与传输并行的方法、装置及系统

Similar Documents

Publication Publication Date Title
CN111836079B (zh) 一种视频码流的传输方法及装置
US9306708B2 (en) Method and apparatus for retransmission decision making
EP2529528B1 (en) A method and apparatus for parsing a network abstraction-layer for reliable data communication
US10044466B2 (en) Server-side adaptive bit rate control for DLNA HTTP streaming clients
JP4426316B2 (ja) データストリーミングシステムおよび方法
RU2461133C2 (ru) Способ контроля импульсных помех, соответствующие сетевой терминал, узел сети и устройство управления сетью
EP2888847A2 (en) Device and method for adaptive rate multimedia communications on a wireless network
CN104519325A (zh) 一种基于4g网络的无线视频监控系统自适应保障方法
CN114640886B (zh) 自适应带宽的音视频传输方法、装置、计算机设备及介质
CN110996103A (zh) 一种根据网络情况对视频编码码率进行调节的方法
US20170142029A1 (en) Method for data rate adaption in online media services, electronic device, and non-transitory computer-readable storage medium
CN113965752A (zh) 一种srt推流码率自适应方法及系统
CN113612649B (zh) 往返估计
CN113596377A (zh) 卫星通信的监控视频转换装置和系统
CN113014501A (zh) 数据传输方法、系统、编码器及计算机可读存储介质
CN117201467A (zh) 一种在实时视频会议中监测网络状态的装置
CN111555842B (zh) 一种传输数据帧的方法及装置
JPH09247208A (ja) パケット通信処理装置
WO2013100754A1 (en) A system and method for adaptive media content delivery
CN115866317A (zh) 一种适用于网络摄像机的音视频缓存方法和装置
WO2008047080A1 (en) Video transmission method and system
CN115633188A (zh) 视频流传输控制方法及装置、视频系统、设备和存储介质
KR101105445B1 (ko) 스케일러블 비디오의 패킷 손실 오류를 축소하기 위한 적응 장치 및 그 방법
CN117527152A (zh) 一种重传包发送控制方法、系统、设备及存储介质
WO2020214048A1 (ru) Способ адаптации передачи видеоизображения

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