CN109618179B - 超高清视频直播的快速起播方法及装置 - Google Patents
超高清视频直播的快速起播方法及装置 Download PDFInfo
- Publication number
- CN109618179B CN109618179B CN201910057426.3A CN201910057426A CN109618179B CN 109618179 B CN109618179 B CN 109618179B CN 201910057426 A CN201910057426 A CN 201910057426A CN 109618179 B CN109618179 B CN 109618179B
- Authority
- CN
- China
- Prior art keywords
- live broadcast
- live
- video
- data
- cache
- 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
- 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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
-
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- 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
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
本发明提供了一种超高清视频直播的快速起播方法及装置,涉及视频直播的技术领域,该方法包括从直播源实时接收视频直播数据,根据当前接收的视频直播数据解析并确定直播源的直播参数,根据直播参数和当前接收到的视频直播数据缓存直播缓存数据,并可以将直播缓存数据快速发送给直播端,以使直播端快速起播直播缓存数据。根据上述直播参数和预定算法,计算当前需要缓存的直播缓存数据的最短缓存时长,根据该最短缓存时长和完整GOP要求,实时自动更新直播缓存数据。满足最短缓存时长的直播缓存数据,减少了起播后画面卡顿或延时过长的现象;且按快速发送速度将该直播缓存数据发送给直播端,提高了直播端的起播速度;从而提高了用户播放体验。
Description
技术领域
本发明涉及视频直播技术领域,尤其是涉及一种超高清视频直播的快速起播方法及装置。
背景技术
近年来随着视频编解码技术及屏幕显示技术的快速发展,人们对视频播放体验的追求越来越高,主流电视屏幕尺寸已从40寸逐步发展到55寸、60寸、70寸、甚至100多寸,大屏幕对视频分辨率的要求也越来越高,1080P(1920*1080)的高清视频显然已经无法满足大屏幕播放显示的要求,超高清视频已成为大屏幕播放显示的标配;同时超高清视频给人们带来极致高清视觉享受,越来越受人们欢迎。超高清视频的图像分辨率可达4K(3840*2160像素)和8K(7680*4320像素)。对于超高清视频,以4K视频为例,视频帧率一般在30~100之间,码率一般需要十几Mpbs甚至几十到一百多Mpbs,因此超高清视频在播放过程中需传输的数据量要远远高于普通高清视频。这样会导致超高清视频的起播数据量非常大,起播数据传输到直播端的时间长,直播端起播速度慢。
目前,为了保证起播时播放画面流畅性,视频直播***一般都会实时缓存GOP(Group Of Picture,画面组)数据,以抵消网络延时和抖动等对播放造成的影响。当直播端请求播放时,视频直播***会先将缓存的GOP数据发送给直播端,再向直播端发送实时直播数据。但是,对于超高清视频直播来说,特别是对于高分辨率、高码率和高视频帧率的超高清视频,GOP数据中的I帧可能非常大,当视频直播***向直播端发送缓存的直播数据时,即使发送的首帧数据是I帧数据,直播端接收完首帧数据也可能会耗时较长,导致起播速度慢,降低用户播放体验。另外,对于超高清视频直播,当前视频直播***一般固定缓存一个或多个GOP数据,缓存的GOP数据的缓存时长及数据长度长短不一,直播端可能会出现起播后直播画面卡顿或延时过长的现象,这样也会降低用户播放体验。
发明内容
有鉴于此,本发明的目的在于提供一种超高清视频直播的快速起播方法及装置,以提高起播速度、减少起播后画面卡顿和延时过长现象,从而提高用户播放体验。
第一方面,本发明实施例提供了一种超高清视频直播的快速起播的方法,包括:从直播源实时接收视频直播数据;根据当前接收的视频直播数据解析并确定直播源的直播参数;根据所述直播参数和当前接收到的视频直播数据缓存直播缓存数据;当接收到直播端发送的直播请求时,将所述直播缓存数据快速发送给直播端,以使直播端快速起播所述直播缓存数据。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述直播参数包括直播速度和视频帧率;所述根据所述直播参数和当前接收到的视频直播数据缓存直播缓存数据,包括:根据所述直播速度和所述视频帧率,计算得到最短缓存时长;根据所述最短缓存时长和完整GOP要求将所述视频直播数据缓存为所述直播缓存数据。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述根据所述直播速度和所述视频帧率,计算得到最短缓存时长,包括:根据所述直播速度计算得到所述直播缓存数据对应的缓存时长;通过所述视频帧率对所述缓存时长进行修正,获得最短缓存时长。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述根据所述最短缓存时长和完整GOP要求将所述视频直播数据缓存为所述直播缓存数据,包括:判断已缓存的所述视频直播数据的缓存时长是否满足所述最短缓存时长和完整GOP要求;如果判断结果为是,将已缓存的所述视频直播数据存储为所述直播缓存数据。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述将所述直播缓存数据快速发送给直播端,包括:根据所述直播参数和所述直播缓存数据计算快速发送速度;根据所述快速发送速度将所述直播缓存数据发送给所述直播端。
结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述直播参数包括直播速度;所述根据所述直播参数和所述直播缓存数据计算快速发送速度,包括:根据所述直播速度、所述直播缓存数据的总长度和预设等待时间计算得到快速发送系数;根据所述快速发送系数和所述直播速度,计算得到快速发送速度。
结合第一方面的第五种可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中,根据所述直播速度、所述直播缓存数据的总长度和预设等待时间计算得到快速发送系数,包括:根据所述直播速度和所述直播缓存数据的总长度,计算得到所述直播缓存数据的总时长;通过将所述总时长除以所述预设等待时间计算得到快速发送倍速;根据所述直播速度对所述快速发送倍速进行修正,得到快速发送系数。
第二方面,本发明实施例还提供一种超高清视频直播的快速起播装置,包括:接收模块,用于从直播源实时接收视频直播数据;解析确定模块,用于根据当前接收的视频直播数据解析并确定直播源的直播参数;缓存模块,用于根据所述直播参数和当前接收到的视频直播数据缓存直播缓存数据;发送模块,用于当接收到直播端发送的直播请求时,将所述直播缓存数据快速发送给直播端,以使直播端快速起播所述直播缓存数据。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述直播参数包括直播速度和视频帧率;所述缓存模块包括:第一计算单元,用于根据所述直播速度和所述视频帧率,计算得到最短缓存时长;缓存单元,用于根据所述最短缓存时长和完整GOP要求将所述视频直播数据缓存为所述直播缓存数据。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述发送模块包括:第二计算单元,用于根据所述直播参数和所述直播缓存数据计算快速发送速度;发送单元,用于根据所述快速发送速度将所述直播缓存数据发送给所述直播端。
本发明实施例带来了以下有益效果:
本发明实施例中,从直播源实时接收视频直播数据;根据当前接收的视频直播数据解析并确定直播源的直播参数;根据直播参数和当前接收到的视频直播数据缓存直播缓存数据;当接收到直播端发送的直播请求时,将直播缓存数据快速发送给直播端,以使直播端快速起播直播缓存数据。根据上述直播参数和预定算法,计算当前需要缓存的直播缓存数据的最短缓存时长,根据该最短缓存时长和完整GOP要求,实时自动更新直播缓存数据,减少起播后画面卡顿或延时过长的现象发生;且当接收到直播端发送的直播请求时,按快速发送速度将该直播缓存数据发送给直播端,提高了直播端的起播速度;基于此,本发明实施例提供一种超高清视频直播的快速起播方法及装置,通过提高起播速度、减少起播后画面卡顿和延时过长现象,可以提高用户播放体验。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种GOP帧序列示意图;
图2为一种当前视频直播***起播的流程示意图;
图3为本发明实施例提供的一种超高清视频直播的快速起播方法的流程示意图;
图4为本发明实施例提供的另一种超高清视频直播的快速起播方法的流程示意图;
图5为本发明实施例提供的一种将视频直播数据存储为直播缓存数据的流程示意图;
图6为本发明实施例提供的一种将直播缓存数据快速发送给直播端的流程示意图;
图7为本发明实施例提供的一种超高清视频直播的快速起播装置的结构程示意图;
图8为本发明实施例提供的一种超高清视频直播的快速起播装置处理直播端直播请求的流程示意图;
图9为本发明实施例提供的另一种超高清视频直播的快速起播装置的结构程示意图;
图10为本发明实施例提供的一种第二计算单元的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
近年来随着视频编解码技术及屏幕显示技术的快速发展,人们对视频播放体验的追求也越来越高,由于国家正大力推进宽带提速降价以及5G网络也即将落地进入正式商用,给超高清视频传输提供了极为有利的条件。广电传媒也积极布局超高清视频播放,央广于2018年10月1日正式开通了4K超高清频道,标志着央广正式进入了超高清时代。
视频一般使用图像分辨率来标识其清晰度,图像分辨率是指单位英寸中所包含的像素点数。现在主流高清视频图像分辨率为1080P(1920*1080像素),超高清视频图像分辨率则可达4K(3840*2160像素)和8K(7680*4320像素)。从像素点上来看,1080P视频的像素为200多万,4K视频的像素为800多万,8K视频的像素3000多万,4K和8K视频图像的像素远远超过了1080P视频图像的像素,同样一副画面,4K和8K分辨率下的数据量是1080P分辨率下的4倍和15倍以上。
在视频的播放过程中,帧率和码率也是很重要的特征指标。帧率是指每秒播放显示的帧数(即画面数),帧率越高视频画面流畅度越好。码率是指每秒传输视频数据的位数,码率越高传输的视频数据越多。普通高清视频的帧率一般在30以下,码率一般在2-10Mbps之间,对于超高清视频,以4K视频为例,帧率一般在30~100之间,60为比较常见帧率,码率一般需要十几Mpbs甚至几十到一百多Mpbs,因此超高清视频在播放过程中需传输的数据量要远远高于普通的高清视频。
用户在观看视频直播时,视频的起播等待时间直接影响着用户的观看体验,加快视频直播的起播速度是各视频直播技术厂商重点关注的技术方向。进入超高清视频直播时代,由于超高清视频的起播数据量非常大,如何加快超高清视频直播的起播速度及起播后播放的流畅性显得非常重要。
视频一般使用帧来表示压缩后的画面,帧分为I(Intra,帧内编码帧)帧、P(Predictive,预测编码帧)帧和B(Bi-directional,双向预测编码帧)帧。I帧是一种自带全部解码信息的独立帧,无须参考其他图像便可独立进行解码。P帧需要参考前面的I帧才能进行编码,表示的是当前帧画面与前一帧的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别。B帧记录的是本帧和前后帧的差别,解码B帧,不仅要取得之前缓存的画面,还需要解码之后的画面,通过前后画面与本帧数据的叠加取得最终的画面。因此,视频播放必须从I帧开始。
直播端请求直播的时间具有一定的随机性,如果直播端请求直播时,直播***直接将当前收到的视频直播数据发送给直播端,直播端收到的视频直播数据可能为I帧,也可能为P帧或B帧,如果直播端收到的首帧数据是P帧或B帧,就无法开始播放,一直要等到收到I帧之后才能开始播放,这将造成一定程度的起播等待。
因为视频必须从I帧开始播放,目前,视频直播***一般都会缓存一组由I帧开始的帧数据,一般为一个GOP(Group Of Picture,画面组)数据,如图1所示,GOP数据是由I帧开始,后面跟随一组P帧或B帧,直到下一个I帧之前的一个帧组成的帧序列数据,视频直播***不断用新收到的GOP数据更新当前缓存的GOP数据。
图2为一种当前视频直播***起播的流程示意图,如图2所示,当直播端请求播放时,视频直播***会先将缓存的GOP数据以正常的直播速度发送给直播端,再向直播端发送实时视频直播数据,直播端在收到以I帧开始的直播数据后,就可以立即解码播放,显示播放画面。
如图2所示,当前视频直播***在一定程度上解决了直播端请求视频直播时起播速度慢的问题。但是,对于超高清视频直播来说,特别是对于高分辨率、高码率和高视频帧率的超高清视频,I帧可能非常大,向直播端发送直播缓存数据时,即使向直播端发送的首帧数据是I帧数据,直播端接收完首帧数据也会耗时较长,导致起播速度慢,影响用户播放体验。
另外,对于超高清视频播放,为了保证播放流畅性,视频直播***的播放端一般也需要缓存一定的视频数据,以抵消网络延时和抖动等对播放造成的影响;当前,视频直播***缓存的每个GOP数据缓存时长及数据长度长短不一。如果视频直播***缓存的GOP数据缓存时长很短,视频直播***将缓存的GOP数据发送给直播端后,直播端可能会出现因缓存数据不足,而导致起播后立即出现画面卡顿的现象;如果视频直播***缓存的GOP数据缓存时长过长,也会导致直播端起播后出现画面延时过长的现象;直播端的起播速度慢、起播后的画面卡顿和延时过长现象都会影响用户播放体验。基于此,本发明实施例提供的一种超高清视频直播的快速起播方法及装置,通过减少起播后画面卡顿和延时过长现象、提高直播端的起播速度,提高了用户播放体验。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种超高清视频直播的快速起播方法进行详细介绍。
图3为本发明第一实施例提供的一种超高清视频直播的快速起播方法的流程示意图,如图3所示,该方法包括以下步骤:
步骤S302,从直播源实时接收视频直播数据。
例如,CCTV视频直播***的一个直播频道可以作为一个直播源。
可选地,直播源包括标清视频、普通高清视频和超高清视频。
步骤S304,根据当前接收的视频直播数据解析并确定直播源的直播参数。
直播参数可以为直播源的直播速度和视频帧率,但本发明的保护范围不限于此,可以根据需要选择其它参数。
在一些可能的实施例中,从直播源接收到视频直播数据后,通过解析视频直播数据,得到直播源的直播速度和视频帧率,并将该直播速度和该视频帧率存储到内存中。
步骤S306,根据上述直播参数和当前接收到的视频直播数据缓存直播缓存数据。
可选地,根据上述直播速度和视频帧率等信息,通过预定算法计算所需缓存的视频直播数据的最短缓存时长,根据该最短缓存时长和完整GOP数据要求从上述视频直播数据中获取直播缓存数据,将该直播缓存数据存储到内存中。
步骤S308,当接收到直播端发送的直播请求时,将上述直播缓存数据快速发送给直播端,以使直播端快速起播上述直播缓存数据。
本发明实施例中,从直播源实时接收视频直播数据;根据当前接收的视频直播数据解析并确定直播源的直播参数;根据直播参数和当前接收到的视频直播数据缓存直播缓存数据;当接收到直播端发送的直播请求时,将直播缓存数据快速发送给直播端,以使直播端快速起播直播缓存数据。根据上述直播参数和预定算法,计算当前需要缓存的直播缓存数据的最短缓存时长,根据该最短缓存时长和完整GOP要求,实时自动更新直播缓存数据,减少起播后画面卡顿或延时过长的现象发生;且当接收到直播端发送的直播请求时,按快速发送速度将该直播缓存数据发送给直播端,提高了直播端的起播速度;基于此,本发明实施例提供一种超高清视频直播的快速起播方法,通过提高起播速度、减少起播后画面卡顿和延时过长现象,可以提高用户播放体验。
图4为本发明实施例提供的另一种超高清视频直播的快速起播方法的流程示意图,其中,上述直播参数包括直播速度和视频帧率。如图4所示,该方法包括以下步骤:
步骤S402,从直播源实时接收视频直播数据。
在一些可能的实施例中,当视频直播***初始化结束后,开始从直播源实时接收视频直播数据。
步骤S404,根据当前接收的视频直播数据解析并确定直播源的直播参数。
可选地,可以取当前接收的视频直播数据中的一段数据计算得到直播参数,一段数据包括当前接收的视频直播数据的首段、中间段或末段;也可以取当前接收的视频直播数据中几段数据利用平均值计算法得到直播参数。
在一些可能的实施例中,可根据视频直播***初始化结束后的一段时间内接收到的直播源的视频直播数据确定直播源的直播参数。
例如,可根据视频直播***初始化结束后的十分钟内接收到的直播源的视频直播数据确定直播源的直播参数。
在另一些可能的实施例中,视频直播***初始化结束后,确定该直播参数后,间隔一定的时间段,根据当前接收的视频直播数据解析并计算更新该直播参数。
例如,每天早上2:00,根据每天早上2:00后的10分钟内接收的视频直播数据解析并计算更新该直播参数。
在另一些可能的实施例中,根据当前接收的视频直播数据还可以解析出该视频直播数据的帧相关信息,通过当前接收到的直播数据的帧相关信息和已经缓存的视频直播数据的帧信息判断当前接收的视频直播数据是否可以缓存,详细判断流程如图5所示。
步骤S406,根据上述直播速度和上述视频帧率,计算得到最短缓存时长。
计算最短缓存时长是为了使得直播缓存数据的缓存时长和等待实时直播数据传送到直播端且正常播放画面的时间匹配,减少起播后画面卡顿或延迟过长的现象。在一些可能的实施例中,由于不同的直播源的直播速度和视频帧率是不相同的,所以不同的直播源根据直播速度和视频帧率计算出的最短缓存时长也是不同的。
可选地,步骤S406的过程如下:根据上述直播速度计算得到上述直播缓存数据对应的缓存时长;通过上述视频帧率对上述缓存时长进行修正,获得最短缓存时长。
需要说明的是,本发明不限于根据直播速度和视频帧率来计算最短缓存时长。
步骤S408,根据上述最短缓存时长和完整GOP要求将上述视频直播数据缓存为上述直播缓存数据。
在一些可能的实施例中,步骤S408可以通过以下过程实现:判断已缓存的上述视频直播数据的缓存时长是否满足上述最短缓存时长和完整GOP要求;如果判断结果为是,将已缓存的上述视频直播数据存储为上述直播缓存数据。
在一些可能的实施例中,将已经缓存的视频直播数据存储为直播缓存数据步骤之前,判断该视频直播数据是否满足完整GOP数据要求;该视频直播数据至少为一个完整GOP数据且满足缓存数据时长大于或等于最短缓存时长后,将该视频直播数据存储为直播缓存数据。继续实时获取后续视频直播数据,按照最短缓存时长和完整GOP数据要求,持续更新直播缓存数据。
具体地,计算得到上述直播缓存数据的最短缓存时长以后,开始缓存视频直播数据,使用两个独立的缓存区来实现,两个独立的缓存区包括工作直播缓存区和完整直播缓存区。其中,工作直播缓存区用于缓存当前最新收到以I帧开始的视频直播数据,但缓存的视频直播数据还不是完整的GOP数据或者总时长尚未达到最短缓存时长;完整直播缓存区用来存储直播缓存数据。当判断工作直播缓存区缓存的视频直播数据的总时长满足最短缓存时长时,再判断该视频直播数据是否包含至少一个完整GOP数据;如果该视频直播数据总时长已达到最短缓存时长且包含至少一个完整GOP数据,则将工作直播缓存区中的视频直播数据全部拷贝到完整直播缓存区中存储为直播缓存数据。直播端请求直播缓存数据时,先将该完整直播缓存区中缓存的直播缓存数据发送给直播端播放,再发送实时直播数据给直播端播放。
在另一些可能的实施例中,先判断已经缓存在工作直播缓存区的视频直播数据是否满足一个完整的GOP数据,再判断该视频直播数据的总时长是否满足最短缓存时长,如果该视频直播数据包含至少一个完整GOP数据且总时长已达到最短缓存时长,将该视频直播数据全部拷贝到完整直播缓存区中存储为直播缓存数据。
步骤S410,根据上述直播参数和上述直播缓存数据计算快速发送速度。
可选地,步骤S410的过程如下:根据该直播速度、该直播缓存数据的总长度和预设等待时间计算得到快速发送系数;根据该快速发送系数和该直播速度,计算得到快速发送速度。
具体地,根据该直播速度和该直播缓存数据的总长度,计算得到上述直播缓存数据的总时长;通过将该总时长除以该预设等待时间计算得到快速发送倍速;根据该直播速度对该快速发送倍速进行修正,得到快速发送系数。
步骤S412,根据上述快速发送速度将上述直播缓存数据发送给上述直播端。
在一些可能的实时例中,快速发送速度大于正常的直播速度,使得直播缓存数据传输给直播端的时间减少,提高了直播端起播速度。
为了更好说明视频直播数据存储为直播缓存数据的详细过程,图5示例出了将视频直播数据存储为直播缓存数据的流程,该步骤如下:
步骤S500,视频直播***初始化。
步骤S502,接收视频直播数据。
步骤S504,解析上述视频直播数据得到该视频直播数据的帧信息。
具体地,上述帧信息包括该视频直播数据是否为I帧的第一个数据包。
步骤S506,根据上述帧信息判断上述视频直播数据是否为同步包。
具体地,同步包为I帧的第一个数据包,也就是GOP的起始数据包。如果判断结果为是,转到步骤S508执行;如果判断结果为否,转到步骤S514执行。
步骤S508,判断工作直播缓存区缓存的视频直播数据的时长是否达到最短缓存时长。
具体地,如果判断结果为是,转到步骤S510执行;如果判断结果为否,转到步骤S512执行。
在一些可能的实施例中,如果工作直播缓存区中缓存数据的总时长达到最短缓存时长,则将工作直播缓存区中的数据拷贝到完整直播缓存区,并将新收到的同步包存入工作直播缓存区首地址,循环进行收包解析及后续处理,如果工作直播缓存区中缓存数据的总时长未达到最短缓存时长,转到步骤S512处理。
步骤S510,将工作直播缓存区的视频直播数据存入完整直播缓存区。
步骤S512,将上述视频直播数据存入工作直播缓存区。
步骤S514,判断是否已经接收到第一个同步包。
具体地,如果判断结果为是,转到步骤S510执行;如果判断结果为否,转到步骤S516执行。
步骤S516,丢弃上述视频直播数据。
具体地,步骤S516执行完后,转到步骤S502执行。
为了更好说明将直播缓存数据快速发送给直播端的过程,图6示例出了将直播缓存数据快速发送给直播端的流程,该步骤如下:
步骤S600,视频直播***初始化。
步骤S602,获取上述直播缓存数据。
步骤S604,计算快速发送系数。
在一些可能的实施例中,快速发送系数的值大于1。
步骤S606,计算快速发送速度。
在一些可能的实施例中,快速发送速度大于正常直播速度。
步骤S608,按照快速发送速度发送直播缓存数据至直播端。
在一些可能的实施例中,按照快速发送速度将直播缓存数据快速发送给直播端,直播端可以快速收到以I帧开始的直播缓存数据,从而实现快速播放直播画面。
步骤S610,判断直播缓存数据是否已经发送完成。
在一些可能的实施例中,如果判断结果为是,转到步骤S612执行;如果判断结果为否,转到步骤S608执行。
步骤S612,按照正常直播速度发送实时直播数据。
对应于上述超高清视频直播的快速起播方法,本实施例还提供了一种超高清视频直播的快速起播装置,如图7所示,该装置包括:
接收模块72,用于从直播源实时接收视频直播数据;
解析确定模块74,用于根据当前接收的视频直播数据解析并确定直播源的直播参数;
缓存模块76,用于根据上述直播参数和当前接收到的视频直播数据缓存直播缓存数据;
发送模块78,用于当接收到直播端发送的直播请求时,将上述直播缓存数据快速发送给直播端,以使直播端快速起播上述直播缓存数据。
本发明实施例中,从直播源实时接收视频直播数据;根据当前接收的视频直播数据解析并确定直播源的直播参数;根据直播参数和当前接收到的视频直播数据缓存直播缓存数据;当接收到直播端发送的直播请求时,将直播缓存数据快速发送给直播端,以使直播端快速起播直播缓存数据。根据上述直播参数和预定算法,计算当前需要缓存的直播缓存数据的最短缓存时长,根据该最短缓存时长和完整GOP要求,实时自动更新直播缓存数据,减少起播后画面卡顿或延时过长的现象发生;且当接收到直播端发送的直播请求时,按快速发送速度将该直播缓存数据发送给直播端,提高了直播端的起播速度;基于此,本发明实施例提供一种超高清视频直播的快速起播装置,通过提高起播速度、减少起播后画面卡顿和延时过长现象,可以提高用户播放体验。
图8为本发明实施例提供的一种超高清视频直播的快速起播装置处理直播端直播请求的流程示意图;如图8所示,该流程如下:
接收模块72实时接收视频直播数据,解析确定模块74对当前接收到视频直播数据进行解析确定直播源的直播参数和视频帧信息,缓存模块76对当前接收到的视频直播数据按最短缓存时长进行GOP缓存得到直播缓存数据,这样缓存模块76具备了随时提供直播缓存数据给直播端的能力。接收模块72、解析确定模块74和缓存模块76循环进行这一视频直播数据接收、解析和直播缓存数据缓存的过程,并为发送模块78提供直播缓存数据和实时视频直播数据。当接收到直播端的直播请求时,发送模块78读取缓存模块76中存储的直播缓存数据。当直播端请求直播时,缓存模块76将存储的直播缓存数据返回给发送模块78,发送模块78将获取到的直播缓存数据按照快速发送速度发送给直播端进行播放。当直播缓存数据发送完后,发送模块78读取接收模块72接收到的实时视频直播数据,接收模块72将接收到的实时视频直播数据返回给发送模块78,发送模块78将获取到的实时视频直播数据按正常速度发送给直播端进行播放。
图9为本发明实施例还提供的另一种超高清视频直播的快速起播装置的结构示意图,其中,直播参数包括直播速度和视频帧率。如图9所示,缓存模块76包括:
第一计算单元961,用于根据直播速度和视频帧率,计算得到最短缓存时长;
缓存单元962,用于根据最短缓存时长和完整GOP要求将视频直播数据缓存为直播缓存数据。
可选地,上述第一计算单元961具体用于:
根据直播速度计算得到直播缓存数据对应的缓存时长;
通过视频帧率对缓存时长进行修正,获得最短缓存时长。
上述缓存单元962具体用于:
判断已缓存的视频直播数据的缓存时长是否满足最短缓存时长和完整GOP要求;
如果判断结果为是,将已缓存的视频直播数据存储为直播缓存数据。
如图9所示,发送模块78包括:
第二计算单元981,用于根据直播参数和直播缓存数据计算快速发送速度;
发送单元982,用于根据快速发送速度将直播缓存数据发送给直播端。
图10为本发明实施例提供的一种第二计算单元的结构示意图,如图10所示,第二计算单元981包括:
第一计算子单元1002,根据直播速度、直播缓存数据的总长度和预设等待时间计算得到快速发送系数;
第二计算子单元1004,用于根据快速发送系数和直播速度,计算得到快速发送速度。
可选地,上述第一计算子单元1002具体用于:
根据直播速度和直播缓存数据的总长度,计算得到直播缓存数据的总时长;通过将总时长除以预设等待时间计算得到快速发送倍速;根据直播速度对快速发送倍速进行修正,得到快速发送系数。
本发明实施例提供的超高清视频直播的快速起播装置,与上述实施例提供的超高清视频直播的快速起播方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
附图中的流程图和框图显示了根据本发明的多个实施例的方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,上述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明实施例所提供的进行超高清视频直播的快速起播方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,上述程序代码包括的指令可用于执行前面方法实施例中上述的方法,具体实现可参见方法实施例,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所披露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括如果干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上上述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应上述以权利要求的保护范围为准。
Claims (9)
1.一种超高清视频直播的快速起播方法,其特征在于,包括:
从直播源实时接收视频直播数据;
根据当前接收的视频直播数据解析并确定直播源的直播参数;
根据所述直播参数和当前接收到的视频直播数据缓存直播缓存数据;
当接收到直播端发送的直播请求时,将所述直播缓存数据快速发送给直播端,以使直播端快速起播所述直播缓存数据;
所述将所述直播缓存数据快速发送给直播端,包括:
根据所述直播参数和所述直播缓存数据计算快速发送速度;
根据所述快速发送速度将所述直播缓存数据发送给所述直播端。
2.根据权利要求1所述的超高清视频直播的快速起播方法,其特征在于,所述直播参数包括直播速度和视频帧率;所述根据所述直播参数和当前接收到的视频直播数据缓存直播缓存数据,包括:
根据所述直播速度和所述视频帧率,计算得到最短缓存时长;
根据所述最短缓存时长和完整GOP要求将所述视频直播数据缓存为所述直播缓存数据。
3.根据权利要求2所述的超高清视频直播的快速起播方法,其特征在于,所述根据所述直播速度和所述视频帧率,计算得到最短缓存时长,包括:
根据所述直播速度计算得到所述直播缓存数据对应的缓存时长;
通过所述视频帧率对所述缓存时长进行修正,获得最短缓存时长。
4.根据权利要求2所述的超高清视频直播的快速起播方法,其特征在于,所述根据所述最短缓存时长和完整GOP要求将所述视频直播数据缓存为所述直播缓存数据,包括:
判断已缓存的所述视频直播数据的缓存时长是否满足所述最短缓存时长和完整GOP要求;
如果判断结果为是,将已缓存的所述视频直播数据存储为所述直播缓存数据。
5.根据权利要求1所述的超高清视频直播的快速起播方法,其特征在于,所述直播参数包括直播速度;所述根据所述直播参数和所述直播缓存数据计算快速发送速度,包括:
根据所述直播速度、所述直播缓存数据的总长度和预设等待时间计算得到快速发送系数;
根据所述快速发送系数和所述直播速度,计算得到快速发送速度。
6.根据权利要求5所述的超高清视频直播的快速起播方法,其特征在于,根据所述直播速度、所述直播缓存数据的总长度和预设等待时间计算得到快速发送系数,包括:
根据所述直播速度和所述直播缓存数据的总长度,计算得到所述直播缓存数据的总时长;
通过将所述总时长除以所述预设等待时间计算得到快速发送倍速;
根据所述直播速度对所述快速发送倍速进行修正,得到快速发送系数。
7.一种超高清视频直播的快速起播装置,其特征在于,包括:
接收模块,用于从直播源实时接收视频直播数据;
解析确定模块,用于根据当前接收的视频直播数据解析并确定直播源的直播参数;
缓存模块,用于根据所述直播参数和当前接收到的视频直播数据缓存直播缓存数据;
发送模块,用于当接收到直播端发送的直播请求时,将所述直播缓存数据快速发送给直播端,以使直播端快速起播所述直播缓存数据;
所述发送模块包括:
根据所述直播参数和所述直播缓存数据计算快速发送速度;
根据所述快速发送速度将所述直播缓存数据发送给所述直播端。
8.根据权利要求7所述的超高清视频直播的快速起播装置,其特征在于,所述直播参数包括直播速度和视频帧率;所述缓存模块包括:
第一计算单元,用于根据所述直播速度和所述视频帧率,计算得到最短缓存时长;
缓存单元,用于根据所述最短缓存时长和完整GOP要求将所述视频直播数据缓存为所述直播缓存数据。
9.根据权利要求7所述的超高清视频直播的快速起播装置,其特征在于,所述发送模块包括:
第二计算单元,用于根据所述直播参数和所述直播缓存数据计算快速发送速度;
发送单元,用于根据所述快速发送速度将所述直播缓存数据发送给所述直播端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910057426.3A CN109618179B (zh) | 2019-01-21 | 2019-01-21 | 超高清视频直播的快速起播方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910057426.3A CN109618179B (zh) | 2019-01-21 | 2019-01-21 | 超高清视频直播的快速起播方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109618179A CN109618179A (zh) | 2019-04-12 |
CN109618179B true CN109618179B (zh) | 2021-05-11 |
Family
ID=66019006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910057426.3A Active CN109618179B (zh) | 2019-01-21 | 2019-01-21 | 超高清视频直播的快速起播方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109618179B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110062003B (zh) * | 2019-04-30 | 2022-01-25 | 北京金山云网络技术有限公司 | 视频数据发送方法、装置、电子设备及存储介质 |
CN110401845B (zh) * | 2019-08-22 | 2021-08-20 | 北京视界云天科技有限公司 | 首屏播放方法、装置、计算机设备和存储介质 |
CN112804579B (zh) * | 2019-11-14 | 2023-02-28 | 上海哔哩哔哩科技有限公司 | 视频播放方法、装置、计算机设备和可读存储介质 |
CN111918092B (zh) * | 2020-08-12 | 2022-07-01 | 广州繁星互娱信息科技有限公司 | 视频流处理方法、装置、服务器及存储介质 |
CN111954048B (zh) * | 2020-08-21 | 2021-12-17 | 四川长虹电器股份有限公司 | 一种高码率视频资源播放的方法、终端设备及存储介质 |
CN112533067B (zh) * | 2020-11-12 | 2022-05-31 | 烽火通信科技股份有限公司 | 一种超高清点播视频的快速起播方法与装置 |
CN112752152B (zh) * | 2020-12-28 | 2022-11-25 | 海信视像科技股份有限公司 | 投送视频播放方法及显示设备 |
CN112752148A (zh) * | 2020-12-28 | 2021-05-04 | 北京百度网讯科技有限公司 | 视频起播的优化方法、装置、设备以及存储介质 |
CN112954389B (zh) * | 2021-03-11 | 2022-07-12 | 山东浪潮超高清视频产业有限公司 | 一种快速换台的方法 |
CN113132750A (zh) * | 2021-04-16 | 2021-07-16 | 北京金山云网络技术有限公司 | 信息发送方法、装置和服务器 |
CN113596568B (zh) * | 2021-07-01 | 2023-10-17 | 广州虎牙科技有限公司 | 视频播放方法、装置、智能终端及计算机可读存储介质 |
CN115623230A (zh) * | 2021-07-14 | 2023-01-17 | 腾讯科技(深圳)有限公司 | 直播视频的播放方法、装置、电子设备及存储介质 |
CN113766261B (zh) * | 2021-09-06 | 2024-06-11 | 百果园技术(新加坡)有限公司 | 一种确定预拉取时长方法、装置、电子设备及存储介质 |
CN115002086B (zh) * | 2022-05-23 | 2024-04-02 | 阿里巴巴(中国)有限公司 | 实时流媒体的传输方法及电子设备 |
CN116055810A (zh) * | 2023-01-17 | 2023-05-02 | 阿里云计算有限公司 | 音视频播放方法、装置、***、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105847945A (zh) * | 2016-04-25 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种视频加速方法和装置 |
CN105872607A (zh) * | 2016-03-31 | 2016-08-17 | 乐视控股(北京)有限公司 | 提供多媒体内容的方法、服务器和终端设备 |
CN107483976A (zh) * | 2017-09-26 | 2017-12-15 | 武汉斗鱼网络科技有限公司 | 直播管控方法、装置及电子设备 |
CN107690073A (zh) * | 2016-08-05 | 2018-02-13 | 阿里巴巴集团控股有限公司 | 一种视频直播方法及视频直播服务器 |
CN109151492A (zh) * | 2018-09-29 | 2019-01-04 | 网宿科技股份有限公司 | 一种直播视频的快速启动方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104065982B (zh) * | 2014-06-19 | 2015-12-30 | 腾讯科技(深圳)有限公司 | 流媒体直播的方法和装置 |
-
2019
- 2019-01-21 CN CN201910057426.3A patent/CN109618179B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105872607A (zh) * | 2016-03-31 | 2016-08-17 | 乐视控股(北京)有限公司 | 提供多媒体内容的方法、服务器和终端设备 |
CN105847945A (zh) * | 2016-04-25 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种视频加速方法和装置 |
CN107690073A (zh) * | 2016-08-05 | 2018-02-13 | 阿里巴巴集团控股有限公司 | 一种视频直播方法及视频直播服务器 |
CN107483976A (zh) * | 2017-09-26 | 2017-12-15 | 武汉斗鱼网络科技有限公司 | 直播管控方法、装置及电子设备 |
CN109151492A (zh) * | 2018-09-29 | 2019-01-04 | 网宿科技股份有限公司 | 一种直播视频的快速启动方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109618179A (zh) | 2019-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109618179B (zh) | 超高清视频直播的快速起播方法及装置 | |
US10979663B2 (en) | Methods and apparatuses for image processing to optimize image resolution and for optimizing video streaming bandwidth for VR videos | |
WO2016131223A1 (zh) | 一种视频帧丢帧方法及视频发送装置 | |
WO2017107578A1 (zh) | 流媒体与字幕即时同步显示、匹配处理方法、装置及*** | |
US8510459B2 (en) | Method and system for transmitting a data file over a data network | |
CN110784740A (zh) | 视频处理方法、装置、服务器及可读存储介质 | |
US20150156557A1 (en) | Display apparatus, method of displaying image thereof, and computer-readable recording medium | |
WO2019153723A1 (zh) | 视频画面显示方法、装置、电视机及存储介质 | |
KR20210029829A (ko) | 미디어 스트림 재생들 사이를 트랜지션하는 동안 트랜지션 프레임들의 동적 재생 | |
US20180255317A1 (en) | Method for reconstructing video stream | |
CN111726657A (zh) | 直播视频的播放处理方法、装置及服务器 | |
CN110582012A (zh) | 视频切换方法、视频处理方法、装置及存储介质 | |
US9226003B2 (en) | Method for transmitting video signals from an application on a server over an IP network to a client device | |
CN103686077A (zh) | 应用于3g无线网络实时音视频数据传输的双缓冲方法 | |
CN117714700A (zh) | 一种视频编码方法、装置、设备、可读存储介质及产品 | |
US20240040147A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
CN115361579B (zh) | 视频送显方法、装置、电子设备及存储介质 | |
CN107004018B (zh) | 数据处理方法及装置 | |
CN112672147A (zh) | 一种基于投屏的解码方法、设备及*** | |
JP4845869B2 (ja) | 画像出力装置、コンピュータプログラム及び画像出力方法 | |
US20240214521A1 (en) | Video processing method and apparatus, computer, and readable storage medium | |
US10863179B1 (en) | Overlapped rate control for high-quality segmented video encoding | |
TW201501516A (zh) | 多訊源影像串流顯示系統、多訊源影像串流顯示裝置及其方法 | |
CN114760503B (zh) | 一种视频播放方法、装置、***、电子设备及存储介质 | |
US20240144501A1 (en) | Apparatus, method, and computer program for network communications |
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 |