CN108111531B - 一种增强视频直播质量的方法及装置 - Google Patents
一种增强视频直播质量的方法及装置 Download PDFInfo
- Publication number
- CN108111531B CN108111531B CN201810001580.4A CN201810001580A CN108111531B CN 108111531 B CN108111531 B CN 108111531B CN 201810001580 A CN201810001580 A CN 201810001580A CN 108111531 B CN108111531 B CN 108111531B
- Authority
- CN
- China
- Prior art keywords
- packet
- supplementing
- live broadcast
- client
- data 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
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/80—Responding to QoS
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种增强视频直播质量的方法及装置,该方法包括补包客户端在确定所述补包客户端的延时缓存中的直播数据包存在丢包时,以单播形式向补包服务器发送直播补包请求,直播补包请求中包括丢失的数据包的序列号,其中,在直播的无线链路有效供给带宽大于第一阈值时,补包客户端的延时缓存大于第二阈值且小于第三阈值,接收补包服务器发送的补发的数据包,将补发的数据包的序列号映射为时间戳,按照时间戳向播放器发送补发的数据包,以使所述播放器延时播放视频。由于通过延时缓存存放直播数据包,并且通过补包客户端向补包服务器请求补发数据包,播放器在延时播放视频的同时还可以提高视频的播放质量,提高流畅性。
Description
技术领域
本发明实施例涉及轨道交通技术领域,尤其涉及一种增强视频直播质量的方法及装置。
背景技术
不稳定网络状态,指用于业务通信的网络,存在带宽变化剧烈,网络时断时续,丢包率较高,网络延迟变化剧烈等特点。主干网通常不会出现不稳定网络状态,比较常见的出现不稳定网络状态的是无线网络。典型的,如高速漫游状态下的地铁列车的车地无线通信网络。
在该状态下视频直播的流畅性,如果不进行额外处理,成功率和效果都会大打折扣,比如视频直播中会出现马赛克和卡顿等现象。
因此亟需一种能够增强视频直播效果的方法,以提高视频直播的流畅性。
发明内容
本发明实施例提供一种增强视频直播质量的方法及装置,以解决在不稳定网络状态下,如何合理规划使用资源,保证视频直播的流畅性的问题。
本发明实施例提供的一种增强视频直播质量的方法,包括:
补包客户端在确定所述补包客户端的延时缓存中的直播数据包存在丢包时,以单播形式向补包服务器发送直播补包请求,所述直播补包请求中包括丢失的数据包的序列号;其中,在直播的无线链路有效供给带宽大于第一阈值时,所述补包客户端的延时缓存大于第二阈值且小于第三阈值;
所述补包客户端接收所述补包服务器发送的补发的数据包;
所述补包客户端将所述补发的数据包的序列号映射为时间戳;
所述补包客户端按照所述时间戳向播放器发送所述补发的数据包。
可选的,所述补包客户端在确定所述补包客户端的延时缓存中的直播数据包存在丢包之前,还包括:
所述补包客户端接收直播源以组播的形式发送的直播数据包;
所述补包客户端将所述直播数据包存储在所述补包客户端的延时缓存中。
可选的,所述方法还包括:
所述补包客户端接收直播源周期性发送的参考时钟报文;
所述补包客户端按照所述时间戳向播放器发送所述补发的数据包,包括:
所述补包客户端根据所述参考时钟报文和所述补发的数据包的序列号对所述时间戳进行校正;
所述补发客户端按照校正后的时间戳向播放器发送所述补发的数据包。
可选的,所述第一阈值需要符合公式(1),所述第二阈值需要符合公式(2),所述第三阈值需要符合公式(3);
所述公式(1)为:
其中,A1为第一阈值,C为直播数据流量,d为无线链路的平均丢包率;
所述公式(2)为:
其中,A2为第二阈值,T为从补包服务器到补包客户端的一次有效请求响应时间间隔,C为直播数据流量,d为无线链路的平均丢包率;
所述公式(3)为:
其中,A3为第三阈值,C为直播数据流量。
相应的,本发明实施例还提供了一种增强视频直播质量的方法,包括:
补包服务器获取补包客户端发送的直播补包请求;所述直播补包请求中包括丢失的数据包的序列号;
所述补包服务器根据所述丢失的数据包的序列号从所述补包服务器的延时缓存中确定补发的数据包;
所述补包服务器将所述补发的数据包发送给所述补包客户端。
可选的,所述补包服务器在获取补包客户端发送的直播补包请求之前,还包括:
所述补包服务器接收直播源以组播的形式发送的直播数据包;
所述补包服务器将所述直播数据包存储在所述补包服务器的延时缓存中。
可选的,所述补包服务器在根据所述丢失的数据包的序列号从所述补包服务器的延时缓存中确定补发的数据包之前,还包括:
所述补包服务器根据所述丢失的数据包的序列号确定设定时间内是否接收到过相同的补包客户端发送的直播补包请求;
若是,则补包服务器放弃所述直播补包请求。
可选的,所述补包服务器根据所述丢失的数据包的序列号从所述补包服务器的延时缓存中确定补发的数据包,包括:
所述补包服务器在获取多个补包客户端的直播补包请求时,按照所述多个补包客户端所在的不稳定网络对所述多个补包客户端进行分组;
所述补包服务器按照分组分配资源,根据每个分组中的补包客户端的直播补包请求按照令牌桶机制确定与所述直播补包请求对应的补发的数据包;
其中,每个分组对应一个令牌桶,每确定出一个补包客户端的直播补包请求对应补发的数据包消耗一个所述令牌桶中的令牌。
可选的,所述方法还包括:
所述补包服务器接收直播源周期性发送的参考时钟报文。
相应的,本发明实施例还提供了一种增强视频直播质量的装置,包括:
收发单元,用于在确定补包客户端的延时缓存中的直播数据包存在丢包时,以单播形式向补包服务器发送直播补包请求,所述直播补包请求中包括丢失的数据包的序列号;其中,在直播的无线链路有效供给带宽大于第一阈值时,所述补包客户端的延时缓存大于第二阈值且小于第三阈值;以及接收所述补包服务器发送的补发的数据包;
处理单元,用于将所述补发的数据包的序列号映射为时间戳;
所述收发单元还用于按照所述时间戳向播放器发送所述补发的数据包。
可选的,所述处理单元在确定所述补包客户端的延时缓存中的直播数据包存在丢包之前,还用于:
控制所述收发单元接收直播源以组播的形式发送的直播数据包;
将所述直播数据包存储在所述补包客户端的延时缓存中。
可选的,所述处理单元还用于:
控制所述收发单元接收直播源周期性发送的参考时钟报文;
所述处理单元按照所述时间戳向播放器发送所述补发的数据包时,具体用于:
根据所述参考时钟报文和所述补发的数据包的序列号对所述时间戳进行校正;
控制所述收发单元按照校正后的时间戳向播放器发送所述补发的数据包。
可选的,所述第一阈值需要符合公式(1),所述第二阈值需要符合公式(2),所述第三阈值需要符合公式(3);
所述公式(1)为:
其中,A1为第一阈值,C为直播数据流量,d为无线链路的平均丢包率;
所述公式(2)为:
其中,A2为第二阈值,T为从补包服务器到补包客户端的一次有效请求响应时间间隔,C为直播数据流量,d为无线链路的平均丢包率;
所述公式(3)为:
其中,A3为第三阈值,C为直播数据流量。
相应的,本发明实施例还提供了一种增强视频直播质量的装置,包括:
收发单元,用于获取补包客户端发送的直播补包请求;所述直播补包请求中包括丢失的数据包的序列号;
处理单元,用于根据所述丢失的数据包的序列号从所述补包服务器的延时缓存中确定补发的数据包;
所述收发单元还用于将所述补发的数据包发送给所述补包客户端。
可选的,所述处理单元在获取补包客户端发送的直播补包请求之前,还用于:
控制所述收发单元接收直播源以组播的形式发送的直播数据包;
将所述直播数据包存储在所述补包服务器的延时缓存中。
可选的,所述处理单元在根据所述丢失的数据包的序列号从所述补包服务器的延时缓存中确定补发的数据包之前,还用于:
根据所述丢失的数据包的序列号确定设定时间内是否接收到过相同的补包客户端发送的直播补包请求;
若是,则放弃所述直播补包请求。
可选的,所述处理单元根据所述丢失的数据包的序列号从所述补包服务器的延时缓存中确定补发的数据包时,具体用于:
在获取多个补包客户端的直播补包请求时,按照所述多个补包客户端所在的不稳定网络对所述多个补包客户端进行分组;
按照分组分配资源,根据每个分组中的补包客户端的直播补包请求按照令牌桶机制确定与所述直播补包请求对应的补发的数据包;
其中,每个分组对应一个令牌桶,每确定出一个补包客户端的直播补包请求对应补发的数据包消耗一个所述令牌桶中的令牌。
可选的,所述处理单元还用于:
控制所述收发单元接收直播源周期性发送的参考时钟报文。
相应的,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述增强视频直播质量的方法。
相应的,本发明实施例还提供了一种计算机存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述增强视频直播质量的方法。
本发明实施例表明,补包客户端在确定所述补包客户端的延时缓存中的直播数据包存在丢包时,以单播形式向补包服务器发送直播补包请求,所述直播补包请求中包括丢失的数据包的序列号,其中,在直播的无线链路有效供给带宽大于第一阈值时,所述补包客户端的延时缓存大于第二阈值且小于第三阈值,接收所述补包服务器发送的补发的数据包,将所述补发的数据包的序列号映射为时间戳,按照所述时间戳向播放器发送所述补发的数据包,以使所述播放器延时播放视频。由于通过延时缓存存放直播数据包,并且通过补包客户端向补包服务器请求补发数据包,播放器在延时播放视频的同时还可以提高视频的播放质量,提高流畅性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种视频直播***的结构示意图;
图2为本发明实施例提供的一种增强视频直播质量的方法的流程示意图;
图3为本发明实施例提供的一种增强视频直播质量的装置的结构示意图;
图4为本发明实施例提供的一种增强视频直播质量的装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示例性的示出了本发明实施例提高的增强视频直播质量的方法所适用的视频直播***,该视频直播***包括直播源101,补包服务器102,补包客户端103和播放器104,其中,一个补包客户端103可以对应一个或多个播放器104。
在本发明实施例中,直播源101,指视频直播***内产生直播数据流的设备。补包服务器102和补包客户端103可以是软件模块,也可以是执行本发明实施例提供的增强视频直播质量的方法的处理器等芯片设备。播放器104,是指视频直播***中用于接收直播源的直播数据流,解码出直播视频并播放的设备,一个视频直播***通常有多个播放器104。
在补包服务器102和补包客户端103中设有指定时长的延时缓存,均以数据包内自带的序列号作为索引。缓存为环形队列,最大缓存大小为序列号可能产生的最大值,如16位序列号,对应最大缓存大小为65536。
在本发明实施例中,延时直播,则是通过刻意增大视频缓存的时长,牺牲部分直播的实时性,来换取一些其他特性的技术。组播,指网络传输中发送者向一个逻辑组内的所有接收者进行组内广播的技术。该技术比起常见的点播,会更节省主干网的带宽,因而在视频直播***中的应用越来越广泛。补包,指网络传输过程中对已丢失的数据包进行重新传输的技术。直播源101使用组播作为基本直播方法,对于每一个直播源101,***内只用一个组播,以节约出主干网带宽,用于补包。直播源101选用开放的数据包内自带能够形成时间戳映射的序列号的开放的传输层流媒体协议(如实时传输协议(Real-time TransportProtocol,RTP)),以保证延时直播时间的精准。补包服务器102和补包客户端103均从直播源104以组播形式获取直播数据包,播放器104不再直接获取直播源的数据包。播放器104改用延时直播的方式播放,补包客户端103作为播放器104的视频缓存,为播放器104提供延时后的直播数据。
基于上述描述,图2示例性的示出了本发明实施例提供的一种增强视频直播质量的方法的流程,下面以补包服务器与补包客户端交互的方式来描述该增强视频直播质量的流程。
如图2所示,该流程具体包括:
步骤201,直播源向补包客户端和补包服务器发送直播数据包。
在本发明实施例中,直播源不会直接向播放器发送直播数据包,而是现将直播数据包发送给补包客户端,由补包客户端转发给播发器,直播源是以组播的形式向该补包客户端和补包服务器发送直播数据包。
步骤202,补包客户端向补包服务器发送直播补包请求。
在补包客户端向补包服务器发送直播补包请求之前,补包客户端和补包服务器都可以接收到直播源以组播的形式发的直播数据包,并将接收到的直播数据包存储在各自的延时缓存中。存储在补包服务器中的直播数据包是为了能够为补包客户端进行补包,存储在补包客户端中的直播数据包是用于向直播器提供直播视频,并可以起到延时播放的目的。
补包客户端在确定该补包客户端的延时缓存中的直播数据包存在丢包时,可以以单播形式向补包服务器发送直播补包请求,该直播补包请求中包括丢失的数据包的序列号,也可以说是丢失的数据包的索引。
补包客户端可以周期性的检查延时缓存,若发现延时缓存中的直播数据包存在缺失的序列号,为节省带宽,可以批量压缩后再向补包服务器发出UDP单播形式的补包请求。
可选的,由于太长的播放延时会导致视频节目的实时性受损,太短的播放延时会导致来不及补包,因此,在直播的无线链路有效供给带宽大于第一阈值时,上述补包客户端的延时缓存大于第二阈值且小于第三阈值。
其中,该第一阈值需要符合公式(1),该第二阈值需要符合公式(2),该第三阈值需要符合公式(3);
该公式(1)为:
其中,A1为第一阈值,C为直播数据流量(单位为Mbit/s),d为无线链路的平均丢包率;
该公式(2)为:
其中,A2为第二阈值,T为从补包服务器到补包客户端的一次有效请求响应时间间隔(单位为s),C为直播数据流量,d为无线链路的平均丢包率;
该公式(3)为:
其中,A3为第三阈值,C为直播数据流量。
举例来说,互联网协议电视(Internet Protocol Television,IPTV)中最常使用的是媒体传输质量指标(Media Delivery Index,MDI),该指标可以描述为延迟因素(DelayFactor,DF)和媒体丢包速率(Media Loss Rate,MLR)两个参数,IPTV通常对DF要求为小于50ms,对MLR要求为0.004。
设直播服务器产生的直播数据流量为C(C<8Mbit/s),无线链路的统计平均丢包率为d(d<10%),从补包服务器到播放控制器的一次有效请求响应时间间隔为T(单位为s),每个RTP包平均为1350Byte=0.0103Mbit,则专供车地无线直播的无线链路有效供给带宽必须大于上述公式(1),且缓存时间(单位s,下同)不能低于上述公式(2)且不能高于上述公式(3),才可能达到直播效果评价标准的MLR个数要求,如果该假设不成立,则直播效果无法保证。其中,第二阈值也可以依据经验进行设置,在实际应用时,可以根据现场环境适当增大。
在直播数据流量C=6Mbit/s,无线链路的统计平均丢包率d=10%,有效请求响应时间间隔T=0.5s。
则无线链路有效供给带宽必须大于7.49Mbit/s;缓存时间必须满足:4.165s<缓存时间<112.5s,才可能达到直播效果评价标准的MLR个数要求,并且依照现场情况适当调整以获得最佳效果。
步骤203,补包服务器根据丢失的数据包的序列号从该补包服务器的延时缓存中确定补发的数据包。
补包服务器在接收到补包客户端发送的直播补包请求后,可以根据丢失的数据包的序列号从补包服务器的延时缓存中确定需要补发的数据包。为了避免出现重复补包的情况,在根据丢失的数据包的序列号从补包服务器的延时缓存中确定需要补发的数据包之前,补包服务器可以根据丢失的数据包的序列号确定设定时间内是否接收到过相同的补包客户端发送的直播补包请求,若接收到过相同的请求,则补包服务器可以放弃该直播补包请求,不进行处理,也就是忽略该直播补包请求。
补包服务器在接收到直播补包请求后,可以过滤格式不合法或来源不合法的数据包,然后解压缩。对解压后的每个序列号,如果最近一段时间已经被相同的客户端请求过,则忽略该直播补包请求,这种机制称之为冷却。冷却机制是为了避免无谓的重复补包会额外消耗掉主干网资源和不稳定网络的资源。导致重复补包的原因有二:一是传输层协议本身可能重复发送补包请求数据包。二是网络高延迟会导致补包数据迟到,从而造成补包客户端误判为补包失败,重新发送补包请求。
补包服务器在根据所述丢失的数据包的序列号从所述补包服务器的延时缓存中确定补发的数据包时,具体可以为补包服务器在获取多个补包客户端的直播补包请求时,先按照多个补包客户端所在的不稳定网络对多个补包客户端进行分组。再按照分组分配资源,根据每个分组中的补包客户端的直播补包请求按照令牌桶机制确定与直播补包请求对应的补发的数据包,其中,每个分组对应一个令牌桶,每确定出一个补包客户端的直播补包请求对应补发的数据包消耗一个所述令牌桶中的令牌。
举例来说,补包服务器对补包客户端按每个不稳定网络中的补包客户端划为一组,进行分组。按分组分配资源处理补包请求,分组之间的处理资源公平调度,让每个分组平等的使用资源。每个分组单独设立一个存在最大令牌数限制的令牌桶,每指定等间隔时间内自动产生指定数量的令牌,直至达到最大令牌数限制,而每个分组的每一次补包,都要消耗一个自己令牌桶中的令牌,若桶中无令牌,则需等待新的令牌的产生。令牌桶机制对每个分组发送补包数据的速度进行限制,这样主干网的资源能够平均分配,避免了某个分组挤占服务的可能。分组内的处理资源按最先播放的数据包优先原则进行分配,以获得最佳的播放效果。
步骤204,补包服务器向补包客户端发送补发的数据包。
补包服务器在确定出补发的数据包之后,就向补包客户端发送该补发的数据包,从而完成对丢失的数据包的补包。
步骤205,补包客户端将补发的数据包的序列号映射为时间戳。
步骤206,补包客户端案子时间戳向播放器发送补发的数据包。
补包客户端在接收到补发的数据包后,需要将补发的数据包的序列号映射为时间戳,然后按照时间戳向播放器发送补发的数据包,已完成视频播放。
其中,为了能够精准的播放延时视频,完成序列号到时间戳的映射,补包服务器还需要周期性的向补包客户端发送参考时钟报文,补包客户端在接收到该参考时钟报文之后,根据参考时钟报文和补发的数据包的序列号对时间戳进行校正,然后补发客户端按照校正后的时间戳向播放器发送补发的数据包。从而提高播放延时视频的精准度。
需要说明的是,在本发明实施例中,时钟是一种描述时间的坐标系的表达,包括零点的定义和时间单位的定义。时钟分两类:绝对时钟和相对时钟。绝对时钟又叫墙上时钟,是一种描述时间的坐标系的表达,包括零点的定义和时间单位的定义,是描述当前时间点到零点(通常为公元0年1月1日0:00)之间的距离。RTP中存在两种绝对时钟概念:本地时钟是本机所描述的绝对时钟,由于时钟发生器精度不高,会存在与真实时钟的差异;参考时钟是RTP会话中的直播源所在的主机的本地时钟在会话中其它机器的表达,同样存在精度差异。
相对时钟则可看作是绝对时钟的有损压缩格式,它比本地时钟和参考时钟的精度要低得多(如,依照RTP/AVP标准,MPEG-TS流为90000Hz),且不再以真实时钟的零点做为自己的零点(零点在建立会话时由sender随机产生),相对时钟的重点在表达报文的先后顺序性,RTP包中的序列号即是一种相对时钟。
由于补包客户端和补包服务器的业务处理(如判断缓存中报文是否过期)中,需要进行一些时间计算,因此需要把不同的坐标系换算成同一个坐标系,比较方便的是本地时钟坐标系。通过从参考时钟到相对时钟再到本地时钟的转换,很容易产生误差,长时间的误差累积可能会导致对业务处理形成错误影响。因此需要通过参考时钟报文周期性的进行零点校正,这样才能将误差控制在合理范围内。
上述坐标系换算需要提供一个坐标系间的交点(实际上是同一个点在两个不同坐标系的表示),和一个源坐标系的待换算点。计算时,首先得到源坐标系的待换算点与交点的距离,再将该距离换算为目的坐标系,然后将交点与该距离相加可得换算后的时间点。
交点可通过直播源发来的参考时钟报文进行更新,对于发来的参考时钟报文中的相对时间戳+参考时间戳,需要附加记录一个接受参考时钟报文时本地稳定时钟的时间戳,组成一个三元组。实际的交点在使用时根据当前本地稳定时钟,适度加减过渡补偿因子以使其过渡更为平滑。
通过这套时钟机制,即可解决延时播放的时间精准度,不会出现播放抖动的现象。
需要说明的是,在本发明实施例中,播放器不会直接接收到直播源发送的直播数据包,而是从补包客户端中获取直播数据包,通过补包客户端完成丢失的数据包的补包,可以避免播发器在直播过程中出现马赛克和卡顿等现象。
上述实施例表明,补包客户端在确定所述补包客户端的延时缓存中的直播数据包存在丢包时,以单播形式向补包服务器发送直播补包请求,所述直播补包请求中包括丢失的数据包的序列号,其中,在直播的无线链路有效供给带宽大于第一阈值时,所述补包客户端的延时缓存大于第二阈值且小于第三阈值,接收所述补包服务器发送的补发的数据包,将所述补发的数据包的序列号映射为时间戳,按照所述时间戳向播放器发送所述补发的数据包,以使所述播放器延时播放视频。由于通过延时缓存存放直播数据包,并且通过补包客户端向补包服务器请求补发数据包,播放器在延时播放视频的同时还可以提高视频的播放质量,提高流畅性。
基于相同的技术构思,图3示例性的示出了本发明实施例提供的一种增强视频直播质量的装置的结构,该装置可以为补包客户端,也可以位于补包客户端内。
如图3所示,该装置具体包括:
收发单元301,用于在确定补包客户端的延时缓存中的直播数据包存在丢包时,以单播形式向补包服务器发送直播补包请求,所述直播补包请求中包括丢失的数据包的序列号;其中,在直播的无线链路有效供给带宽大于第一阈值时,所述补包客户端的延时缓存大于第二阈值且小于第三阈值;以及接收所述补包服务器发送的补发的数据包;
处理单元302,用于将所述补发的数据包的序列号映射为时间戳;
所述收发单元301还用于按照所述时间戳向播放器发送所述补发的数据包。
可选的,所述处理单元302在确定所述补包客户端的延时缓存中的直播数据包存在丢包之前,还用于:
控制所述收发单元301接收直播源以组播的形式发送的直播数据包;
将所述直播数据包存储在所述补包客户端的延时缓存中。
可选的,所述处理单元302还用于:
控制所述收发单元301接收所述补包服务器发送的参考时钟报文;
所述处理单元302按照所述时间戳向播放器发送所述补发的数据包时,具体用于:
根据所述参考时钟报文和所述补发的数据包的序列号对所述时间戳进行校正;
控制所述收发单元301按照校正后的时间戳向播放器发送所述补发的数据包。
可选的,所述第一阈值需要符合公式(1),所述第二阈值需要符合公式(2),所述第三阈值需要符合公式(3);
所述公式(1)为:
其中,A1为第一阈值,C为直播数据流量,d为无线链路的平均丢包率;
所述公式(2)为:
其中,A2为第二阈值,T为从补包服务器到补包客户端的一次有效请求响应时间间隔,C为直播数据流量,d为无线链路的平均丢包率;
所述公式(3)为:
其中,A3为第三阈值,C为直播数据流量。
基于相同的技术构思,图4示例性的示出了本发明实施例提供的一种增强视频直播质量的装置,该装置可以为补包服务器,也可以位于补包服务器内。
如图4所示,该装置具体包括:
收发单元401,用于获取补包客户端发送的直播补包请求;所述直播补包请求中包括丢失的数据包的序列号;
处理单元402,用于根据所述丢失的数据包的序列号从所述补包服务器的延时缓存中确定补发的数据包;
所述收发单元401还用于将所述补发的数据包发送给所述补包客户端。
可选的,所述处理单元402在获取补包客户端发送的直播补包请求之前,还用于:
控制所述收发单元401接收直播源以组播的形式发送的直播数据包;
将所述直播数据包存储在所述补包服务器的延时缓存中。
可选的,所述处理单元402在根据所述丢失的数据包的序列号从所述补包服务器的延时缓存中确定补发的数据包之前,还用于:
根据所述丢失的数据包的序列号确定设定时间内是否接收到过相同的补包客户端发送的直播补包请求;
若是,则放弃所述直播补包请求。
可选的,所述处理单元402根据所述丢失的数据包的序列号从所述补包服务器的延时缓存中确定补发的数据包时,具体用于:
在获取多个补包客户端的直播补包请求时,按照所述多个补包客户端所在的不稳定网络对所述多个补包客户端进行分组;
按照分组分配资源,根据每个分组中的补包客户端的直播补包请求按照令牌桶机制确定与所述直播补包请求对应的补发的数据包;
其中,每个分组对应一个令牌桶,每确定出一个补包客户端的直播补包请求对应补发的数据包消耗一个所述令牌桶中的令牌。
可选的,所述处理单元402还用于:
控制所述收发单元401周期性的向所述补包客户端发送参考时钟报文。
基于相同的技术构思,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述增强视频直播质量的方法。
基于相同的技术构思,本发明实施例还提供了一种计算机存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述增强视频直播质量的方法。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (14)
1.一种增强视频直播质量的方法,其特征在于,包括:
补包客户端在确定所述补包客户端的延时缓存中的直播数据包存在丢包时,以单播形式向补包服务器发送直播补包请求,所述直播补包请求中包括丢失的数据包的序列号;其中,在直播的无线链路有效供给带宽大于第一阈值时,所述补包客户端的延时缓存大于第二阈值且小于第三阈值;
所述补包客户端接收所述补包服务器发送的补发的数据包;
所述补包客户端将所述补发的数据包的序列号映射为时间戳;
所述补包客户端按照所述时间戳向播放器发送所述补发的数据包,以使所述播放器延时播放视频;
所述第一阈值需要符合公式(1),所述第二阈值需要符合公式(2),所述第三阈值需要符合公式(3);
所述公式(1)为:
其中,A1为第一阈值,C为直播数据流量,d为无线链路的平均丢包率;
所述公式(2)为:
其中,A2为第二阈值,T为从补包服务器到补包客户端的一次有效请求响应时间间隔,C为直播数据流量,d为无线链路的平均丢包率;
所述公式(3)为:
其中,A3为第三阈值,C为直播数据流量。
2.如权利要求1所述的方法,其特征在于,所述补包客户端在确定所述补包客户端的延时缓存中的直播数据包存在丢包之前,还包括:
所述补包客户端接收直播源以组播的形式发送的直播数据包;
所述补包客户端将所述直播数据包存储在所述补包客户端的延时缓存中。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述补包客户端接收直播源周期性发送的参考时钟报文;
所述补包客户端按照所述时间戳向播放器发送所述补发的数据包,包括:
所述补包客户端根据所述参考时钟报文和所述补发的数据包的序列号对所述时间戳进行校正;
所述补发客户端按照校正后的时间戳向播放器发送所述补发的数据包。
4.一种增强视频直播质量的方法,其特征在于,包括:
补包服务器获取补包客户端发送的直播补包请求;所述直播补包请求中包括丢失的数据包的序列号;
所述补包服务器根据所述丢失的数据包的序列号从所述补包服务器的延时缓存中确定补发的数据包;
所述补包服务器将所述补发的数据包发送给所述补包客户端;
所述补包服务器根据所述丢失的数据包的序列号从所述补包服务器的延时缓存中确定补发的数据包,包括:
所述补包服务器在获取多个补包客户端的直播补包请求时,按照所述多个补包客户端所在的不稳定网络对所述多个补包客户端进行分组;
所述补包服务器按照分组分配资源,根据每个分组中的补包客户端的直播补包请求按照令牌桶机制确定与所述直播补包请求对应的补发的数据包;
其中,每个分组对应一个令牌桶,每确定出一个补包客户端的直播补包请求对应补发的数据包消耗一个所述令牌桶中的令牌。
5.如权利要求4所述的方法,其特征在于,所述补包服务器在获取补包客户端发送的直播补包请求之前,还包括:
所述补包服务器接收直播源以组播的形式发送的直播数据包;
所述补包服务器将所述直播数据包存储在所述补包服务器的延时缓存中。
6.如权利要求4所述的方法,其特征在于,所述补包服务器在根据所述丢失的数据包的序列号从所述补包服务器的延时缓存中确定补发的数据包之前,还包括:
所述补包服务器根据所述丢失的数据包的序列号确定设定时间内是否接收到过相同的补包客户端发送的直播补包请求;
若是,则补包服务器放弃所述直播补包请求。
7.一种增强视频直播质量的装置,其特征在于,包括:
收发单元,用于在确定补包客户端的延时缓存中的直播数据包存在丢包时,以单播形式向补包服务器发送直播补包请求,所述直播补包请求中包括丢失的数据包的序列号;其中,在直播的无线链路有效供给带宽大于第一阈值时,所述补包客户端的延时缓存大于第二阈值且小于第三阈值;以及接收所述补包服务器发送的补发的数据包;
处理单元,用于将所述补发的数据包的序列号映射为时间戳;
所述收发单元还用于按照所述时间戳向播放器发送所述补发的数据包;
所述第一阈值需要符合公式(1),所述第二阈值需要符合公式(2),所述第三阈值需要符合公式(3);
所述公式(1)为:
其中,A1为第一阈值,C为直播数据流量,d为无线链路的平均丢包率;
所述公式(2)为:
其中,A2为第二阈值,T为从补包服务器到补包客户端的一次有效请求响应时间间隔,C为直播数据流量,d为无线链路的平均丢包率;
所述公式(3)为:
其中,A3为第三阈值,C为直播数据流量。
8.如权利要求7所述的装置,其特征在于,所述处理单元在确定所述补包客户端的延时缓存中的直播数据包存在丢包之前,还用于:
控制所述收发单元接收直播源以组播的形式发送的直播数据包;
将所述直播数据包存储在所述补包客户端的延时缓存中。
9.如权利要求7所述的装置,其特征在于,所述处理单元还用于:
控制所述收发单元接收直播源周期性发送的参考时钟报文;
所述处理单元按照所述时间戳向播放器发送所述补发的数据包时,具体用于:
根据所述参考时钟报文和所述补发的数据包的序列号对所述时间戳进行校正;
控制所述收发单元按照校正后的时间戳向播放器发送所述补发的数据包。
10.一种增强视频直播质量的装置,其特征在于,包括:
收发单元,用于获取补包客户端发送的直播补包请求;所述直播补包请求中包括丢失的数据包的序列号;
处理单元,用于根据所述丢失的数据包的序列号从所述补包服务器的延时缓存中确定补发的数据包;
所述收发单元还用于将所述补发的数据包发送给所述补包客户端;
所述处理单元根据所述丢失的数据包的序列号从所述补包服务器的延时缓存中确定补发的数据包时,具体用于:
在获取多个补包客户端的直播补包请求时,按照所述多个补包客户端所在的不稳定网络对所述多个补包客户端进行分组;
按照分组分配资源,根据每个分组中的补包客户端的直播补包请求按照令牌桶机制确定与所述直播补包请求对应的补发的数据包;
其中,每个分组对应一个令牌桶,每确定出一个补包客户端的直播补包请求对应补发的数据包消耗一个所述令牌桶中的令牌。
11.如权利要求10所述的装置,其特征在于,所述处理单元在获取补包客户端发送的直播补包请求之前,还用于:
控制所述收发单元接收直播源以组播的形式发送的直播数据包;
将所述直播数据包存储在所述补包服务器的延时缓存中。
12.如权利要求10所述的装置,其特征在于,所述处理单元在根据所述丢失的数据包的序列号从所述补包服务器的延时缓存中确定补发的数据包之前,还用于:
根据所述丢失的数据包的序列号确定设定时间内是否接收到过相同的补包客户端发送的直播补包请求;
若是,则放弃所述直播补包请求。
13.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至3或4至6任一项所述的方法。
14.一种计算机存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1至3或4至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810001580.4A CN108111531B (zh) | 2018-01-02 | 2018-01-02 | 一种增强视频直播质量的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810001580.4A CN108111531B (zh) | 2018-01-02 | 2018-01-02 | 一种增强视频直播质量的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108111531A CN108111531A (zh) | 2018-06-01 |
CN108111531B true CN108111531B (zh) | 2020-12-08 |
Family
ID=62219523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810001580.4A Active CN108111531B (zh) | 2018-01-02 | 2018-01-02 | 一种增强视频直播质量的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108111531B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110022534B (zh) * | 2019-03-28 | 2021-06-08 | 山东省计算中心(国家超级计算济南中心) | 一种基于组播的数据传输方法及装置 |
CN110062339B (zh) * | 2019-03-28 | 2021-09-17 | 山东省计算中心(国家超级计算济南中心) | 一种可共享数据传输的方法和装置 |
CN111865874B (zh) * | 2019-04-28 | 2022-08-16 | 成都鼎桥通信技术有限公司 | 数据传输方法及装置 |
CN110351569B (zh) * | 2019-06-25 | 2021-02-02 | 腾讯科技(深圳)有限公司 | 一种直播内容处理方法、装置、设备及介质 |
CN113347137B (zh) * | 2020-03-02 | 2024-03-05 | 广州虎牙科技有限公司 | 数据流切片的补片方法、装置、计算机设备及存储介质 |
CN114025389B (zh) * | 2021-11-01 | 2024-04-30 | 网易(杭州)网络有限公司 | 数据传输方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103533451A (zh) * | 2013-09-30 | 2014-01-22 | 广州华多网络科技有限公司 | 抖动缓存调节方法及其*** |
CN105072508A (zh) * | 2015-08-12 | 2015-11-18 | 苏州华启智能科技有限公司 | 一种无线网络多媒体播放补包***及方法 |
CN106534884A (zh) * | 2016-11-10 | 2017-03-22 | 中广热点云科技有限公司 | 一种视频编码中码率控制方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015014403A1 (en) * | 2013-08-01 | 2015-02-05 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for controlling streaming of video content |
-
2018
- 2018-01-02 CN CN201810001580.4A patent/CN108111531B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103533451A (zh) * | 2013-09-30 | 2014-01-22 | 广州华多网络科技有限公司 | 抖动缓存调节方法及其*** |
CN105072508A (zh) * | 2015-08-12 | 2015-11-18 | 苏州华启智能科技有限公司 | 一种无线网络多媒体播放补包***及方法 |
CN106534884A (zh) * | 2016-11-10 | 2017-03-22 | 中广热点云科技有限公司 | 一种视频编码中码率控制方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN108111531A (zh) | 2018-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108111531B (zh) | 一种增强视频直播质量的方法及装置 | |
WO2020192152A1 (zh) | 视频传输的方法、根节点、子节点、p2p服务器和*** | |
RU2634908C2 (ru) | Способ и устройство для управления доставкой медиаданных | |
JP6178523B2 (ja) | 要求マネージャおよび接続マネージャの機能を実装するトランスポートアクセラレータ | |
US9973345B2 (en) | Calculating and signaling segment availability times for segments of media data | |
RU2369040C2 (ru) | Буферизация при потоковой передаче данных | |
EP3247121B1 (en) | Streaming media data transmission method, client and server | |
CN108696772B (zh) | 一种实时视频的传输方法及装置 | |
US20120039391A1 (en) | System and method for transmission of data signals over a wireless network | |
CN105376613B (zh) | 一种快速频道切换方法、服务器及iptv*** | |
CN104836748A (zh) | 拥塞控制比特率算法 | |
US20080028276A1 (en) | Method and apparatus for synchronizing multiple multimedia streams | |
RU2598805C2 (ru) | Способ для динамической адаптации частоты следования битов при приеме и соответствующий приемник | |
CN101552660A (zh) | 对流媒体数据进行重传、播放的方法、装置及通信*** | |
KR102198701B1 (ko) | 멀티미디어 시스템에서 정보를 송수신하는 방법 및 장치 | |
EP3777218A1 (en) | Congestion response for timely media delivery | |
KR20230002784A (ko) | 오디오 및/또는 비디오 콘텐츠 전송을 위한 방법 및 서버 | |
CN110086797B (zh) | 媒体流的实时接收方法、客户端、计算机设备和存储介质 | |
US10903921B2 (en) | Method and device for providing heterogeneous network-based broadcast service | |
CN103139188B (zh) | 流媒体传输方法与*** | |
JP5610743B2 (ja) | コンテンツ受信方法及び装置 | |
US10440406B2 (en) | Method and apparatus for transmitting or receiving multimedia | |
KR20200018493A (ko) | 데이터를 스트리밍하기 위한 방법들 및 장치들 | |
US10182089B2 (en) | Method and broadcast multicast service center, BM-SC, node for providing an on-request service | |
CN110048800A (zh) | 一种mcs等级的调整方法及基站 |
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 |