CN108966022A - 一种直播方法、装置及终端 - Google Patents
一种直播方法、装置及终端 Download PDFInfo
- Publication number
- CN108966022A CN108966022A CN201810717468.0A CN201810717468A CN108966022A CN 108966022 A CN108966022 A CN 108966022A CN 201810717468 A CN201810717468 A CN 201810717468A CN 108966022 A CN108966022 A CN 108966022A
- Authority
- CN
- China
- Prior art keywords
- code rate
- data packet
- cache
- data
- evaluation
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000009825 accumulation Methods 0.000 claims abstract description 37
- 238000011156 evaluation Methods 0.000 claims description 130
- 238000012545 processing Methods 0.000 claims description 6
- 238000007405 data analysis Methods 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 abstract description 2
- 230000006835 compression Effects 0.000 abstract 1
- 238000007906 compression Methods 0.000 abstract 1
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013210 evaluation model Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4621—Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4335—Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供一种直播方法、装置及终端,通过获取评估区间内的评估数据,评估数据包括在评估区间内的时间点满足数据获取条件时,获取的主播缓存中数据包的数量;分析评估数据,得到主播缓存在评估区间内的数据包积累结果;基于数据包累积结果确定码率调整策略,码率调整策略指示增大码率或减小码率;根据码率调整策略调整主播端的码率,以使得主播端根据调整后的码率压缩主播端产生的直播流得到并在主播缓存中存储数据包的方式,使得可以根据主播缓存中数据包的积累情况对码率进行自动调整,进而达到了在保证直播顺畅的基础上,提供更好的直播质量的目的。
Description
技术领域
本发明涉及直播技术领域,更具体地说,涉及一种直播方法、装置及终端。
背景技术
直播是指主播端将直播流压缩后得到数据包,然后将数据包推送到服务器,以便于观众端即时从服务器获取数据包进行观赏的过程。其中,主播端可以认为是直播过程中直播流的产生者,观众端可以认为是直播过程中直播流的接收者,直播流可以为音视频数据等。
因直播过程涉及到直播流的传输,故直播过程与主播端和观众端所处的网络情况息息相关。比如,主播端和/或观众端所处的网络情况差时,往往存在直播不顺畅的问题。目前为了解决这一问题,通常是为主播端设置一个固定的较小的码率以实现对直播流的压缩,这样,便会使得压缩后的直播流体积较小,占用网络资源较少,进而便于提高网络传输效率,使得直播更加顺畅;然而,虽然这一方法可以使得直播更加顺畅,但是却往往会使得直播清晰度降低,不能保证足够好的直播质量。
因此,如何在保证直播能够顺畅播放的基础上,又能尽可能提供足够好的直播质量,已成为亟待解决的问题。
发明内容
有鉴于此,本发明提供一种直播方法、装置及服务器,以使得在保证直播顺畅的基础上,提供更好的直播质量。
技术方案如下:
一种直播方法,应用于主播端,该方法包括:
获取评估区间内的评估数据,所述评估数据包括在所述评估区间内的时间点满足数据获取条件时,获取的主播缓存中数据包的数量;
分析所述评估数据,得到所述主播缓存在所述评估区间内的数据包积累结果;
基于所述数据包累积结果确定码率调整策略,所述码率调整策略指示增大码率或减小码率;
根据所述码率调整策略调整所述主播端的码率,以使得所述主播端根据调整后的码率压缩所述主播端产生的直播流得到并在所述主播缓存中存储数据包。
优选的,所述评估区间包括由评估开始时间点和评估结束时间点构成的时间段,
所述获取评估区间内的评估数据,包括:在当前系统时间达到所述评估结束时间点时,获取所述评估区间内的评估数据。
优选的,数据获取条件包括:
当前系统时间与所述评估区间开始时间点之间的时间间隔为预设时间间隔;
或者,
当前系统时间与上一次确定满足所述数据获取条件的时间点之间的时间间隔为所述预设时间间隔。
优选的,所述根据所述码率调整策略调整所述主播端的码率,包括:
当所述码率调整策略指示增大码率时,如果当前所述主播端的码率未超过预先设置的最大码率,增大当前所述主播端的码率;
当所述码率调整策略指示减小码率时,如果当前所述主播端的码率未低于预先设置的最小码率,减小当前所述主播端的码率。
一种直播方法,应用于观众端,该方法包括:
从服务器获取待直播的第一数据包,确定主播端生成所述第一数据包的第一时间戳;
获取当前的观众端缓存中、最早被存入所述观众端缓存的第二数据包,并确定所述主播端生成所述第二数据包的第二时间戳;
若所述第一时间戳和第二时间戳之间的时间差值超过预先设置的时间戳差值,确定当前的所述观众端缓存中、最早被存入所述观众端缓存的第三数据包,所述主播端生成所述第三数据包的第三时间戳与所述第一时间戳之间的时间差值未超过所述时间戳差值;
丢弃当前所述观众端缓存中、早于所述第三数据包存入所述观众端缓存的各个数据包,并将所述第一数据包存入所述观众端缓存,以由所述观众端按照数据包存入所述观众端缓存的顺序播放所述观众端缓存中的数据包;
若所述第一时间戳和第二时间戳之间的时间差值未超过所述时间戳差值,将所述第一数据包存入所述观众端缓存。
优选的,所述丢弃当前所述观众端缓存中、早于所述第三数据包存入所述观众端缓存的各个数据包,包括:
确定当前所述观众端缓存中、早于所述第三数据包存入所述观众端缓存的各个数据包;
从当前所述观众端缓存中,丢弃所确定的每个所述数据包中的P帧。
一种直播装置,包括:
评估数据获取单元,用于获取评估区间内的评估数据,所述评估数据包括在所述评估区间内的时间点满足数据获取条件时,获取的主播缓存中数据包的数量;
评估数据分析单元,用于分析所述评估数据,得到所述主播缓存在所述评估区间内的数据包积累结果;
码率调整策略确定单元,用于基于所述数据包累积结果确定码率调整策略,所述码率调整策略指示增大码率或减小码率;
码率调整单元,用于根据所述码率调整策略调整所述主播端的码率,以使得所述主播端根据调整后的码率压缩所述主播端产生的直播流得到并在所述主播缓存中存储数据包。
一种直播装置,包括:
第一时间戳确定单元,用于从服务器获取待直播的第一数据包,确定主播端生成所述第一数据包的第一时间戳;
第二时间戳确定单元,用于获取当前的观众端缓存中、最早被存入所述观众端缓存的第二数据包,并确定所述主播端生成所述第二数据包的第二时间戳;
第三数据包确定单元,用于若所述第一时间戳和第二时间戳之间的时间差值超过预先设置的时间戳差值,确定当前的所述观众端缓存中、最早被存入所述观众端缓存的第三数据包,所述主播端生成所述第三数据包的第三时间戳与所述第一时间戳之间的时间差值未超过所述时间戳差值;
数据包丢弃单元,用于丢弃当前所述观众端缓存中、早于所述第三数据包存入所述观众端缓存的各个数据包,并将所述第一数据包存入所述观众端缓存,以由所述观众端按照数据包存入所述观众端缓存的顺序播放所述观众端缓存中的数据包;
数据包存入单元,用于若所述第一时间戳和第二时间戳之间的时间差值未超过所述时间戳差值,将所述第一数据包存入所述观众端缓存。
一种终端,包括:用于实现如权利要求1-4任意一项所述的直播方法的直播装置;或者用于实现如权利要求5-6任意一项所述的直播方法的直播装置。
本申请提供一种直播方法、装置及终端,通过获取评估区间内的评估数据,评估数据包括在评估区间内的时间点满足数据获取条件时,获取的主播缓存中数据包的数量;分析评估数据,得到主播缓存在评估区间内的数据包积累结果;基于数据包累积结果确定码率调整策略,码率调整策略指示增大码率或减小码率;根据码率调整策略调整主播端的码率,以使得主播端根据调整后的码率压缩主播端产生的直播流得到并在主播缓存中存储数据包的方式,使得可以根据主播缓存中数据包的积累情况对码率进行自动调整,进而达到了在保证直播顺畅的基础上,提供更好的直播质量的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种直播方法流程图;
图2为本申请实施例提供的另一种直播方法流程图;
图3为本申请实施例提供的一种直播装置的结构示意图;
图4为本申请实施例提供的另一种直播装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供一种直播方法,可以应用于主播端,优选的,该方法可参见图1提供的一种直播方法流程图。
如图1所示,该方法包括:
S101、获取评估区间内的评估数据,评估数据包括在评估区间内的时间点满足数据获取条件时,获取的主播缓存中数据包的数量;
在本申请实施例中,优选的,评估区间是由评估开始时间点和评估结束时间点构成的时间段。即,评估区间包括评估开始时间点和评估结束时间点,评估区间表示一个时间段,该时间段的开始时间是该评估开始时间点,该时间段的结束时间是该评估结束时间点。
可选的,获取评估区间内的评估数据,包括:在当前系统时间达到评估结束时间点时,获取评估区间内的评估数据。
在本申请实施例中,优选的,数据获取条件包括:当前系统时间与评估区间开始时间点之间的时间间隔为预设时间间隔;或者,当前系统时间与上一次确定满足数据获取条件的时间点之间的时间间隔为预设时间间隔。
可选的,获取评估区间内的评估数据包括:确定评估区间,评估区间包括评估开始时间点和评估结束时间点;确定当前系统时间是否晚于评估开始时间点,且当前系统时间与评估开始时间点之间的时间间隔是否为预设时间间隔;若是,确定当前系统时间满足数据获取条件,获取主播缓存中数据包的数量;继续对系统时间进行监控,只要确定当前系统时间与上一次确定满足数据获取条件时的系统时间之间的时间间隔为预设时间间隔时,便确定当前系统时间满足数据获取条件,获取主播缓存中数据包的数量,直至系统时间超过评估结束时间点,结束该过程,并将该过程中每次获取到的数据包的数量作为评估区间内的评估数据。
比如,若确定评估区间为2018年10月1号的9:00-12:00,其中,9:00为评估开始时间点,12:00为评估结束时间点,若预设时间间隔为1小时,则系统时间为2018年10月1号时,便会确定当前系统时间是否为10:00,若是,则说明当前系统时间晚于评估开始时间点,且当前系统时间与评估开始时间点之间的时间间隔为预设时间间隔1小时,此时,确定当前系统时间满足数据获取条件,获取主播缓存中数据包的数量;继续对系统时间进行监控,当确定当前系统时间为11:00时,说明当前系统时间与上一次确定满足数据获取条件的时间(10:00)之间的时间间隔为预设时间间隔1小时,此时,确定当前系统时间满足数据获取条件,获取主播缓存中数据包的数量;记录对系统时间进行监控,当确定当前系统时间为12:00时,说明当前系统时间与上一次确定满足数据获取条件的时间(11:00)之间的时间间隔为预设时间间隔1小时,此时,确定当前系统时间满足数据获取条件,获取主播缓存中数据包的数量;继续对系统时间进行监控,发现系统时间超过评估结束时间点结束该过程,并将该过程中每次获取到的数据包的数量作为评估区间内的评估数据(评估数据包括在10:00时获取到的主播缓存中数据包的数量,在11:00时获取到的主播缓存中数据包的数量,在12:00时获取到的主播缓存中数据包的数量)。
可选的,获取评估区间内的评估数据可以包括:获取设定的评估区间EVALUATE_INTERVAL,获取设定的预设时间间隔UPDATE_INTERVAL;每个评估区间从0(0为评估开始时间点)开始计时,到EVALUATE_INTERVAL(EVALUATE_INTERVAL为评估结束时间点)结束;在评估区间内,每隔UPDATE_INTERVAL采样一次主播缓存中数据包的数量,并记录下这个数量;评估区间结束时,将评估区间每次采样得到的主播缓存中的数据包的数量作为评估数据。
S102、分析评估数据,得到主播缓存在评估区间内的数据包积累结果;
可选的,预先设置有评估模型,基于评估模型对评估数据进行分析,得到主播缓存在评估区间内的数据包积累结果,该数据包积累结果用于表示在评估区间内主播缓存积累数据包的情况。
S103、基于数据包累积结果确定码率调整策略,码率调整策略指示增大码率或减小码率;
可选的,预先设置有码率调整策略与码率调整条件的对应关系,在得到数据包积累结果后,确定与该数据包积累结果匹配的码率调整条件,基于将与所确定的码率调整条件对应的码率调整策略确定为基于数据包积累结果确定的码率调整策略。
在本申请实施例中,优选的,数据包积累结果与码率调整条件匹配包括数据包积累结果与码率调整条件相同,或者,数据包积累结果在码率调整条件指示的数据包积累范围内。以上仅仅是本申请实施例提供的数据包积累结果与码率调整条件匹配的优选方式,有关数据包积累结果与码率调整条件匹配的具体内容,发明人可根据自己的需求任意设置,在此不做限定。
可选的,码率调整策略可能指示增大码率,也可能指示减小码率。当基于数据包积累结果确定的码率调整策略指示增大码率时,对主播端当前码率进行增大调整;当基于数据包积累结果确定的码率调整策略指示减小码率时,对主播端当前码率进行减小调整。
S104、根据码率调整策略调整主播端的码率,以使得主播端根据调整后的码率压缩主播端产生的直播流得到并在主播缓存中存储数据包。
在本申请实施例中,优选的,根据码率调整策略调整主播端的码率,包括:当码率调整策略指示增大码率时,如果当前主播端的码率未超过预先设置的最大码率,增大当前主播端的码率;当码率调整策略指示减小码率时,如果当前主播端的码率未低于预先设置的最小码率,减小当前主播端的码率。
可选的,若确定的码率调整策略指示增大码率时,确定当前主播端的码率是否超过预先设置的最大码率,若否,增大当前主播端的码率,且主播端增大后的码率未超过最大码率;若确定的码率调整策略指示减小码率时,确定当前主播端的码率是否低于预先设置的最小码率,若否,减小当前主播端的码率,且主播端减小后的码率不能小于最小码率。
在本申请实施例中,优选的,主播端在根据码率调整策略对其码率进行调整以后,可以根据调整后的码率对其产生的直播流进行压缩以得到数据包,并将数据包存储在主播缓存中。
以上仅仅是本申请实施例提供的码率调整的优选方式,有关码率调整的具体方式,发明人可根据自己的需求进行设置,在此不做限定。
本申请通过对主播缓存中的数据包的积累情况进行分析,并根据分析出的主播缓存中数据包积累结果确定码率调整策略,以对主播端用于对直播流进行压缩的码率进行调整。这样不仅可以保证在主播端网络不稳定时,通过减小码率的方式,适当降低直播质量,来保证直播顺畅;还可以保证在主播端网络稳定时,通过增大码率的方式,实现在直播顺畅播放的基础上,达到适当提高直播质量的目的。
相应的,本申请实施例在上述实施例提供的一种直播方法的基础上,进一步还提供一种应用于观众端的直播方法,有关该直播方法的具体内容请参见图2。
图2为本申请实施例提供的另一种直播方法流程图,如图2所示的直播方法应用于观众端。
如图2所示,该方法包括:
S201、从服务器获取待直播的第一数据包,确定主播端生成第一数据包的第一时间戳;
在本申请实施例中,优选的,主播端可以对直播流进行压缩得到数据包,并将数据包存储于主播缓存,进而将数据包从主播缓存推送到服务器。进而,观众端可以通过从服务器获取数据包,并将获取到的数据包存入观众端缓存的方式,对观众端缓存中存储的数据包进行播放,以达到观看直播的目的。
可选的,观众端从服务器获取数据包(可以将该数据包称为第一数据包)后,首先,确定第一数据包的第一时间戳,第一数据包的第一时间戳是主播端生成该第一数据包的时间戳。
S202、获取当前的观众端缓存中、最早被存入观众端缓存的第二数据包,并确定主播端生成第二数据包的第二时间戳;
在本申请实施例中,优选的,在步骤S201、从服务器获取待直播的第一数据包,并确定主播端生成该第一数据包的第一时间戳之后,可以获取当前的观众端缓存中、最早被存入该观众端缓存的数据包(该数据包可以称为第二数据包),并确定该第二数据包的第二时间戳,第二数据包的第二时间戳是主播端生成该第二数据包的时间戳。即,从当前的观众端缓存中的各个数据包中,确定最早被存入该观众端缓存的数据包(该数据包可以称为第二数据包),并获取主播端生成该确定的数据包的时间戳(该时间戳可以称为第二时间戳)。
可选的,针对任一主播端而言,在该主播端设置有主播缓存。针对任一观众端而言,在该观众端设置有观众端缓存。
S203、确定第一时间戳和第二时间戳之间的时间差值是否超过预先设置的时间戳差值;若是,执行步骤S204;若否,执行步骤S206;
可选的,确定第一时间戳和第二时间戳之间的时间差值,并确定该时间差值是否超过预先设置的时间戳差值;如果超过,则执行步骤S204;如果未超过,则执行步骤S206。
S204、确定当前的观众端缓存中、最早被存入观众端缓存的第三数据包,主播端生成第三数据包的第三时间戳与第一时间戳之间的时间差值未超过时间戳差值;
可选的,确定当前的观众端缓存中所有的数据包;从所有的数据包中查找出各个目标数据包;针对当前的观众端缓存中的每个数据包而言,若主播端生成数据包的时间戳与第一时间戳之间的时间查找未超过时间戳差值,则可以认为该数据包为目标数据包;从各个目标数据包中确定一个数据包作为第三数据包,该第三数据包是各个目标数据包中最早存入观众端缓存中的目标数据包,其中,主播端生成该第三数据包的时间戳可以看成是第三时间戳。
S205、丢弃当前观众端缓存中、早于第三数据包存入观众端缓存的各个数据包,并将第一数据包存入观众端缓存,以由观众端按照数据包存入观众端缓存的顺序播放观众端缓存中的数据包;
可选的,确定当前观众端中所有的数据包,并从确定的所有的数据包中查找出各个早于第三数据包存入该观众端缓存的数据包;进而将查找到的各个数据包从当前观众端缓存中删除,并将第一数据包存入观众端缓存。进而便于观众端按照数据包存入观众端缓存的顺序从观众端缓存中取出数据包并播放,以实现观看直播的目的。
可选的,丢弃当前观众端缓存中、早于第三数据包存入观众端缓存的各个数据包,包括:确定当前观众端缓存中、早于第三数据包存入观众端缓存的各个数据包;从当前观众端缓存中,丢弃所确定的每个数据包中的P帧。
在本申请实施例中,优选的,将数据包从当前观众端缓存中删除,可以是仅将数据包中的P帧从当前观众端缓存中删除。即,若要从当前观众端缓存中删除一个数据包,可以仅将该数据包中的P帧信息从当前观众端中删除,而在当前观众端缓存中保存数据包中的除P帧以外的I帧等信息。
S206、将第一数据包存入观众端缓存。
在本申请实施例中,优选的,若确定第一时间戳和第二时间戳之间的时间差值未超过预先设置的时间戳差值,将第一数据包存入观众端缓存。
本申请实施例通过对观众端缓存中的数据包积累情况的分析,并根据分析来确定是否丢弃当前观众端缓存中的部分数据包的方式,可以保证在观众端网络不稳定时,通过丢弃观众端缓存中的部分数据包的方式,来保证直播顺畅。
进一步的,本申请实施例还提供一种直播装置,应用于主播端,具体请参见图3。
如图3所示,该装置包括:
评估数据获取单元31,用于获取评估区间内的评估数据,评估数据包括在评估区间内的时间点满足数据获取条件时,获取的主播缓存中数据包的数量;
评估数据分析单元32,用于分析评估数据,得到主播缓存在评估区间内的数据包积累结果;
码率调整策略确定单元33,用于基于数据包累积结果确定码率调整策略,码率调整策略指示增大码率或减小码率;
码率调整单元34,用于根据码率调整策略调整主播端的码率,以使得主播端根据调整后的码率压缩主播端产生的直播流得到并在主播缓存中存储数据包。
在本申请实施例中,优选的,评估区间包括由评估开始时间点和评估结束时间点构成的时间段,评估数据获取单元,具体用于:在当前系统时间达到评估结束时间点时,获取评估区间内的评估数据。
在本申请实施例中,优选的,数据获取条件包括:当前系统时间与评估区间开始时间点之间的时间间隔为预设时间间隔;或者,当前系统时间与上一次确定满足数据获取条件的时间点之间的时间间隔为预设时间间隔。
在本申请实施例中,优选的,码率调整单元,包括:第一码率调整单元,用于当码率调整策略指示增大码率时,如果当前主播端的码率未超过预先设置的最大码率,增大当前主播端的码率;第二码率调整单元,用于当码率调整策略指示减小码率时,如果当前主播端的码率未低于预先设置的最小码率,减小当前主播端的码率。
相应的,本申请实施例还提供一种终端,包括如上述实施例所提供的直播装置。
进一步的,本申请实施例还提供一种直播装置,应用于客户端,具体请参见图4。
如图4所示,该装置包括:
第一时间戳确定单元41,用于从服务器获取待直播的第一数据包,确定主播端生成第一数据包的第一时间戳;
第二时间戳确定单元42,用于获取当前的观众端缓存中、最早被存入观众端缓存的第二数据包,并确定主播端生成第二数据包的第二时间戳;
第三数据包确定单元43,用于若第一时间戳和第二时间戳之间的时间差值超过预先设置的时间戳差值,确定当前的观众端缓存中、最早被存入观众端缓存的第三数据包,主播端生成第三数据包的第三时间戳与第一时间戳之间的时间差值未超过时间戳差值;
数据包丢弃单元44,用于丢弃当前观众端缓存中、早于第三数据包存入观众端缓存的各个数据包,并将第一数据包存入观众端缓存,以由观众端按照数据包存入观众端缓存的顺序播放观众端缓存中的数据包;
数据包存入单元45,用于若第一时间戳和第二时间戳之间的时间差值未超过时间戳差值,将第一数据包存入观众端缓存。
在本申请实施例中,优选的,数据包丢弃单元,包括:数据包确定单元,用于确定当前观众端缓存中、早于第三数据包存入观众端缓存的各个数据包;丢弃单元,用于从当前观众端缓存中,丢弃所确定的每个数据包中的P帧。
相应的,本申请实施例还提供一种终端,包括如上述实施例中提供的如图4所示的直播装置。
本申请提供一种直播方法、装置及终端,通过获取评估区间内的评估数据,评估数据包括在评估区间内的时间点满足数据获取条件时,获取的主播缓存中数据包的数量;分析评估数据,得到主播缓存在评估区间内的数据包积累结果;基于数据包累积结果确定码率调整策略,码率调整策略指示增大码率或减小码率;根据码率调整策略调整主播端的码率,以使得主播端根据调整后的码率压缩主播端产生的直播流得到并在主播缓存中存储数据包的方式,使得可以根据主播缓存中数据包的积累情况对码率进行自动调整,进而达到了在保证直播顺畅的基础上,提供更好的直播质量的目的。
以上对本发明所提供的一种直播方法、装置及服务器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种直播方法,其特征在于,包括:
获取评估区间内的评估数据,所述评估数据包括在所述评估区间内的时间点满足数据获取条件时,获取的主播缓存中数据包的数量;
分析所述评估数据,得到所述主播缓存在所述评估区间内的数据包积累结果;
基于所述数据包累积结果确定码率调整策略,所述码率调整策略指示增大码率或减小码率;
根据所述码率调整策略调整所述主播端的码率,以使得所述主播端根据调整后的码率压缩所述主播端产生的直播流得到并在所述主播缓存中存储数据包。
2.根据权利要求1所述的方法,其特征在于,所述评估区间包括由评估开始时间点和评估结束时间点构成的时间段,
所述获取评估区间内的评估数据,包括:在当前系统时间达到所述评估结束时间点时,获取所述评估区间内的评估数据。
3.根据权利要求2所述的方法,其特征在于,数据获取条件包括:
当前系统时间与所述评估区间开始时间点之间的时间间隔为预设时间间隔;
或者,
当前系统时间与上一次确定满足所述数据获取条件的时间点之间的时间间隔为所述预设时间间隔。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述根据所述码率调整策略调整所述主播端的码率,包括:
当所述码率调整策略指示增大码率时,如果当前所述主播端的码率未超过预先设置的最大码率,增大当前所述主播端的码率;
当所述码率调整策略指示减小码率时,如果当前所述主播端的码率未低于预先设置的最小码率,减小当前所述主播端的码率。
5.一种直播方法,其特征在于,包括:
从服务器获取待直播的第一数据包,确定主播端生成所述第一数据包的第一时间戳;
获取当前的观众端缓存中、最早被存入所述观众端缓存的第二数据包,并确定所述主播端生成所述第二数据包的第二时间戳;
若所述第一时间戳和第二时间戳之间的时间差值超过预先设置的时间戳差值,确定当前的所述观众端缓存中、最早被存入所述观众端缓存的第三数据包,所述主播端生成所述第三数据包的第三时间戳与所述第一时间戳之间的时间差值未超过所述时间戳差值;
丢弃当前所述观众端缓存中、早于所述第三数据包存入所述观众端缓存的各个数据包,并将所述第一数据包存入所述观众端缓存,以由所述观众端按照数据包存入所述观众端缓存的顺序播放所述观众端缓存中的数据包;
若所述第一时间戳和第二时间戳之间的时间差值未超过所述时间戳差值,将所述第一数据包存入所述观众端缓存。
6.根据权利要求5所述的方法,其特征在于,所述丢弃当前所述观众端缓存中、早于所述第三数据包存入所述观众端缓存的各个数据包,包括:
确定当前所述观众端缓存中、早于所述第三数据包存入所述观众端缓存的各个数据包;
从当前所述观众端缓存中,丢弃所确定的每个所述数据包中的P帧。
7.一种直播装置,其特征在于,包括:
评估数据获取单元,用于获取评估区间内的评估数据,所述评估数据包括在所述评估区间内的时间点满足数据获取条件时,获取的主播缓存中数据包的数量;
评估数据分析单元,用于分析所述评估数据,得到所述主播缓存在所述评估区间内的数据包积累结果;
码率调整策略确定单元,用于基于所述数据包累积结果确定码率调整策略,所述码率调整策略指示增大码率或减小码率;
码率调整单元,用于根据所述码率调整策略调整所述主播端的码率,以使得所述主播端根据调整后的码率压缩所述主播端产生的直播流得到并在所述主播缓存中存储数据包。
8.一种终端,其特征在于,包括:如上述权利要求7所述的直播装置。
9.一种直播装置,其特征在于,包括:
第一时间戳确定单元,用于从服务器获取待直播的第一数据包,确定主播端生成所述第一数据包的第一时间戳;
第二时间戳确定单元,用于获取当前的观众端缓存中、最早被存入所述观众端缓存的第二数据包,并确定所述主播端生成所述第二数据包的第二时间戳;
第三数据包确定单元,用于若所述第一时间戳和第二时间戳之间的时间差值超过预先设置的时间戳差值,确定当前的所述观众端缓存中、最早被存入所述观众端缓存的第三数据包,所述主播端生成所述第三数据包的第三时间戳与所述第一时间戳之间的时间差值未超过所述时间戳差值;
数据包丢弃单元,用于丢弃当前所述观众端缓存中、早于所述第三数据包存入所述观众端缓存的各个数据包,并将所述第一数据包存入所述观众端缓存,以由所述观众端按照数据包存入所述观众端缓存的顺序播放所述观众端缓存中的数据包;
数据包存入单元,用于若所述第一时间戳和第二时间戳之间的时间差值未超过所述时间戳差值,将所述第一数据包存入所述观众端缓存。
10.一种终端,其特征在于,包括:如上述权利要求9所述的直播装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810717468.0A CN108966022A (zh) | 2018-06-29 | 2018-06-29 | 一种直播方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810717468.0A CN108966022A (zh) | 2018-06-29 | 2018-06-29 | 一种直播方法、装置及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108966022A true CN108966022A (zh) | 2018-12-07 |
Family
ID=64485137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810717468.0A Pending CN108966022A (zh) | 2018-06-29 | 2018-06-29 | 一种直播方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108966022A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112153404A (zh) * | 2020-09-23 | 2020-12-29 | 北京达佳互联信息技术有限公司 | 码率调整方法、检测方法、装置、设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771492A (zh) * | 2008-12-29 | 2010-07-07 | 华为技术有限公司 | 调整流媒体码率的方法和装置 |
CN102325274A (zh) * | 2011-10-13 | 2012-01-18 | 浙江万里学院 | 一种自适应网络带宽的视频流传输控制方法 |
CN103533386A (zh) * | 2013-10-21 | 2014-01-22 | 腾讯科技(深圳)有限公司 | 一种直播控制方法,及主播设备 |
CN204929081U (zh) * | 2015-08-26 | 2015-12-30 | 重庆西线科技有限公司 | 一种视频传输装置 |
CN105227956A (zh) * | 2015-10-30 | 2016-01-06 | 深圳云聚汇数码有限公司 | 移动网络环境中视频编码码率自适应装置及方法 |
CN205545722U (zh) * | 2016-04-27 | 2016-08-31 | 上海象融蓝海文化传媒有限公司 | 一种视频在线播放系统 |
CN106507024A (zh) * | 2016-11-17 | 2017-03-15 | 北京数码视讯技术有限公司 | 一种自适应码率调整方法及装置 |
US20170187774A1 (en) * | 2015-12-29 | 2017-06-29 | Spreadtrum Communications (Shanghai) Co., Ltd. | Method and device for adjusting bit rate in video calling based on voice over long-term evolution and video over long-term evolution, and mobile terminal |
CN107276910A (zh) * | 2017-06-07 | 2017-10-20 | 上海迪爱斯通信设备有限公司 | 视频码率实时调整装置及系统、视频服务器 |
CN107707928A (zh) * | 2017-10-30 | 2018-02-16 | 广州市千钧网络科技有限公司 | 一种数据流延迟的控制方法、装置及接收设备 |
-
2018
- 2018-06-29 CN CN201810717468.0A patent/CN108966022A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771492A (zh) * | 2008-12-29 | 2010-07-07 | 华为技术有限公司 | 调整流媒体码率的方法和装置 |
CN102325274A (zh) * | 2011-10-13 | 2012-01-18 | 浙江万里学院 | 一种自适应网络带宽的视频流传输控制方法 |
CN103533386A (zh) * | 2013-10-21 | 2014-01-22 | 腾讯科技(深圳)有限公司 | 一种直播控制方法,及主播设备 |
CN204929081U (zh) * | 2015-08-26 | 2015-12-30 | 重庆西线科技有限公司 | 一种视频传输装置 |
CN105227956A (zh) * | 2015-10-30 | 2016-01-06 | 深圳云聚汇数码有限公司 | 移动网络环境中视频编码码率自适应装置及方法 |
US20170187774A1 (en) * | 2015-12-29 | 2017-06-29 | Spreadtrum Communications (Shanghai) Co., Ltd. | Method and device for adjusting bit rate in video calling based on voice over long-term evolution and video over long-term evolution, and mobile terminal |
CN205545722U (zh) * | 2016-04-27 | 2016-08-31 | 上海象融蓝海文化传媒有限公司 | 一种视频在线播放系统 |
CN106507024A (zh) * | 2016-11-17 | 2017-03-15 | 北京数码视讯技术有限公司 | 一种自适应码率调整方法及装置 |
CN107276910A (zh) * | 2017-06-07 | 2017-10-20 | 上海迪爱斯通信设备有限公司 | 视频码率实时调整装置及系统、视频服务器 |
CN107707928A (zh) * | 2017-10-30 | 2018-02-16 | 广州市千钧网络科技有限公司 | 一种数据流延迟的控制方法、装置及接收设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112153404A (zh) * | 2020-09-23 | 2020-12-29 | 北京达佳互联信息技术有限公司 | 码率调整方法、检测方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110248204B (zh) | 一种直播缓存的处理方法、装置、设备和存储介质 | |
CN107147919B (zh) | 直播快速启播方法及系统 | |
TWI519147B (zh) | 提供與傳送複合濃縮串流之方法以及系統 | |
US8930849B2 (en) | Enhanced media content tagging systems and methods | |
CN107690073B (zh) | 一种视频直播方法及视频直播服务器 | |
WO2016029804A1 (zh) | 一种视频播放方法、媒体设备、播放设备以及多媒体系统 | |
CN102710586B (zh) | 流媒体传输控制方法、媒体传输控制方法、相关设备 | |
CN106791994B (zh) | 一种低延时快速开播方法及装置 | |
US11750675B2 (en) | Low latency media streaming | |
CN108471548B (zh) | 直播视频快速播放方法及装置 | |
JP2015228648A (ja) | コンテンツ再生情報推定装置及び方法及びプログラム | |
US10356492B2 (en) | Video management | |
US7904936B2 (en) | Technique for resegmenting assets containing programming content delivered through a communications network | |
US10129592B2 (en) | Audience measurement and feedback system | |
CA2758763A1 (en) | Method and device for fast pushing unicast stream in fast channel change | |
JP5562420B2 (ja) | 映像品質管理システム | |
CN107690093B (zh) | 一种视频播放方法及装置 | |
CN107801049B (zh) | 一种实时视频传送、播放方法及装置 | |
Nam et al. | Youslow: What influences user abandonment behavior for internet video? | |
US9161088B2 (en) | Method in a streaming client for handling video streaming data, streaming client, computer programs and computer program products | |
CN108966022A (zh) | 一种直播方法、装置及终端 | |
US10873778B2 (en) | Reducing digital video recorder storage through reduced encoding of certain program portions | |
WO2015117291A1 (zh) | 网络电视节目切换方法、装置和电视系统 | |
WO2015089793A1 (zh) | 移动视频业务的体验质量测量方法及装置 | |
CN110213206B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181207 |