CN114513474B - 视频发送方法、视频发送终端、媒体服务器及存储介质 - Google Patents
视频发送方法、视频发送终端、媒体服务器及存储介质 Download PDFInfo
- Publication number
- CN114513474B CN114513474B CN202210117272.4A CN202210117272A CN114513474B CN 114513474 B CN114513474 B CN 114513474B CN 202210117272 A CN202210117272 A CN 202210117272A CN 114513474 B CN114513474 B CN 114513474B
- Authority
- CN
- China
- Prior art keywords
- video
- code rate
- packet loss
- media server
- packet
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 230000005540 biological transmission Effects 0.000 title claims description 49
- 238000001514 detection method Methods 0.000 claims description 32
- 239000000523 sample Substances 0.000 claims description 5
- 238000004891 communication Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- 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/60—Network streaming of media packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种视频发送方法、视频发送终端、媒体服务器及存储介质,涉及实时音视频通讯技术领域,该方法包括:针对任意一个更新码率周期,在任意一个更新码率周期内,按照任意一个更新码率周期对应的码率向媒体服务器发送视频包;在任意一个更新码率周期达到后,确定任意一个更新码率周期内的RTT往返时间;确定任意一个更新码率周期内的丢包率;根据任意一个更新码率周期内的RTT往返时间和任意一个更新码率周期内的丢包率,更新任意一个更新码率周期对应的码率,以在下一个更新码率周期内根据更新后的码率向媒体服务器发送视频包。本发明实施例通过RTT往返时间和丢包率来更新码率,缓解画面卡顿的情况,提高了画面清晰度。
Description
技术领域
本发明涉及实时音视频通讯技术领域,尤其涉及一种视频发送方法、视频发送终端、媒体服务器及存储介质。
背景技术
随着4G(the 4th generation mobile communication technology,第四代移动通信技术)、5G(5th Generation Mobile Communication Technology,第五代移动通信技术)的普及,实时音视频业务以前所未有的速度在各个领域里得到应用。
视频的传输需要较大的带宽,不管是有线还是无线网络,都可能因为某种原因出现较多的数据包丢失,导致视频帧无法正常解码显示出来,画面出现卡顿现象,影响用户体验。
发明内容
本发明提供一种视频发送方法、视频发送终端、媒体服务器及存储介质,通过视频发送终端和媒体服务器之间的RTT往返时间和丢包率来更新码率,这样通过网络状态来确定码率的方式,能够缓解画面出现卡顿情况,提高用户体验。
第一方面,本发明实施例提供一种视频发送方法,包括:
针对任意一个更新码率周期,在任意一个更新码率周期内,按照所述任意一个更新码率周期对应的码率向媒体服务器发送视频包;其中,所述视频包为根据待发送视频流编码出的多种分辨率的视频流构建的;
在所述任意一个更新码率周期达到后,确定所述任意一个更新码率周期内用于表征视频发送终端和媒体服务器之间的网络状况的RTT往返时间;
确定所述任意一个更新码率周期内的丢包率;其中,所述丢包率是基于所述任意一个更新码率周期内的第一丢包数和所述任意一个更新码率周期内视频发送终端发送给媒体服务器的视频包的总数量确定的,所述第一丢包数为所述视频发送终端发送给媒体服务器的所有视频包中媒体服务器未接收到视频包的总数量;
根据所述任意一个更新码率周期内的RTT往返时间和所述任意一个更新码率周期内的丢包率,更新所述任意一个更新码率周期对应的码率,以在下一个更新码率周期内根据更新后的码率向所述媒体服务器发送视频包。
上述方法,能够在更新码率周期内,向媒体服务器发送视频包,在达到更新码率周期之后,确定RTT往返时间和丢包率,根据RTT往返时间和丢包率更新码率,以便在下一个更新码率周期使用更新后的码率发送视频包,这样通过表征网络状态的RTT时间和丢包率来更新码率的方式,能够缓解画面出现卡顿情况,提高画面清晰度和用户体验。
第二方面,本发明实施例提供一种视频发送方法,应用于媒体服务器,包括:
针对任意一个更新码率周期,在任意一个更新码率周期内,接收视频发送终端按照所述任意一个更新码率周期对应的码率发送的视频包;其中,所述视频包为根据待发送视频流编码出的多种分辨率的视频流构建的;所述任意一个更新码率周期为视频发送终端向所述媒体服务器发送所述待发送视频流构建出的所有种类的分辨率的视频包之前的时间;所述任意一个更新码率周期对应的码率是根据上一个更新码率周期内的RTT往返时间和上一个更新码率周期内的丢包率,对上一个更新码率周期对应的码率进行更新后得到的;所述RTT往返时间表征视频发送终端和媒体服务器之间的网络状况,所述丢包率为是基于上一个更新码率周期内的第一丢包数和上一个更新码率周期内视频发送终端发送给媒体服务器的视频包的总数量确定的,所述第一丢包数为所述视频发送终端发送给媒体服务器的所有视频包中媒体服务器未接收到视频包的总数量;
在所述待发送视频流构建的多种分辨率的视频包中,将所述媒体服务器和所述视频接收终端之间的下行带宽对应的分辨率的视频包发送给视频接收终端。
上述方法,能够在更新码率周期内,接收按照码率发送的视频包,码率是根据RTT往返时间和丢包率确定的,这样通过表征网络状态的RTT往返时间和丢包率来确定码率的方式,能够缓解画面出现卡顿情况,提高用户体验。
第三方面,本发明实施例提供一种视频发送终端,包括:处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如第一方面中的任一项所述的视频发送方法。
第四方面,本发明实施例提供一种媒体服务器,包括:处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如第二方面中的任一项所述的视频发送方法。
第五方面,本发明实施例提供一种存储介质,包括:当所述存储介质中的指令由视频发送终端的处理器执行时,使得所述视频发送终端能够执行如第一方面中任一项所述的视频发送方法;
或当所述存储介质中的指令由媒体服务器的处理器执行时,使得所述媒体服务器能够执行如第二方面中任一项所述的视频发送方法。
另外,第三方面至第五方面中任一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
图1为本发明实施例提供的一种视频发送系统的结构图;
图2为本发明实施例提供的一种更新码率的方法流程图;
图3为本发明实施例提供的一种下行带宽确定方法的流程图;
图4为现有技术的丢包率和清晰度的关系示意图;
图5为本发明实施例提供的一种丢包率和清晰度的关系示意图;
图6为本发明实施例提供的一种应用于视频发送终端的视频发送方法的流程图;
图7为本发明实施例提供的一种应用于媒体服务器的视频发送方法的流程图;
图8为本发明实施例提供的一种应用于视频发送终端的视频发送装置的结构图;
图9为本发明实施例提供的一种应用于媒体服务器的视频发送装置的结构图;
图10为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
其中,码率是指视频码率,是数据传输时单位时间传送的数据位数,一般用的单位是kbps即千位每秒。通俗一点的理解就是取样率,单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件。对于视频传输来说,码率越高意味着网络状态越好,因为只有好的网络状态才能快速传输视频。目前,视频的传输时,都可能因为某种原因出现较多的数据包丢失,导致视频帧无法正常解码显示出来,画面出现卡顿现象,影响用户体验。
基于码率的概念,本发明提出一种视频发送方式,通过表征网络状态的RTT时间和丢包率来更新码率,能够缓解画面出现卡顿情况,提高画面清晰度和用户体验。
以下结合附图进行详细说明:
结合图1所示,本发明实施例提供了一种视频发送系统,包括:视频发送终端100、媒体服务器101、以及视频接收终端102;视频发送终端100通过媒体服务器101转发,向视频接收终端102发送视频。
以视频发送终端100向视频接收终端102发送待发送视频为例,解释视频发送系统中的元件的功能。
视频发送终端100,用于针对任意一个更新码率周期,在任意一个更新码率周期内,按照任意一个更新码率周期对应的码率向媒体服务器发送视频包;其中,视频包为根据待发送视频流编码出的多种分辨率的视频流构建的;任意一个更新码率周期为视频发送终端向媒体服务器发送待发送视频流构建出的所有种类的分辨率的视频包之前的时间;
在任意一个更新码率周期达到后,确定任意一个更新码率周期内用于表征视频发送终端和媒体服务器之间的网络状况的RTT往返时间;
确定任意一个更新码率周期内的丢包率;其中,丢包率是基于任意一个更新码率周期内的第一丢包数和任意一个更新码率周期内视频发送终端发送给媒体服务器的视频包的总数量确定的,第一丢包数为视频发送终端发送给媒体服务器的所有视频包中媒体服务器未接收到视频包的总数量;
根据任意一个更新码率周期内的RTT往返时间和任意一个更新码率周期内的丢包率,更新任意一个更新码率周期对应的码率,以在下一个更新码率周期内根据更新后的码率向媒体服务器发送视频包。
需要说明的是,根据视频发送终端与媒体服务器之间链路的传播时间、媒体服务器对接收到的视频发送终端的视频包的处理时间、链路中的路由器转发视频包的时间,确定任意一个更新码率周期内用于表征视频发送终端和媒体服务器之间的网络状况的RTT往返时间;RTT(Round-Trip Time)往返时间在计算机网络中是一个重要的性能指标。表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认,不包含数据传输时间)总共经历的时间。
上述提到的视频发送终端与媒体服务器之间链路的传播时间、媒体服务器对接收到的视频发送终端的视频包的处理时间,作为一个UPD连接来说是相对固定的。链路中的路由器转发视频包的时间是路由器的缓存中的视频包排队和处理时间,该时间会随着整个网络拥堵程度的变化而变化。可以将网络拥堵程度作为链路中的路由器转发视频包的时间。其中,RTT往返时间可以根据视频发送终端发送视频包开始的时间,到接收到视频接收终端反馈的接收到视频包的时间为止,这段时间作为RTT往返时间。
媒体服务器101,用于针对任意一个更新码率周期,在任意一个更新码率周期内,接收视频发送终端按照任意一个更新码率周期对应的码率发送的视频包;
在待发送视频流构建的多种分辨率的视频包中,将媒体服务器和视频接收终端之间的下行带宽对应的分辨率的视频包发送给视频接收终端102。
视频接收终端102,用于接收媒体服务器101的视频包,并进行显示。
其中,根据任意一个更新码率周期内的RTT往返时间和任意一个更新码率周期内的丢包率,更新任意一个更新码率周期对应的码率,包括:
从预设的多个丢包范围中,确定任意一个更新码率周期内的丢包率所属的丢包范围;其中,不同的丢包范围表征的丢包程度不同;
从预设的多个时间范围中,确定任意一个更新码率周期内的RTT往返时间所属的时间范围;其中,不同的时间范围表征所述视频发送终端和媒体服务器之间的网络状况的强弱程度的不同;
根据任意一个更新码率周期内的丢包率所属的丢包范围以及任意一个更新码率周期内的RTT往返时间所属的时间范围,更新任意一个更新码率周期对应的码率。
其中,多个丢包范围为小于第一阈值、不小于第一阈值且小于第二阈值、不小于第二阈值;
多个时间范围为小于时间阈值、不小于时间阈值;
具体来说,根据任意一个更新码率周期内的丢包率所属的丢包范围以及任意一个更新码率周期内的RTT往返时间所属的时间范围,更新任意一个更新码率周期对应的码率,包括:
若任意一个更新码率周期内的丢包率所属的丢包范围为小于第一阈值,则按照预设步长,调高任意一个更新码率周期对应的码率;
若任意一个更新码率周期内的丢包率所属的丢包范围为不小于第一阈值且小于第二阈值,且任意一个更新码率周期内的RTT往返时间所属的时间范围为小于时间阈值,则按照预设步长,调高任意一个更新码率周期对应的码率;
若任意一个更新码率周期内的丢包率所属的丢包范围为不小于第一阈值且小于第二阈值,且任意一个更新码率周期内的RTT往返时间所属的时间范围为不小于时间阈值,则保持任意一个更新码率周期对应的码率不变;
若任意一个更新码率周期内的丢包率所属的丢包范围为不小于第二阈值,且任意一个更新码率周期内的RTT往返时间所属的时间范围为小于时间阈值,则保持任意一个更新码率周期对应的码率不变;
若任意一个更新码率周期内的丢包率所属的丢包范围为不小于第二阈值,且任意一个更新码率周期内的RTT往返时间所属的时间范围为不小于时间阈值,则按照预设步长,调低任意一个更新码率周期对应的码率。
其中,时间阈值是根据预设值和最小的RTT往返时间的2倍来决定的,也就是说时间阈值为预设值和最小的RTT往返时间的2倍中的最小值。
其中,根据视频发送终端与媒体服务器之间链路的传播时间、媒体服务器对接收到的视频发送终端的视频包的处理时间、链路中的路由器转发视频包的时间,来说理论上最小的RTT往返时间为上述介绍的最小的RTT往返时间。
具体来说,结合图2所示,视频发送终端执行的过程包括:
S200:在任意一个更新码率周期内,按照任意一个更新码率周期对应的码率向媒体服务器发送视频包;
S201:在任意一个更新码率周期达到后,确定RTT往返时间和丢包率;
S202:判断丢包率是否小于第一阈值;如果是,则执行S203,否则,执行S204;
S203:按照预设步长,调高任意一个更新码率周期对应的码率;
S204:判断丢包率是否小于第二阈值;如果是,则执行S205,否则,执行S206;
S205:判断RTT往返时间是否小于时间阈值;如果是,则执行S207,否则,执行S208;
S207:按照预设步长,调高任意一个更新码率周期对应的码率;
S208:保持任意一个更新码率周期对应的码率不变;
S206:判断RTT往返时间是否小于时间阈值;如果是,则执行S209,否则,执行S210;
S209:保持任意一个更新码率周期对应的码率不变;
S210:按照预设步长,调低任意一个更新码率周期对应的码率。
其中,确定任意一个更新码率周期内的丢包率,包括:
将任意一个更新码率周期内媒体服务器反馈的第一丢包数和任意一个更新码率周期内发送给媒体服务器的视频包的总数量之间的比值,作为任意一个更新码率周期内的初始丢包率;
根据任意一个更新码率周期之前的预设个数的历史更新码率周期内的历史丢包率和历史丢包率对应的预设权重、任意一个更新码率周期内的初始丢包率和初始丢包率对应的预设权重,确定任意一个更新码率周期内的丢包率。
例如,视频发送终端向媒体服务器发送待发送视频流构建出的所有种类的分辨率的视频包之前的所有更新码率周期为周期1~100,当前的更新码率周期为周期25,当前的更新码率周期之前的历史更新码率周期为周期24。根据周期25内媒体服务器反馈的第一丢包数和周期25内发送给媒体服务器的视频包的总数量之间的比值,作为周期25内的初始丢包率;
将周期25内的初始丢包率和初始丢包率对应的预设权重,周期24的丢包率和周期24的丢包率对应的权重,确定周期25的丢包率。
初始丢包率对应的预设权重为60%,周期24的丢包率对应的权重为40%。当然这两个权重仅为示例性的,具体值可以根据经验具体设定,对此,本发明不做具体限制。
其中,视频发送终端确定的更新码率周期内的丢包率为媒体服务器发送的,也可以是自己进行计算的;
对于具体进行计算时,媒体服务器101,还用于在任意一个更新码率周期内,统计任意一个更新码率周期对应的第一丢包数,并在任意一个更新码率周期达到之后,将统计完成的第一丢包数反馈给视频发送终端100。
视频发送终端100,还用于根据媒体服务器101的第一丢包数和更新码率周期内视频发送终端发送给媒体服务器的视频包的总数量,确定更新码率周期内的丢包率。
对于媒体服务器101自己确定丢包率时,接收视频发送终端100发送的所有视频包的序列号,即开始的序列号到结束的序列号,媒体服务器101接收到视频包时查看其序列号,然后根据开始的序列号到结束的序列号,中间的所有没有接收到的序列号,统计这些序列号的个数,作为第一丢包数发送给媒体服务器101。
对于视频发送终端100来说,若接收到媒体服务器101反馈的丢失的视频包的情况,则通过重传或者fec重新传输媒体服务器101丢失的视频包。
其中,采用fec重新发送视频包,就是在视频发送终端100发完一帧视频包之后,组装此帧的冗余包,并将该冗余包发送给媒体服务器101,媒体服务器101如果接收到该冗余包之后,如果组成冗余包的原始视频包没有丢失,就不用将第一丢包数减去1,如果组成冗余包的原始视频包丢失,但通过fec冗余进行恢复操作,成功恢复出来了,那么需要在第一丢包数的基础上减去1,即当第一丢包数为10时,那么如果有一个符合上述条件的冗余包,那么统计的最终第一丢包数为9。
对于媒体服务器来说,监测接收到的视频包是否为重传包的方式为:监测重传包内的序列号,如果重传包的序列号为不在之前发送的视频的序列号范围内,说明该重传包并非为视频发送终端需要发送给媒体服务器的原始视频包,而是重传包。
监测接收到的视频包是否为冗余包的方式为:视频包的标识中具有冗余包的标识,即视频包的ssrc是重传包或者冗余包的ssrc,则确定该视频包为采用fec机制发送的冗余包。
其中,媒体服务器101,通过以下方式确定媒体服务器和所述视频接收终端之间的下行带宽:
确定目标时间段内的第二丢包数,并向视频接收终端发送,目标时间段内媒体服务器接收到所述视频发送终端发送的探测包;其中,所述第二丢包数是目标时间段内的视频发送终端发送给媒体服务器的所有探测包中媒体服务器未接收到探测包的总数量;
接收所述视频接收终端反馈的第三丢包数,并确定所述目标时间段的第二丢包数和所述视频接收终端反馈的第三丢包数的差值;其中,所述第三丢包数是所述目标时间段内所述视频发送终端通过所述媒体服务器转发给所述视频接收终端的所有探测包中所述视频接收终端未接收到探测包的总数量;
根据所述目标时间段的第二丢包数和所述视频接收终端反馈的第三丢包数的差值、和所述目标时间段内所述视频发送终端通过所述媒体服务器转发给所述视频接收终端的探测包的总数量,确定所述媒体服务器和所述视频接收终端之间的下行带宽。
其中,视频发送终端发给媒体服务器12个包,媒体服务器接收到9个包,那么媒体服务器就向视频接收终端发送9个包,视频接收终端接收到媒体服务器发送的探测包为8个,9这个数量就是目标时间段内媒体服务器接收到视频发送终端发送的探测包的总数量。
12减去9为3,3即为目标时间段内的第二丢包数;
12为目标时间段内视频发送终端通过媒体服务器转发给视频接收终端的探测包的总数量。
12减去8为4,4为视频接收终端反馈的第三丢包数。
4减去3为1,1为目标时间段的第二丢包数和视频接收终端反馈的第三丢包数的差值。
其中,目标时间段由视频接收终端的反馈包间隔决定的,即视频接收终端什么时候反馈第三丢包数,那么这个时间为目标时间段的结束时间,而目标时间段的开始时间为视频发送终端通过媒体服务器向视频接收终端发送第一个探测包的时间。
即视频发送终端发送给媒体服务器的探测包,媒体服务器统计没接收到丢包数,然后媒体服务器将自己接收到的所有探测包,发送给视频接收终端,视频接收终端统计没接收到的丢包数,然后根据两个丢包数的差值,即视频接收终端和媒体服务器之间的丢包数,以及目标时间段内视频发送终端通过媒体服务器转发给视频接收终端的探测包的总数量,预测下行带宽。
基于上述流程,本发明实施例提供了一种确定媒体服务器和视频接收终端之间的下行带宽的方式,结合图3所示,应用于媒体服务器,包括:
S300:确定目标时间段内的第二丢包数;
其中,媒体服务器确定第二丢包数时,接收视频发送终端发送的目标时间段内发送的视频包的序列号范围,第一个视频包的序列号为start_seq,最后一个视频包的序列号为end_seq。确定接收到的视频包的序列号在start_seq和end_seq之间,丢失的序列号的个数。
当发现视频包为重传包或者fec冗余包时,更新统计的第二丢包数,即在原来统计的第二丢包数的基础上减去重传包或者fec冗余包的总个数,即为更新后的第二丢包数。
S301:向视频接收终端发送,目标时间段内媒体服务器接收到视频发送终端发送的探测包;
S302:接收视频接收终端反馈的第三丢包数,并确定目标时间段的第三丢包数和视频接收终端反馈的第三丢包数的差值;
视频接收终端知道视频发送终端通过媒体服务器转发给视频接收终端的所有探测包的序列号范围,第一个视频包的序列号为start_seq,最后一个视频包的序列号为end_seq。视频接收终端会根据这个序列号范围统计自己丢失的探测包的总数量,即为第三丢包数。
S303:将目标时间段的第二丢包数和视频接收终端反馈的第三丢包数的差值与目标时间段内视频发送终端通过媒体服务器转发给视频接收终端的探测包的总数量之间的比值输入到带宽预估模型中,得到预估的媒体服务器和视频接收终端之间的下行带宽。
其中,探测包可以是视频包,和/或者专用探测包。
举一个示例:视频发送终端A发送了一路视频流到媒体服务器MFS,网络不太好,出现了不定时的随机丢包,比如有视频包p0、视频包p1、视频包p2、视频包p5、视频包p10、视频包p11、视频包p12…,其中视频包p3、视频包p4、视频包p6-p9都丢掉了(MFS会统计视频包p5前面丢了2个包,视频包p6前面丢包2个包,视频包p7前面丢包3个包,视频包p8前面丢了4个包,视频包p9前面丢了5个包,视频包p10、视频包p11、视频包p12前面丢了6个包)。
MFS在把这路视频流转发给视频接收终端B,而视频接收终端B也收不到视频包p3、视频包p4、视频包p6-p9,记为丢失,同时把视频包p11也丢了,这时接收端会统计一个时间段的丢包数并反馈给MFS,比如某一个时间段收到的第一个包是视频包p5,最后一个包是视频包p12,这期间统计的丢包数为5个(分别是视频包p6-p9及视频包p11),媒体服务器MFS收到这个视频接收终端B的反馈后,查询视频发送终端A发过来的视频包p5之前丢了2个包,视频包p12之前丢了6个包,视频包p5到视频包p12之间丢了4个包,视频接收终端B反馈丢了5个包减去4个包,剩下的1个包就是视频接收终端B的接收链路本身的丢包数,媒体服务器MFS用这个丢包数(1)除以视频接收终端B应该在这个时间段收到的包数(13),算出丢包率,把这个丢包率作为一个带宽预估的依据传递到带宽预估模块,用于接收端B的接收链路的带宽预估。
优化之媒体服务器MFS会直接拿视频接收终端B反馈的丢失包5个来计算出丢包率,传递给带宽预估模块,导致接收端B的接收链路的带宽预估较低的误判。
示例性的,视频接收终端统计的第三丢包数和媒体服务器应该发送给接收发送终端的视频包的总数量之比,作为视频接收终端的丢包率,按照丢包率的大小设置丢包率等级,例如,丢包率40%~60%为丢包率等级一,丢包率20%~40%为丢包率等级二,丢包率0~20%为丢包率等级三。
视频接收终端的清晰度,按清晰度的数值设置清晰度等级,例如,320*300为清晰度等级一、640*480为清晰度等级二、1600*1200为清晰度等级三。
对于优化前,结合图4所示,曲线C1为丢包率等级和清晰度等级的变化关系曲线。随着丢包率等级越高,丢包率越低,清晰度越高。
对于优化后,即采用本发明实施例提供的视频发送方法时,结合图5所示,曲线C2为RTT往返时间比较小时,丢包率等级和清晰度等级的变化关系曲线。曲线C3为RTT往返时间比较大时,丢包率等级和清晰度等级的变化关系曲线。可以看出无论是曲线C2或曲线C3他的清晰度均比如图4中的清晰度高。
结合图6所示,本发明实施例提供了一种视频发送方法,应用于视频发送终端,包括:
S600:针对任意一个更新码率周期,在任意一个更新码率周期内,按照任意一个更新码率周期对应的码率向媒体服务器发送视频包;
其中,视频包为根据待发送视频流编码出的多种分辨率的视频流构建的;
S601:在任意一个更新码率周期达到后,确定任意一个更新码率周期内用于表征视频发送终端和媒体服务器之间的网络状况的RTT往返时间;
S602:确定任意一个更新码率周期内的丢包率;
其中,丢包率是基于任意一个更新码率周期内的第一丢包数和任意一个更新码率周期内视频发送终端发送给媒体服务器的视频包的总数量确定的,第一丢包数为视频发送终端发送给媒体服务器的所有视频包中媒体服务器未接收到视频包的总数量;
S603:根据任意一个更新码率周期内的RTT往返时间和任意一个更新码率周期内的丢包率,更新任意一个更新码率周期对应的码率,以在下一个更新码率周期内根据更新后的码率向媒体服务器发送视频包。
可选的,根据所述任意一个更新码率周期内的RTT往返时间和所述任意一个更新码率周期内的丢包率,更新所述任意一个更新码率周期对应的码率,包括:
从预设的多个丢包范围中,确定所述任意一个更新码率周期内的丢包率所属的丢包范围;其中,不同的丢包范围表征的丢包程度不同;
从预设的多个时间范围中,确定所述任意一个更新码率周期内的RTT往返时间所属的时间范围;其中,不同的时间范围表征所述视频发送终端和所述媒体服务器之间的网络状况的强弱程度的不同;
根据所述任意一个更新码率周期内的丢包率所属的丢包范围以及所述任意一个更新码率周期内的RTT往返时间所属的时间范围,更新所述任意一个更新码率周期对应的码率。
可选的,根据所述任意一个更新码率周期内的丢包率所属的丢包范围以及所述任意一个更新码率周期内的RTT往返时间所属的时间范围,更新所述任意一个更新码率周期对应的码率,包括:
若所述任意一个更新码率周期内的丢包率所属的丢包范围为小于第一阈值,则按照预设步长,调高所述任意一个更新码率周期对应的码率;
若所述任意一个更新码率周期内的丢包率所属的丢包范围为不小于第一阈值且小于第二阈值,且所述任意一个更新码率周期内的RTT往返时间所属的时间范围为小于时间阈值,则按照预设步长,调高所述任意一个更新码率周期对应的码率;
若所述任意一个更新码率周期内的丢包率所属的丢包范围为不小于第一阈值且小于第二阈值,且所述任意一个更新码率周期内的RTT往返时间所属的时间范围为不小于时间阈值,则保持所述任意一个更新码率周期对应的码率不变;
若所述任意一个更新码率周期内的丢包率所属的丢包范围为不小于第二阈值,且所述任意一个更新码率周期内的RTT往返时间所属的时间范围为小于时间阈值,则保持所述任意一个更新码率周期对应的码率不变;
若所述任意一个更新码率周期内的丢包率所属的丢包范围为不小于第二阈值,且所述任意一个更新码率周期内的RTT往返时间所属的时间范围为不小于时间阈值,则按照预设步长,调低所述任意一个更新码率周期对应的码率。
可选的,确定所述任意一个更新码率周期内的丢包率,包括:
将所述任意一个更新码率周期内媒体服务器反馈的第一丢包数和所述任意一个更新码率周期内发送给媒体服务器的视频包的总数量之间的比值,作为所述任意一个更新码率周期内的初始丢包率;
根据所述任意一个更新码率周期之前的预设个数的历史更新码率周期内的历史丢包率和历史丢包率对应的预设权重、所述任意一个更新码率周期内的初始丢包率和所述初始丢包率对应的预设权重,确定所述任意一个更新码率周期内的丢包率。
结合图7所示,本发明实施例提供了一种视频发送方法,应用于媒体服务器,包括:
S700:针对任意一个更新码率周期,在任意一个更新码率周期内,接收视频发送终端按照所述任意一个更新码率周期对应的码率发送的视频包;
其中,所述视频包为根据待发送视频流编码出的多种分辨率的视频流构建的;所述任意一个更新码率周期为视频发送终端向所述媒体服务器发送所述待发送视频流构建出的所有种类的分辨率的视频包之前的时间;所述任意一个更新码率周期对应的码率是根据上一个更新码率周期内的RTT往返时间和上一个更新码率周期内的丢包率,对上一个更新码率周期对应的码率进行更新后得到的;所述RTT往返时间表征视频发送终端和媒体服务器之间的网络状况,所述丢包率为是基于上一个更新码率周期内的第一丢包数和上一个更新码率周期内视频发送终端发送给媒体服务器的视频包的总数量确定的,所述第一丢包数为所述视频发送终端发送给媒体服务器的所有视频包中媒体服务器未接收到视频包的总数量;
S701:在待发送视频流构建的多种分辨率的视频包中,将媒体服务器和视频接收终端之间的下行带宽对应的分辨率的视频包发送给视频接收终端。
可选的,所述方法还包括:
在任意一个更新码率周期内,统计所述任意一个更新码率周期对应的第一丢包数,并在所述任意一个更新码率周期达到之后,将统计完成的第一丢包数反馈给视频发送终端。
可选的,通过以下方式确定所述媒体服务器和所述视频接收终端之间的下行带宽:
确定目标时间段内的第二丢包数,并向视频接收终端发送,目标时间段内媒体服务器接收到所述视频发送终端发送的探测包;其中,所述第二丢包数是目标时间段内的视频发送终端发送给媒体服务器的所有探测包中媒体服务器未接收到探测包的总数量;
接收所述视频接收终端反馈的第三丢包数,并确定所述目标时间段的第二丢包数和所述视频接收终端反馈的第三丢包数的差值;其中,所述第三丢包数是所述目标时间段内所述视频发送终端通过所述媒体服务器转发给所述视频接收终端的所有探测包中所述视频接收终端未接收到探测包的总数量;
根据所述目标时间段的第二丢包数和所述视频接收终端反馈的第三丢包数的差值、和所述目标时间段内所述视频发送终端通过所述媒体服务器转发给所述视频接收终端的探测包的总数量,确定所述媒体服务器和所述视频接收终端之间的下行带宽。
如图8所示,本发明还提供一种视频发送装置,应用于视频发送终端,包括:
发送模块800,用于针对任意一个更新码率周期,在任意一个更新码率周期内,按照所述任意一个更新码率周期对应的码率向媒体服务器发送视频包;其中,所述视频包为根据待发送视频流编码出的多种分辨率的视频流构建的;
第一确定模块801,用于在所述任意一个更新码率周期达到后,确定所述任意一个更新码率周期内用于表征视频发送终端和媒体服务器之间的网络状况的RTT往返时间;
第二确定模块802,用于确定所述任意一个更新码率周期内的丢包率;
其中,所述丢包率是基于所述任意一个更新码率周期内的第一丢包数和所述任意一个更新码率周期内视频发送终端发送给媒体服务器的视频包的总数量确定的,所述第一丢包数为所述视频发送终端发送给媒体服务器的所有视频包中媒体服务器未接收到视频包的总数量;
更新模块803,用于根据所述任意一个更新码率周期内的RTT往返时间和所述任意一个更新码率周期内的丢包率,更新所述任意一个更新码率周期对应的码率,以在下一个更新码率周期内根据更新后的码率向所述媒体服务器发送视频包。
可选的,更新模块803,具体用于:从预设的多个丢包范围中,确定所述任意一个更新码率周期内的丢包率所属的丢包范围;其中,不同的丢包范围表征的丢包程度不同;
从预设的多个时间范围中,确定所述任意一个更新码率周期内的RTT往返时间所属的时间范围;其中,不同的时间范围表征所述视频发送终端和所述媒体服务器之间的网络状况的强弱程度的不同;
根据所述任意一个更新码率周期内的丢包率所属的丢包范围以及所述任意一个更新码率周期内的RTT往返时间所属的时间范围,更新所述任意一个更新码率周期对应的码率。
可选的,更新模块803,具体用于:
若所述任意一个更新码率周期内的丢包率所属的丢包范围为小于第一阈值,则按照预设步长,调高所述任意一个更新码率周期对应的码率;
若所述任意一个更新码率周期内的丢包率所属的丢包范围为不小于第一阈值且小于第二阈值,且所述任意一个更新码率周期内的RTT往返时间所属的时间范围为小于时间阈值,则按照预设步长,调高所述任意一个更新码率周期对应的码率;
若所述任意一个更新码率周期内的丢包率所属的丢包范围为不小于第一阈值且小于第二阈值,且所述任意一个更新码率周期内的RTT往返时间所属的时间范围为不小于时间阈值,则保持所述任意一个更新码率周期对应的码率不变;
若所述任意一个更新码率周期内的丢包率所属的丢包范围为不小于第二阈值,且所述任意一个更新码率周期内的RTT往返时间所属的时间范围为小于时间阈值,则保持所述任意一个更新码率周期对应的码率不变;
若所述任意一个更新码率周期内的丢包率所属的丢包范围为不小于第二阈值,且所述任意一个更新码率周期内的RTT往返时间所属的时间范围为不小于时间阈值,则按照预设步长,调低所述任意一个更新码率周期对应的码率。
可选的,第二确定模块802,具体用于:将所述任意一个更新码率周期内媒体服务器反馈的第一丢包数和所述任意一个更新码率周期内发送给媒体服务器的视频包的总数量之间的比值,作为所述任意一个更新码率周期内的初始丢包率;
根据所述任意一个更新码率周期之前的预设个数的历史更新码率周期内的历史丢包率和历史丢包率对应的预设权重、所述任意一个更新码率周期内的初始丢包率和所述初始丢包率对应的预设权重,确定所述任意一个更新码率周期内的丢包率。
如图9所示,本发明还提供一种视频发送装置,应用于媒体服务器,包括:
接收模块900,用于针对任意一个更新码率周期,在任意一个更新码率周期内,接收视频发送终端按照所述任意一个更新码率周期对应的码率发送的视频包;
其中,所述视频包为根据待发送视频流编码出的多种分辨率的视频流构建的;所述任意一个更新码率周期为视频发送终端向所述媒体服务器发送所述待发送视频流构建出的所有种类的分辨率的视频包之前的时间;所述任意一个更新码率周期对应的码率是根据上一个更新码率周期内的RTT往返时间和上一个更新码率周期内的丢包率,对上一个更新码率周期对应的码率进行更新后得到的;所述RTT往返时间表征视频发送终端和媒体服务器之间的网络状况,所述丢包率为是基于上一个更新码率周期内的第一丢包数和上一个更新码率周期内视频发送终端发送给媒体服务器的视频包的总数量确定的,所述第一丢包数为所述视频发送终端发送给媒体服务器的所有视频包中媒体服务器未接收到视频包的总数量;
发送模块901,用于在所述待发送视频流构建的多种分辨率的视频包中,将所述媒体服务器和所述视频接收终端之间的下行带宽对应的分辨率的视频包发送给视频接收终端。
可选的,所述装置还包括:
统计反馈模块,用于在任意一个更新码率周期内,统计所述任意一个更新码率周期对应的第一丢包数,并在所述任意一个更新码率周期达到之后,将统计完成的第一丢包数反馈给视频发送终端。
可选的,发送模块901,具体用于:
确定目标时间段内的第二丢包数,并向视频接收终端发送,目标时间段内媒体服务器接收到所述视频发送终端发送的探测包;其中,所述第二丢包数是目标时间段内的视频发送终端发送给媒体服务器的所有探测包中媒体服务器未接收到探测包的总数量;
接收所述视频接收终端反馈的第三丢包数,并确定所述目标时间段的第二丢包数和所述视频接收终端反馈的第三丢包数的差值;其中,所述第三丢包数是所述目标时间段内所述视频发送终端通过所述媒体服务器转发给所述视频接收终端的所有探测包中所述视频接收终端未接收到探测包的总数量;
根据所述目标时间段的第二丢包数和所述视频接收终端反馈的第三丢包数的差值、和所述目标时间段内所述视频发送终端通过所述媒体服务器转发给所述视频接收终端的探测包的总数量,确定所述媒体服务器和所述视频接收终端之间的下行带宽。
另外,本发明实施例提供一种视频发送终端,包括:处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现所述的视频发送方法。
本发明实施例提供一种媒体服务器,包括:处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现所述的视频发送方法。
基于上述的介绍,示例性的,提出了图10的结构。该图10的结构可以为视频发送终端或者媒体服务器的结构。将视频发送终端和媒体服务器统称为电子设备。
电子设备可以包括处理器1010以及存储有计算机程序指令的存储器1020。
具体地,上述处理器1010可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器1020可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器1020可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器1020可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器1020可在数据处理装置的内部或外部。在特定实施例中,存储器1020是非易失性固态存储器。在特定实施例中,存储器1020包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器1010通过读取并执行存储器1020中存储的计算机程序指令,以实现上述实施例中的任意一种视频发送方法。
在一个示例中,电子设备还可包括通信接口1030和总线1040。其中,如图10所示,处理器1010、存储器1020、通信接口1030通过总线1040连接并完成相互间的通信。
通信接口1030,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线1040包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线1040可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
另外,结合上述实施例中的电子设备,本发明实施例可提供一种存储介质,当所述存储介质中的指令由视频发送终端的处理器执行时,使得所述视频发送终端能够执行应用于视频发送终端的视频发送方法;
或当所述存储介质中的指令由媒体服务器的处理器执行时,使得所述媒体服务器能够执行应用于媒体服务器的视频发送方法。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (6)
1.一种视频发送方法,其特征在于,应用于媒体服务器,包括:
接收视频发送终端按照第一更新码率周期对应的码率发送的视频包;其中,第一更新码率周期对应的码率是根据第二更新码率周期内的RTT往返时间和第二更新码率周期内视频发送终端和媒体服务器之间的丢包率,对第二更新码率周期对应的码率进行更新后得到的;第二更新码率周期为第一更新码率周期之前的更新码率周期;
根据所述媒体服务器和视频接收终端之间的下行带宽,将视频包发送给视频接收终端,以使视频接收端播放的视频清晰度在RTT往返时间大时,丢包率等级比较小清晰度等级比较高;在RTT往返时间小时,丢包率等级无论大小清晰度等级均比较高;
其中,下行带宽是通过以下方式确定的:
根据视频发送终端发送的探测包和实际接收到的探测包,确定媒体服务器和视频发送终端之间的丢包数;
将媒体服务器和视频接收终端之间的丢包数减去媒体服务器和视频发送终端之间的丢包数,作为视频接收终端的接收链路本身的丢包数;
根据视频接收终端的接收链路本身的丢包数,确定所述下行带宽。
2.根据权利要求1所述的视频发送方法,其特征在于,根据视频发送终端发送的探测包和实际接收到的探测包,确定媒体服务器和视频发送终端之间的丢包数,包括:
接收视频发送终端发送的所有探测包的从开始的序列号到结束的序列号,根据接收到探测包对应的序列号以及从开始的序列号到结束的序列号,将没有接收到的序列号的个数,作为媒体服务器和视频发送终端之间的丢包数。
3.根据权利要求2所述的视频发送方法,其特征在于,将没有接收到的序列号的个数,作为媒体服务器和视频发送终端之间的丢包数之后,所述方法还包括:
查询接收到的探测包的标识;
若接收到的探测包的标识为冗余包的标识,且冗余包对应的视频包丢失,则没有接收到的序列号的个数加上冗余包的个数更新媒体服务器和视频发送终端之间的丢包数。
4.根据权利要求1所述的视频发送方法,其特征在于,基于下行带宽向视频接收终端发送视频发送终端发送的视频包,包括:
在待发送视频流构建的多种分辨率的视频包中,将所述下行带宽对应的分辨率的视频包发送给视频接收终端;其中,所述待发送视频流构建的多种分辨率的视频包为视频发送终端发送给媒体服务器的。
5.一种媒体服务器,其特征在于,包括:处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1~权利要求4中的任一项所述的视频发送方法。
6.一种存储介质,其特征在于,包括:
或当所述存储介质中的指令由媒体服务器的处理器执行时,使得所述媒体服务器能够执行如权利要求1至权利要求4中任一项所述的视频发送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210117272.4A CN114513474B (zh) | 2022-02-08 | 2022-02-08 | 视频发送方法、视频发送终端、媒体服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210117272.4A CN114513474B (zh) | 2022-02-08 | 2022-02-08 | 视频发送方法、视频发送终端、媒体服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114513474A CN114513474A (zh) | 2022-05-17 |
CN114513474B true CN114513474B (zh) | 2024-03-05 |
Family
ID=81551526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210117272.4A Active CN114513474B (zh) | 2022-02-08 | 2022-02-08 | 视频发送方法、视频发送终端、媒体服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114513474B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242359A (zh) * | 2008-02-27 | 2008-08-13 | 华为技术有限公司 | 动态码率分配方法、分组域流媒体服务器 |
CN102065468A (zh) * | 2009-11-13 | 2011-05-18 | 华为技术有限公司 | 码率调整方法及服务器 |
CN109874031A (zh) * | 2017-12-04 | 2019-06-11 | 华平信息技术股份有限公司 | 基于网络带宽预测的多优先级动态码率调整方法及系统 |
CN110996103A (zh) * | 2019-12-12 | 2020-04-10 | 杭州叙简科技股份有限公司 | 一种根据网络情况对视频编码码率进行调节的方法 |
CN111836079A (zh) * | 2019-04-18 | 2020-10-27 | 杭州海康威视数字技术股份有限公司 | 一种视频码流的传输方法及装置 |
CN112039844A (zh) * | 2020-07-24 | 2020-12-04 | 南斗六星系统集成有限公司 | 一种车载终端监控视频自适应码率的方法和系统 |
CN113573003A (zh) * | 2021-08-11 | 2021-10-29 | 睿云联(厦门)网络通讯技术有限公司 | 一种基于弱网的音视频实时通信方法、装置以及设备 |
CN113891172A (zh) * | 2021-09-02 | 2022-01-04 | 西北工业大学 | 一种适于无线Mesh网络的基于RTT的自适应码率控制方法 |
-
2022
- 2022-02-08 CN CN202210117272.4A patent/CN114513474B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242359A (zh) * | 2008-02-27 | 2008-08-13 | 华为技术有限公司 | 动态码率分配方法、分组域流媒体服务器 |
WO2009106015A1 (zh) * | 2008-02-27 | 2009-09-03 | 华为技术有限公司 | 动态码率分配方法、分组域流媒体服务器 |
CN102065468A (zh) * | 2009-11-13 | 2011-05-18 | 华为技术有限公司 | 码率调整方法及服务器 |
CN109874031A (zh) * | 2017-12-04 | 2019-06-11 | 华平信息技术股份有限公司 | 基于网络带宽预测的多优先级动态码率调整方法及系统 |
CN111836079A (zh) * | 2019-04-18 | 2020-10-27 | 杭州海康威视数字技术股份有限公司 | 一种视频码流的传输方法及装置 |
CN110996103A (zh) * | 2019-12-12 | 2020-04-10 | 杭州叙简科技股份有限公司 | 一种根据网络情况对视频编码码率进行调节的方法 |
CN112039844A (zh) * | 2020-07-24 | 2020-12-04 | 南斗六星系统集成有限公司 | 一种车载终端监控视频自适应码率的方法和系统 |
CN113573003A (zh) * | 2021-08-11 | 2021-10-29 | 睿云联(厦门)网络通讯技术有限公司 | 一种基于弱网的音视频实时通信方法、装置以及设备 |
CN113891172A (zh) * | 2021-09-02 | 2022-01-04 | 西北工业大学 | 一种适于无线Mesh网络的基于RTT的自适应码率控制方法 |
Non-Patent Citations (3)
Title |
---|
Purvang D. Dala等.Impact of False RTT Estimation on TCP Performance over Wireless Links.《2012 International Conference on Advances in Mobile Network, Communication and Its Applications》.2012,全文. * |
李盼等.3G网络下视频传输自适应控制的研究.《电子设计工程》.2016,全文. * |
祝宇成 ; 周应权 ; .一种实时语音传输中冗余控制算法的改进.科学技术与工程.2007,(第17期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN114513474A (zh) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3322145B1 (en) | Method, server side and system for computing bandwidth of network transmission of streaming media | |
CN109587510B (zh) | 一种直播方法、装置、设备和存储介质 | |
EP2432175B1 (en) | Method, device and system for self-adaptively adjusting data transmission rate | |
US6918077B2 (en) | Data transmission method and data transmission apparatus | |
KR100967377B1 (ko) | 데이터 통신 시스템, 데이터 송신 장치, 데이터 수신 장치, 데이터 통신 방법, 및 컴퓨터 프로그램을 기록한 매체 | |
EP1535419B1 (en) | Method and devices for controlling retransmissions in data streaming | |
CN101919214B (zh) | 适应网络拥塞的系统和方法 | |
US20060018266A1 (en) | Roundtrip delay time measurement apparatus and method for variable bit rate multimedia data | |
CN106331717B (zh) | 视频码率自适应调整方法及发送端设备 | |
CN107979449A (zh) | 一种数据传输方法及装置 | |
JP5149314B2 (ja) | チャネル状態をフィードバックするための方法及び受信機 | |
US20110299399A1 (en) | Method and apparatus for congestion control | |
CN110505533B (zh) | 一种tcp视频传输进行误码重传控制的方法 | |
CN113300974B (zh) | 一种拥塞控制方法、设备及计算机可读介质 | |
WO2016201904A1 (zh) | 一种基于tcp的数据传输方法及装置 | |
US8811500B2 (en) | Data transmission | |
CN110602568B (zh) | 一种基于rtp的视频流传输丢包重传方法、设备及存储设备 | |
CN104754339A (zh) | I帧调整方法、装置及系统 | |
CN114513474B (zh) | 视频发送方法、视频发送终端、媒体服务器及存储介质 | |
JP2003163683A (ja) | サーバと移動端末の間でパケット系列を伝送するシステム | |
CN115085865B (zh) | 一种基于kcp协议的雷达数字视频低时延高可靠传输方法 | |
CN111629281B (zh) | 一种视频传输中基于网络丢包率分布的在线连续检验方法 | |
CN111953978B (zh) | 帧率控制方法、装置及存储介质 | |
CN113541853B (zh) | 数据传输方法、终端及计算机可读存储介质 | |
CN111385158B (zh) | 通信方法和通信装置 |
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 |