CN108540816A - 一种直播视频获取方法、装置及存储介质 - Google Patents
一种直播视频获取方法、装置及存储介质 Download PDFInfo
- Publication number
- CN108540816A CN108540816A CN201810267286.8A CN201810267286A CN108540816A CN 108540816 A CN108540816 A CN 108540816A CN 201810267286 A CN201810267286 A CN 201810267286A CN 108540816 A CN108540816 A CN 108540816A
- Authority
- CN
- China
- Prior art keywords
- live video
- source
- address
- live
- video data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000003860 storage Methods 0.000 title claims abstract description 28
- 238000004891 communication Methods 0.000 claims description 33
- 238000012216 screening Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 3
- 238000013480 data collection Methods 0.000 abstract 2
- 230000005540 biological transmission Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 239000000284 extract Substances 0.000 description 8
- 230000011664 signaling Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009395 breeding Methods 0.000 description 1
- 230000001488 breeding effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000003306 harvesting Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 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/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
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
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)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种直播视频获取方法、装置及存储介质,本发明实施例通过获取多个直播视频对应的流标识;获取访问配置信息,并根据访问配置信息构造与流标识对应的播放地址,得到播放地址集;根据播放地址集获取直播视频数据集,并将直播视频数据集传输至末端节点集;当接收到播放终端发送的携带播放地址的直播视频获取请求时,将末端节点集中与播放地址对应的末端节点上的直播视频数据,发送给播放终端。该方案不管是首次还是非首次接收到播放终端发送的直播视频获取请求,即不管是对直播视频的首次访问还是非首次访问,均可以直接从末端节点中获取到直播视频数据,而无需一级一级的回源来获取直播视频数据,减少了直播视频的获取耗时。
Description
技术领域
本发明涉及视频数据处理技术领域,具体涉及一种直播视频获取方法、装置及存储介质。
背景技术
随着视频直播的持续火热,以及录制直播视频的录制端数量增幅巨大,使得播放终端能够选择播放的直播视频场次非常多,例如,播放终端可以根据用户的喜好在多场直播中切换直播视频场次,并加载相应的直播视频进行播放。
现有技术中,当播放终端需要加载相应的直播视频进行播放时,播放终端首先向后台服务器请求与播放地址对应的直播视频,后台服务器根据播放终端请求的该播放地址访问关于直播视频的内容分发网络(Content Delivery Network,CDN)的末端节点,当是首次访问时,后台服务器需要控制末端节点访问二级源的源主(即二级源SourceMaster),从二级源SourceMaster中获取二级源地址,并根据二级源地址访问二级源;然后控制二级源访问一级源的源主(即一级源SourceMaster),从一级源SourceMaster中获取一级源地址,并根据一级源地址访问一级源;再控制一级源获取直播视频数据。后台服务器将得到的直播视频数据的每一帧数据均回退给播放终端,以使得播放终端根据该直播视频数据播放直播视频。
在对现有技术的研究和实践过程中,本发明的发明人发现,对于直播视频的首次访问,需要从末端节点开始一级一级的回源,以获取直播视频数据,这个过程会消耗比较多的时间,导致播放终端对直播视频播放的加载耗时较多。
发明内容
本发明实施例提供一种直播视频获取方法、装置及存储介质,旨在减少直播视频的获取耗时。
为解决上述技术问题,本发明实施例提供以下技术方案:
一种直播视频获取方法,包括:
获取多个直播视频对应的流标识;
获取访问配置信息,并根据所述访问配置信息构造与所述流标识对应的播放地址,得到播放地址集;
根据所述播放地址集获取直播视频数据集,并将所述直播视频数据集传输至末端节点集;
当接收到播放终端发送的携带播放地址的直播视频获取请求时,将所述末端节点集中与所述播放地址对应的末端节点上的直播视频数据,发送给所述播放终端。
一种直播视频获取装置,包括:
标识获取单元,用于获取多个直播视频对应的流标识;
构造单元,用于获取访问配置信息,并根据所述访问配置信息构造与所述流标识对应的播放地址,得到播放地址集;
数据获取单元,用于根据所述播放地址集获取直播视频数据集,并将所述直播视频数据集传输至末端节点集;
发送单元,用于当接收到播放终端发送的携带播放地址的直播视频获取请求时,将所述末端节点集中与所述播放地址对应的末端节点上的直播视频数据,发送给所述播放终端。
一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行上述直播视频获取方法中的步骤。
本发明实施例可以获取多个直播视频对应的流标识,以及获取访问配置信息,并根据访问配置信息构造与流标识对应的播放地址,得到播放地址集;然后可以根据播放地址集获取直播视频数据集,并将直播视频数据集传输至末端节点集;当接收到播放终端发送的携带播放地址的直播视频获取请求时,将末端节点集中与播放地址对应的末端节点上的直播视频数据,发送给播放终端。该方案中,通过访问配置信息构造与直播视频的流标识对应的播放地址集,并根据该播放地址集将直播视频数据集传输至末端节点集,从而使得不管是首次还是非首次接收到播放终端发送的直播视频获取请求,即不管是对直播视频的首次访问还是非首次访问,均可以直接从末端节点中获取到直播视频数据,而无需一级一级的回源来获取直播视频数据,减少了直播视频的获取耗时。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的直播视频获取系统的场景示意图;
图2是本发明实施例提供的直播视频获取方法的流程示意图;
图3是本发明实施例提供的直播视频获取方法的另一流程示意图;
图4是本发明实施例提供的CDN回源访问的示意图;
图5是本发明实施例提供的直播视频数据流向的示意图;
图6是本发明实施例提供的直播视频获取方法的另一流程示意图;
图7是本发明实施例提供的直播视频获取装置的结构示意图;
图8是本发明实施例提供的直播视频获取装置的另一结构示意图;
图9是本发明实施例提供的服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种直播视频获取方法、装置及存储介质。
请参阅图1,图1为本发明实施例所提供的直播视频获取系统的场景示意图,该直播视频获取系统可以包括直播视频获取装置10,该直播视频获取装置10具体可以集成在服务器12中,主要用于获取多个直播视频对应的流标识,例如,可以获取直播列表,并从直播列表中筛选出多个直播视频对应的流标识等。然后可以获取访问配置信息,并根据访问配置信息构造与流标识对应的播放地址,得到播放地址集;其中,该访问配置信息可以包括区域信息和通讯信息等,该通讯信息可以包括运营商信息等,该访问配置信息视为获取方式可以是接收配置终端发送的。其次,可以根据播放地址集获取直播视频数据集,并将直播视频数据集传输至末端节点集;例如,可以根据播放地址集中每个播放地址获取回源路径,得到回源路径集,根据回源路径集中的每个回源路径获取直播视频数据,得到直播视频数据集,并将直播视频数据集的每个直播视频数据分别传输至回源路径集中每个回源路径对应的末端节点。播放终端11可以向服务器12发送直播视频获取请求,当服务器12接收到播放终端11发送的携带播放地址的直播视频获取请求时,可以从末端节点集中确定与播放地址对应的末端节点,并直接从末端节点上获取直播视频数据,将获取到的直播视频数据发送给播放终端11。例如,可以从直播视频数据中查找第一帧关键帧,将直播视频数据中从第一帧关键帧开始的数据帧发送给播放终端11;等等。
需要说明的是,图1所示的直播视频获取系统的场景示意图仅仅是一个示例,本发明实施例描述的直播视频获取系统以及场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着直播视频获取系统的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
以下将对直播视频获取的整体流程进行说明,请参阅图2,图2是本发明一实施例提供的直播视频获取方法的流程示意图。
上述服务器可以是获取直播视频的后台服务器,该后台服务器可以包括接流服务器和流分发服务器等,其中,接流服务器和流分发服务器可以集成在一起,也可以分别设置在不同的服务器上,可以根据实际需要进行灵活设置,具体内容在此处不作限定。该接流服务器可以与录制端及流分发服务器连接,该流分发服务器可以通过关于直播视频的内容分发网络CDN与播放端连接。直播视频数据的流向主要是从录制端依次经过接流服务器、流分发服务器及CDN到达播放端,并由播放端根据直播视频数据对直播视频进行播放,其中,录制端主要用于录制直播视频,该录制端可以包括一个或多个录制终端,该录制终端具有录制直播视频的功能,还可以包括其他的功能,具体功能在此处不作限定,例如,该录制终端可以是手机或电脑等终端,可以通过终端上安装的直播视频录制应用录制直播视频。
接流主要是接收直播视频数据流,可以由接流服务器和流分发服务器(也可以称为Distribute)进行接流,接流服务器主要用于接收录制终端发送的直播视频数据流,流分发服务器主要用于对直播视频数据流进行流分发服务,接流服务器可以包括一个或多个,以及流分发服务器可以包括一个或多个;当接流服务器及流分发服务器均包括多个时,一个接流服务器可以与一个或多个流分发服务器连接,各个接流服务器和各个流分发服务器可以集成在一起,得到服务器集群,也可以分别设置在不同的服务器上,可以根据实际需要进行灵活设置,具体内容在此处不作限定。
关于直播视频的内容分发网络CDN主要用于对流分发服务器发送过来的直播视频数据流进行一级一级地分发,CDN可以包括一级源(也可以称为DC)、二级源(也可以称为大OC)和末端节点(也可以称为OC)等,一级源、二级源和末端节点的个数均可以一个或多个。例如,一级源可以包括一级源1、一级源2和一级源3等;二级源可以包括二级源1、二级源2、二级源3和二级源4等;末端节点可以包括末端节点1、末端节点2、末端节点3和末端节点4等。
播放端主要用于对获取到的直播视频数据进行播放,该播放端可以包括一个或多个播放终端,例如,播放终端A和播放终端B等。该播放终端具有播放直播视频的功能,还可以包括其他的功能,具体功能在此处不作限定,例如,该播放终端可以是手机或电脑等终端,可以通过终端上安装的直播视频应用对直播视频进行播放。播放终端可以访问重定向服务器,从重定向服务中获取播放地址,该重定向服务主要用于存储播放地址,该播放地址可以是统一资源定位符(Uniform Resoure Locator,URL)。
具体地,首先录制终端录制进行直播视频的录制,录制终端可以推流到预设的接流服务器,即可以将录制的直播视频数据发送给接流服务器,该预设的接流服务器可以是最优的接流服务器,或者是根据实际需要进行灵活设置。当播放终端接收到播放指令时,需要播放该播放指令对应的直播视频,此时可以访问重定向服务器,并从重定向服务中获取播放地址。
在获取到播放地址后,播放终端可以向服务器请求该播放地址,即播放终端可以向后台服务器发送携带播放地址的直播视频获取请求,此时,后台服务器可以访问与该播放地址对应的末端节点,并根据末端节点预存的二级源地址访问二级源,根据二级源预存的一级源地址访问一级源,通过一级源访问流分发服务器,并通过流分发服务器访问接流服务器,可以从接流服务器获取到直播视频数据。这样就实现了通过CDN三级回源最终到达流分发服务器回源,流分发服务器可以从的接流服务器回源,从而可以形成回源路径,即可以形成播的回源路径。其中,回源可以理解为后台服务器在根据播放地址依次访问末端节点、二级源、一级源、流分发服务器及接流服务器时,形成回源路径,可以把获取到的直播视频数据沿着回源路径从接流服务器传输至末端节点的过程。
此时,在获取到直播视频数据后,可以根据该回源路径从接流服务器将直播视频数据回源至该回源路径的末端节点,通过末端节点将直播视频数据发送给播放终端,播放终端在接收到预设帧数的直播视频数据后,开始播放直播视频,该预设帧数可以根据实际需要进行灵活设置,具体内容在此处不作限定。当回源路径的末端节点上以及存在直播视频数据时,若再次接收到播放终端发送的携带播放地址的直播视频获取请求,则可以直接从末端节点上获取与该播放地址对应的直播视频数据,并将获取到的直播视频数据发送给播放终端。
需要说明的是,图2所示的直播视频获取方法的流程示意图仅仅是一个示例,本发明实施例描述的直播视频获取方法的流程是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着直播视频获取方法的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
以下分别进行详细说明。
在本实施例中,将从直播视频获取装置的角度进行描述,该直播视频获取装置具体可以集成在服务器或网关等网络设备中。
一种直播视频获取方法,包括:获取多个直播视频对应的流标识;获取访问配置信息,并根据访问配置信息构造与流标识对应的播放地址,得到播放地址集;根据播放地址集获取直播视频数据集,并将直播视频数据集传输至末端节点集;当接收到播放终端发送的携带播放地址的直播视频获取请求时,将末端节点集中与播放地址对应的末端节点上的直播视频数据,发送给播放终端。
请参阅图3,图3是本发明另一实施例提供的直播视频获取方法的流程示意图。该直播视频获取方法可以包括:
在步骤S101中,获取多个直播视频对应的流标识。
其中,流标识可以是直播视频的数据流的名称、编号或身份标识(identification,ID)等,该流标识可以由数字、字母和/或文字等组成,也可以根据实际需要进行灵活设置,具体内容在此处不作限定。
流标识的获取方式可以包括:方式一,直播视频获取装置可以主动访问存储流标识的直播服务器,并从直播服务器上获取多个直播视频对应的流标识;例如,直播视频获取装置可以向直播服务器发送流标识获取请求,并接收直播服务器基于流标识获取请求返回的流标识。方式二,直播视频获取装置可以接收直播服务器每隔预设时间主动发送的流标识,该预设时间可以根据实际需要进行灵活设置。可以理解的是,流标识的获取方式还可以是其他获取方式,具体内容在此处不作限定。
需要说明的是,获取多个直播视频对应的流标识,可以是一次仅获取一个直播视频对应的流标识,在经过多次数的获取后,可以获取到多个直播视频对应的流标识;或者是,可以是一次性获取多个直播视频对应的流标识;等等。
在某些实施方式中,获取多个直播视频对应的流标识的步骤可以包括:
(1)每隔第三预设时间获取直播列表;
(2)从直播列表中提取出直播信息;
(3)根据直播信息从直播列表中筛选出多个直播视频对应的流标识。
具体地,直播视频获取装置可以主动访问存储流标识的直播服务器,并从直播服务器上获取直播列表;或者是,直播视频获取装置可以接收直播服务器主动发送的直播列表等。该直播列表中可以包括多个正在直播的直播视频信息,该直播视频信息可以包括直播视频的名称、编号或ID等,还可以包括直播信息和流标识等,该直播信息可以包括直播内容和状态信息等,该状态信息可以包括正在直播、中场休息和结束直播等。
在得到直播列表后,直播视频获取装置可以从直播列表中提取出直播信息,根据直播信息从直播列表中筛选出多个直播视频对应的流标识。例如,可以根据状态信息从直播列表中筛选出正在直播的多个直播视频对应的流标识;或者是,根据直播的内容从直播列表中筛选出直播体育比赛相关的多个直播视频对应的流标识等。
在得到多个直播视频对应的流标识后,直播视频获取装置可以构造与流标识对应的播放地址,并根据播放地址打通回源路径,由于在一定时间内不访问这个回源路径时,该回源路径可能会被关闭,因此,直播视频获取装置可以每隔第三预设时间获取直播列表,从直播列表中筛选出多个直播视频对应的流标识,并构造与流标识对应的播放地址,根据播放地址可以重新打通回源路径。其中,第三预设时间可以根据实际需要进行灵活设置,具体内容在此处不作限定。
在步骤S102中,获取访问配置信息,并根据访问配置信息构造与流标识对应的播放地址,得到播放地址集。
直播视频获取装置可以获取访问配置信息,该访问配置信息可以包括区域信息和通讯信息等,该区域信息可以包括北京、上海、广州、成都和深圳等,该通讯信息可以包括运营商信息等,例如,电信、联通和移动等。
访问配置信息的获取方式可以包括:方式一,直播视频获取装置可以接收配置终端发送的访问配置信息,该访问配置信息可以是用户在配置终端上预先配置的,在配置完成后可以发送给直播视频获取装置。方式二,直播视频获取装置可以随机或者按照预设算法生成访问配置信息,例如,可以随机组合地区和运营商等,得到访问配置信息。可以理解的是,访问配置信息的获取方式还可以是其他获取方式,具体内容在此处不作限定。
在得到流标识和访问配置信息后,直播视频获取装置可以根据访问配置信息构造与流标识对应的播放地址,由于一个流标识和该流标识对应的访问配置信息,可以构造出一个与该流标识对应的播放地址,因此,多个流标识和多个访问配置信息,可以分别构造出与该多个流标识中每个流标识对应的播放地址,得到播放地址集,其中,该多个流标识中每个流标识与多个访问配置信息中的每个访问配置信息一一对应。
在某些实施方式中,获取访问配置信息,并根据访问配置信息构造与流标识对应的播放地址,得到播放地址集的步骤可以包括:接收配置终端发送的访问配置信息,访问配置信息包括区域信息和通讯信息;根据区域信息和通讯信息构造与流标识对应的播放地址。
具体地,直播视频获取装置可以接收配置终端发送的访问配置信息,其中,该配置终端可以是笔记本电脑或台式电脑等终端,配置终端可以在关于访问配置信息的配置界面内接收用户输入的配置指令,根据配置指令设置访问配置信息,在完成访问配置信息的配置后,配置终端可以将配置信息发送给直播视频获取装置。
其中,访问配置信息可以包括区域信息和通讯信息等,该区域信息可以是按照省级来划分,例如,该区域信息可以包括广西省、广东省和四川省等;该区域信息还可以是按照市级来划分,例如,该区域信息可以包括北京、上海、广州和深圳等;在按照市级划分时,该区域信息还可以是按照直辖市、市级市、地级市或县级市等进行划分。可以理解的是,该区域信息还可以根据实际需要进行灵活设置,具体内容在此处不作限定。
该通讯信息可以是用于传输直播视频数据的通讯方式,例如,该通讯信息可以包括运营商信息等,该运营商信息可以包括电信、联通、移动和广电等;该通讯信息还可以包括运营商运营的全球移动通信系统(Global System for Mobile Communication,GSM)、时分同步码分多址(Time Division-Synchronous Code Division Multiple Access,TD-SCDMA)、分时长期演进(Time Division Long Term Evolution,LTE-TDD,也可以称为TD-LTE)、宽带码分多址(Wideband Code Division Multiple Access,W-CDMA)、码分多址(Code Division Multiple Access,CDMA)和/或固网等。
在得到区域信息和通讯信息后,直播视频获取装置可以根据区域信息和通讯信息构造与流标识对应的播放地址,根据播放地址可以访问CDN的末端节点。例如,可以根据区域信息为深圳,以及通讯信息为移动运营商,构造与流标识对应的播放地址,该播放地址可以是移动运营商在深圳的播放地址URL。又例如,可以根据区域信息为广州,以及通讯信息为移动运营商和联通运营商,构造与流标识对应的播放地址。
在得到播放地址后,可以根据播放地址进行CDN预热,其中,CDN预热是指在没有接收到播放终端发送的直播视频获取请求之前,通过后台服务器模拟请求CDN获取直播视频数据,以便提前建立回源路径;当接收到播放终端发送的直播视频获取请求时,由于回源路径已经建立,因此可以快速的获取到直播视频数据,并发送给播放终端加载,以进行播放。例如,可以先获取需要预热的直播视频的流标识,以及获取需要预热的区域信息和运营商信息,然后根据区域信息和运营商信息构造该流标识对应的播放地址,根据播放地址请求CDN获取直播视频数据,从而建立回源路径,以下将进行详细说明。
在步骤S103中,根据播放地址集获取直播视频数据集,并将直播视频数据集传输至末端节点集。
在得到播放地址后,直播视频获取装置可以根据播放地址获取直播视频数据,当播放地址是一个时,根据一个播放地址可以获取与该播放地址对应的直播视频数据;当播放地址是多个时,根据播放地址集中每个播放地址,可以获取与每个播放地址对应的直播视频数据,得到直播视频数据集。
在得到直播视频数据后,可以将直播视频数据传输至末端节点,即将直播视频数据回源至末端节点,由于一个直播视频数据可以按照回源路径回源至一个末端节点,因此,可将直播视频数据集中的每一个直播视频数据,分别回源至末端节点集中的每一个末端节点。
需要说明的是,播放地址集中包括播放地址的个数,直播视频数据集中包括直播视频数据的个数,以及末端节点集中包括末端节点的个数可以根据实际需要进行灵活设置,具体内容在此处不作限定。
在某些实施方式中,根据播放地址集获取直播视频数据集,并将直播视频数据集传输至末端节点集的步骤可以包括:
(1)根据播放地址集中每个播放地址获取回源路径,得到回源路径集;
(2)从回源路径集中每个回源路径的接流节点中获取直播视频数据,得到直播视频数据集;
(3)将直播视频数据集传输至回源路径集对应的末端节点集。
具体地,直播视频获取装置可以根据播放地址集中每个播放地址获取回源路径,该回源路径可以是末端节点与接流服务器之间的路径,根据一个播放地址可以获取一个对应的回源路径,多个播放地址可以获取到多个回源路径,从而得到回源路径集。
在某些实施方式中,根据播放地址集中每个播放地址获取回源路径,得到回源路径集的步骤可以包括:
(a)访问与播放地址集中每个播放地址对应的末端节点;
(b)根据末端节点预存的二级源地址访问二级源;
(c)根据二级源预存的一级源地址访问一级源;
(d)通过一级源获取回源路径,得到回源路径集。
直播视频获取装置可以先访问与播放地址集中每个播放地址对应的末端节点,该末端节点可以预先存储有二级源地址,该二级源地址可以是二级源ID地址等。此时,由于末端节点存储有二级源地址,因此可以直接从末端节点中获取到二级源地址,可以根据获取到的二级源地址访问二级源。该二级源可以预先存储有一级源地址,该一级源地址可以是一级源ID地址等。此时,由于二级源存储有一级源地址,因此,可以直接从二级源中获取到一级源地址,可以根据获取到的一级源地址访问一级源。
然后,可以通过一级源访问流分发服务器,并通过流分发服务器访问接流服务器,从而可以形成回源路径,即可以形成 之间的回源路径。根据播放地址集中每个播放地址可以建立与每个播放地址对应的回源路径,从而可以得到回源路径集。
由于回源路径的建立过程中,可以直接从末端节点中获取到二级源地址,而不需要访问存储二级源地址的二级源的源主(即二级源SourceMaster);以及,可以直接从二级源中获取到一级源地址,而不需要访问存储一级源地址的一级源的源主(即一级源SourceMaster);因此,不会产生访问二级源SourceMaster及访问一级源SourceMaster的耗时,加快了回源路径的建立速度。
在某些实施方式中,根据末端节点预存的二级源地址访问二级源的步骤之前,直播视频获取方法还可以包括:
控制二级源的源主每间隔第一预设时间向末端节点发送二级源地址,并控制末端节点存储二级源地址;或者,当检测到二级源地址存在更新时,控制二级源的源主向目标末端节点发送更新后的二级源地址,并控制末端节点基于更新后的二级源地址更新所存储的二级源地址。
具体地,在访问二级源之前,直播视频获取装置可以控制二级源SourceMaster,每隔第一预设时间将二级源地址发送给末端节点,例如,二级源SourceMaster可以通过信令流的方式将二级源地址发送给末端节点,然后控制末端节点存储接收到的二级源地址。或者是,直播视频获取装置可以控制末端节点每隔第一预设时间主动向二级源SourceMaster获取二级源地址,并将获取到的二级源地址进行存储。其中,第一预设时间可以根据实际需要进行灵活设置,具体内容在此处不作限定。从而可以实现异步访问二级源SourceMaster,使得末端节点可以提前存储二级源地址,在建立回源路径的过程中可以省去访问二级源SourceMaster所要消耗的时间。
由于二级源地址可能会存在更新,因此,直播视频获取装置可以实时或间隔预设时间检测二级源地址是否存在更新,当检测到二级源地址存在更新时,可以控制二级源的源主向目标末端节点发送更新后的二级源地址,在末端节点接收到更新后的二级源地址时,可以控制末端节点基于更新后的二级源地址更新所存储的二级源地址。
在某些实施方式中,根据二级源预存的一级源地址访问一级源的步骤之前,直播视频获取方法还可以包括:
控制一级源的源主每间隔第二预设时间向二级源发送一级源地址,并控制二级源存储一级源地址;或者,当检测到一级源地址存在更新时,控制一级源的源主向二级源发送更新后的一级源地址,并控制二级源基于更新后的一级源地址更新所存储的一级源地址。
具体地,在访问一级源之前,直播视频获取装置可以控制一级源SourceMaster,每隔第二预设时间将一级源地址发送给二级源,例如,一级源SourceMaster可以通过信令流的方式将一级源地址发送给二级源,然后控制二级源存储接收到的一级源地址。或者是,直播视频获取装置可以控制二级源每隔第二预设时间主动向一级源SourceMaster获取一级源地址,并将获取到的一级源地址进行存储。其中,第二预设时间可以根据实际需要进行灵活设置,具体内容在此处不作限定。从而可以实现异步访问一级源SourceMaster,使得二级源可以提前存储一级源地址,在建立回源路径的过程中可以省去访问一级源SourceMaster所要消耗的时间。
由于一级源地址可能会存在更新,因此,直播视频获取装置可以实时或间隔预设时间检测一级源地址是否存在更新,当检测到一级源地址存在更新时,可以控制一级源的源主向目标二级源发送更新后的一级源地址,在二级源接收到更新后的一级源地址时,可以控制二级源基于更新后的一级源地址更新所存储的一级源地址。
在根据播放地址集中每个播放地址获取到回源路径,得到回源路径集后,直播视频获取装置可以从回源路径集中每个回源路径的接流节点中获取直播视频数据,该接流节点可以是接流服务器,即可以从接流服务器获取到直播视频数据。由于根据回源路径集中一个回源路径可以获取到一个直播视频数据,因此,可以从回源路径集中每一个回源路径的接流节点中可以获取与每个回源路径对应的直播视频数据,得到直播视频数据集。然后可以将直播视频数据集中每个直播视频数据,分别回源至回源路径集中每个回源路径对应的末端节点,即将直播视频数据集传输至回源路径集对应的末端节点集。
例如,如图4所示,一级源SourceMaster可以通过信令流的方式,异步将一级源地址发送给二级源,以使得二级源可以预先存储一级源地址;以及,二级源SourceMaster也可以通过信令流的方式,异步将二级源地址发送给末端节点,以使得末端节点可以预先存储二级源地址。在进行CDN预热时,根据播放地址集中每个播放地址建立回源路径的过程中,可以首先访问与播放地址集中每个播放地址对应的末端节点,然后根据末端节点预存的二级源地址访问二级源,其次,根据二级源预存的一级源地址访问一级源,通过一级源可以建立回源路径。最后根据回源路径可以从直播视频业务源(例如接流服务器)中获取直播视频数据,可以根据回源路径将获取到的直播视频数据依次经过一级源和二级源回源至末端节点,从而实现了提前建立回源路径,完成了CDN预热。后续可以直接将末端节点上的直播视频数据发送给需要的各个播放终端,例如,播放终端A、播放终端B和播放终端C等。
在步骤S104中,当接收到播放终端发送的携带播放地址的直播视频获取请求时,将末端节点集中与播放地址对应的末端节点上的直播视频数据,发送给播放终端。
直播视频获取装置可以接收播放终端发送的直播视频获取请求,该直播视频获取请求中可以携带播放地址,还可以携带其他信息等。由于已经完成CDN预热,因此,直播视频获取装置在接收到播放终端发送的直播视频获取请求后,可以从直播视频获取请求中提取出播放地址,以及从末端节点集中确定与播放地址对应的末端节点,并直接从该末端节点上获取直播视频数据,将获取到的直播视频数据发送给播放终端。
此时,由于CDN预热后,已经建立回源路径,回源路径的末端节点已经存在直播视频数据,因此,不管是首次接收到播放终端发送的直播视频获取请求,还是非首次接收到播放终端发送的直播视频获取请求,直播视频获取装置都不需要一级一级的回源,大大节省了获取直播视频所消耗的时间,从而减少了播放终端加载直播视频数据的耗时。
在某些实施方式中,将末端节点集中与播放地址对应的末端节点上的直播视频数据,发送给播放终端的步骤可以包括:
(1)从末端节点集中确定与播放地址对应的末端节点,并从末端节点上获取直播视频数据;
(2)从直播视频数据中查找第一帧关键帧;
(3)将直播视频数据中从第一帧关键帧开始的数据帧发送给播放终端。
具体地,在将直播视频数据发送给播放终端的过程中,由于回源路径的末端节点已经存在直播视频数据,因此,直播视频获取装置可以从末端节点集中确定与播放地址对应的末端节点,并从末端节点上获取直播视频数据。然后,直播视频获取装置可以按照直播视频数据中数据流的顺序,依次查找直播视频数据中的数据帧,从第一帧数据帧开始依次判断各个数据帧是否是关键帧(也可以称为I帧),例如,可以根据关键帧的标识判断各个数据帧是否是关键帧。当查找到第一帧关键帧时,可以将直播视频数据中从第一帧关键帧开始的数据帧(包括第一帧关键帧)发送给播放终端,而直播视频数据中第一帧关键帧之前的数据帧(不包括第一帧关键帧)不发送给播放终端。播放终端接收到预设帧数的直播视频数据后,可以根据接收到的直播视频数据开始播放直播视频。
例如,如图5所示,直播视频数据中可以包括关键帧(即I帧)和前向预测帧(也可以称为P帧)等,当然,还可以包括双向预测内插编码帧(也可以称为B帧)等,以下将与直播视频数据中可以包括I帧和P帧为例,直播视频数据在录制终端上产生后,可以依次经过接流服务器和流分发服务器,到达直关于播视频数据的内容分发网络CDN。在CDN内可以依次经过一级源和二级源到达CDN的末端节点,在将末端节点上的直播视频数据发送给播放终端的过程中,直播视频获取装置可以将直播视频数据中从第一帧关键帧开始的数据帧发送给播放终端,以使得播放终端接收到的第一帧数据帧为关键帧。例如,当直播视频数据中第一帧数据帧至第五帧数据帧均是P帧,第六帧是I帧时,直播视频获取装置不需要将第一帧至第五帧的数据帧发送给播放终端,而是直接从第六帧开始的数据帧发送给播放终端。这样第一帧关键帧前面的数据帧可以不发送给播放终端,使得播放终端可以快速获取到关键帧,根据关键帧播放直播视频,提高了直播视频的播放速度。
需要说明的是,接流服务器、流分发服务器和CDN等都可以设置有用于存储直播视频数据的缓存,直播视频获取装置根据播放地址获取直播视频数据的过程中,可以访问与播放地址对应的CDN的末端节点,根据末端节点预存的二级源地址访问CDN的二级源,然后根据二级源预存的一级源地址访问CDN的一级源,以及通过一级源依次访问流分发服务器和接流服务器,此时可以从接流服务器的缓存中获取直播视频数据。
在得到直播视频数据后,直播视频获取装置可以将直播视频数据中从第一帧关键帧开始的数据帧依次通过流分发服务器、CDN的一级源及CDN的二级源回源至CDN的末端节点,此时,流分发服务器、CDN的一级源、CDN的二级源回源至及CDN的末端节点的缓存中存储的直播视频数据的第一帧数据帧为关键帧。在将直播视频数据发送给播放终端时,可以快速查找到第一帧关键帧,从第一帧关键帧开始的数据帧发送给播放终端,从而大大减少了直播视频数据的获取耗时。
相对于现有技术中,将得到的每一帧直播视频数据回退给播放终端,当接收到的数据帧不是关键帧时,播放终端会丢弃该帧(即不播放该帧数据),相当于下载到无效数据,直至接收到第一个关键帧为止,播放器需要缓存足够的帧数后才开始播放。而本发明实施例中可以将直播视频数据从第一帧关键帧开始的数据帧发送给播放终端,使得播放终端下载的直播视频数据不是按正常流速,且不存在下载到无效数据的情况,可以提高对直播视频的播放加载速度。
由上可知,本发明实施例可以获取多个直播视频对应的流标识,以及获取访问配置信息,并根据访问配置信息构造与流标识对应的播放地址,得到播放地址集;然后可以根据播放地址集获取直播视频数据集,并将直播视频数据集传输至末端节点集;当接收到播放终端发送的携带播放地址的直播视频获取请求时,将末端节点集中与播放地址对应的末端节点上的直播视频数据,发送给播放终端。该方案中,通过访问配置信息构造与直播视频的流标识对应的播放地址集,并根据该播放地址集将直播视频数据集传输至末端节点集,从而使得不管是首次还是非首次接收到播放终端发送的直播视频获取请求,即不管是对直播视频的首次访问还是非首次访问,均可以直接从末端节点中获取到直播视频数据,而无需一级一级的回源来获取直播视频数据,减少了直播视频的获取耗时。
根据上述实施例所描述的方法,以下将举例作进一步详细说明。
本实施例将以直播视频获取装置为服务器为例,该服务器可以是获取直播视频的后台服务器。请参阅图6,图6为本发明实施例提供的媒体文件获取方法的另一流程示意图。该方法流程可以包括:
201、服务器每隔预设时间获取直播列表,以及从直播列表中提取出直播信息。
服务器可以每隔预设时间主动访问存储流标识的直播服务器,并从直播服务器上获取直播列表,例如,服务器每隔预设时间向直播服务器发送直播列表获取请求,并接收直播服务器基于直播列表获取请求返回的直播列表。
或者是,服务器可以每隔预设时间接收直播服务器主动发送的直播列表,例如,直播服务器可以每隔预设时间主动向服务器发送直播列表,服务器接收直播服务器发送的直播列表。该预设时间可以根据实际需要进行灵活设置,具体内容在此处不作限定。
需要说明的是,由于获取直播列表的目的在于,从直播列表中获取多个直播视频对应的流标识,并构造与流标识对应的播放地址,根据播放地址建立回源路径,回源路径建立后,在预设时间内该回源路径不被访问时,该回源路径可能会被关闭,因此,服务器可以每隔预设时间获取直播列表,从直播列表中筛选出多个直播视频对应的流标识,并构造与流标识对应的播放地址,根据播放地址可以重新建立回源路径。
其中,该直播列表中可以包括多个正在直播的直播视频信息,该直播视频信息可以包括直播视频的名称、编号或ID等,还可以包括直播信息和流标识等,该直播信息可以包括直播内容和状态信息等,该状态信息可以包括正在直播、中场休息(例如插入广告时间)和结束直播等,该直播内容可以包括主播个人直播、以及体育频道直播篮球赛事等。因此在得到直播列表后,服务器可以从直播列表中提取出直播信息。
例如,得到的直播列表中可以包括主播A正在直播化妆、主播B正在直播健身、主播C正在直播穿衣塔配、主播D正在直播宠物玩耍、体育频道正在直播羽毛球赛事、美食育频道正在直播做菜、农业频道正在直播丰收场景、以及娱乐频道正在直播节目录制等,可以理解的是,直播列表中包括的直播信息多种多样,具体内容在此处不作限定。
202、服务器根据直播信息从直播列表中筛选出多个直播视频对应的流标识。
在得到直播列表后,服务器可以从直播列表中提取出直播信息,并根据直播信息从直播列表中筛选出多个直播视频对应的流标识。其中,流标识可以是直播视频的数据流的名称、编号或ID等,该流标识可以由数字、字母和/或文字等组成,也可以根据实际需要进行灵活设置,具体内容在此处不作限定。
例如,可以根据直播信息为个人直播,从直播列表中筛选出个人主播正在直播的多个直播视频对应的流标识;或者是,可以根据直播信息为电视台直播,从直播列表中筛选出,各个电视台正在直播的多个直播视频对应的流标识;或者是,可以根据直播信息为体育赛事直播,从直播列表中筛选出正在直播的多个体育赛事直播视频对应的流标识;或者是,可以根据直播信息为美食直播,从直播列表中筛选出正在直播的多个美食直播视频对应的流标识。
203、服务器获取访问配置信息,并根据访问配置信息构造流标识对应的播放地址,得到播放地址集。
服务器可以获取访问配置信息,例如,服务器可以接收配置终端发送的访问配置信息,例如,配置终端可以根据在配置界面内接收到用户输入的配置指令设置访问配置信息,并在完成访问配置信息的配置后将配置信息发送给服务器。或者是,服务器可以随机或者按照预设算法生成访问配置信息,例如,可以随机组合地区和运营商等,得到访问配置信息;等等。
其中,该访问配置信息可以包括区域信息和通讯信息等,该区域信息可以根据实际需要进行灵活设置,例如,该区域信息可以按照省级来划分,可以包括广西省、广东省和四川省等;该区域信息还可以是按照市级来划分,可以包括北京、上海、广州和深圳等。
该通讯信息可以是用于传输直播视频数据的通讯方式,例如,该通讯信息可以包括运营商信息等,该运营商信息可以包括电信、联通、移动和广电等;该通讯信息还可以包括运营商运营的GSM、TD-SCDMA、LTE-TDD、W-CDMA、CDMA)和/或固网等。
在得到流标识和访问配置信息后,服务器可以根据访问配置信息构造与流标识对应的播放地址,由于一个流标识和该流标识对应的访问配置信息,可以构造出一个与该流标识对应的播放地址,因此,多个流标识和多个访问配置信息,可以分别构造出与该多个流标识中每个流标识对应的播放地址,得到播放地址集。
例如,可以根据区域信息和运营商信息构造与流标识对应的播放地址,具体地,可以根据区域信息为深圳,以及运营商信息为移动,构造与流标识对应的播放地址A;可以根据区域信息为广州,以及运营商信息为联通,构造与流标识对应的播放地址B;可以根据区域信息为南宁,以及运营商信息为电信,构造与流标识对应的播放地址C;等等。
204、服务器根据播放地址集中每个播放地址获取回源路径,得到回源路径集。
服务器可以根据播放地址集中每个播放地址获取回源路径,例如,服务器可以先访问与播放地址集中每个播放地址对应的末端节点,该末端节点可以预先存储有二级源地址,此时,由于末端节点存储有二级源地址,因此可以直接从末端节点中获取到二级源地址,可以根据获取到的二级源地址访问二级源。该二级源可以预先存储有一级源地址,此时,由于二级源存储有一级源地址,因此,可以直接从二级源中获取到一级源地址,可以根据获取到的一级源地址访问一级源。然后,可以通过一级源访问流分发服务器,并通过流分发服务器访问接流服务器,从而可以形成回源路径,即可以形成末端节点与接流服务器之间的回源路径。根据播放地址集中每个播放地址可以建立与每个播放地址回源路径,从而可以得到回源路径集。
其中,根据一个播放地址可以获取一个对应的回源路径,多个播放地址可以获取到多个回源路径,因此根据播放地址集中每个播放地址可以建立与每个播放地址对应的回源路径,从而可以得到回源路径集。
例如,可以根据播放地址A获取到回源路径A为 之间的路径;可以根据播放地址B获取到回源路径B为 之间的路径;可以根据播放地址C获取到回源路径C为 之间的路径。
205、服务器从回源路径集的接流节点中获取直播视频数据,得到直播视频数据集,以及将直播视频数据集传输至回源路径集对应的末端节点集。
在根据播放地址集中每个播放地址获取到回源路径,得到回源路径集后,服务器可以从回源路径集中每个回源路径的接流节点中获取直播视频数据,该接流节点可以是接流服务器,即可以从接流服务器获取到直播视频数据。由于根据回源路径集中一个回源路径可以获取到一个直播视频数据,因此,可以从回源路径集中每一个回源路径的接流节点中可以获取与每个回源路径对应的直播视频数据,得到直播视频数据集。
然后,可以将直播视频数据集中每个直播视频数据,分别回源至回源路径集中每个回源路径对应的末端节点,即将直播视频数据集传输至回源路径集对应的末端节点集。
例如,如图4所示,服务器可以先访问与播放地址集中每个播放地址对应的末端节点,然后根据末端节点预存的二级源地址访问二级源,其次,根据二级源预存的一级源地址访问一级源,通过一级源可以获取回源路径。最后根据回源路径可以从直播视频业务源(例如接流服务器)中获取直播视频数据,可以根据回源路径将获取到的直播视频数据依次经过一级源和二级源回源至末端节点,从而实现了回源路径的建立。
需要说明的是,服务器根据播放地址从接流服务器中获取到直播视频数据后,可以将直播视频数据中从第一帧关键帧开始的数据帧依次通过流分发服务器、CDN的一级源及CDN的二级源回源至CDN的末端节点,此时,流分发服务器、CDN的一级源、CDN的二级源回源至及CDN的末端节点的缓存中存储的直播视频数据的第一帧数据帧为关键帧。
206、服务器接收播放终端发送的携带播放地址的直播视频获取请求。
服务器可以接收播放终端发送的直播视频获取请求,该直播视频获取请求中可以携带播放地址,还可以携带其他信息等。
例如,服务器可以接收播放终端A发送的携带播放地址A的直播视频获取请求A;或者是,服务器可以接收播放终端B发送的携带播放地址B的直播视频获取请求B;或者是,服务器可以接收播放终端C发送的携带播放地址A的直播视频获取请求C;等等。
207、服务器从末端节点集中确定与播放地址对应的末端节点,以及从末端节点上获取直播视频数据。
由于服务器已经将直播视频数据回源至回源路径的末端节点,因此,在接收到播放终端发送的直播视频获取请求后,服务器可以从直播视频获取请求中提取出播放地址,以及从末端节点集中确定与播放地址对应的末端节点,并直接从该末端节点上获取直播视频数据,将获取到的直播视频数据发送给播放终端。
例如,服务器可从末端节点1上获取直播视频数据A,可从末端节点2上获取直播视频数据B,可从末端节点3上获取直播视频数据C等。
208、服务器从直播视频数据中查找第一帧关键帧,以及将直播视频数据中从第一帧关键帧开始的数据帧发送给播放终端。
在将直播视频数据发送给播放终端的过程中,服务器可以按照直播视频数据中数据流的顺序,查找直播视频数据中的第一帧关键帧,例如,可以从直播视频数据中的第一帧数据帧开始依次根据关键帧的标识判断各个数据帧是否是关键帧。
当查找到第一帧关键帧时,可以将直播视频数据中从第一帧关键帧开始的数据帧(包括第一帧关键帧)发送给播放终端,而直播视频数据中第一帧关键帧之前的数据帧(不包括第一帧关键帧)不发送给播放终端。播放终端接收到预设帧数的直播视频数据后,可以根据关键帧对接收到的直播视频数据进行播放。
例如,直播视频数据在录制终端上产生后,可以依次经过接流服务器和流分发服务器、CDN的一级源和CDN的二级源到达CDN的末端节点。在将末端节点上的直播视频数据发送给播放终端的过程中,当直播视频数据中第一帧数据帧至第八帧数据帧均是非关键帧,第九帧是关键帧时,服务器不需要将第一帧至第八帧的数据帧发送给播放终端,而是直接从第九帧开始的数据帧发送给播放终端。这样第一帧关键帧前面的数据帧可以不发送给播放终端,播放终端接收到的第一帧数据帧为关键帧,使得播放终端可以快速获取到关键帧,根据关键帧播放直播视频。
本发明实施例中,一方面,服务器可以直接从末端节点中获取到二级源地址,以及可以直接从二级源中获取到一级源地址,从而使得在获取回源路径的过程中,可以省去访问二级源SourceMaster及问一级源SourceMaster的耗时。另一方面,通过访问配置信息构造与直播视频的流标识对应的播放地址,并根据该播放地址将直播视频数据回源至末端节点,从而使得不管是首次还是非首次接收到播放终端发送的直播视频获取请求,均可以直接从末端节点中获取到直播视频数据,而无需一级一级的回源来获取直播视频数据,减少了直播视频的获取耗时。并且,可以将直播视频数据从第一帧关键帧开始的数据帧发送给播放终端,可以提高播放终端对直播视频的播放加载速度,大大减少了播放终端对直播视频数据的加载耗时。
为便于更好的实施本发明实施例提供的直播视频获取方法,本发明实施例还提供一种基于上述直播视频获取方法的装置。其中名词的含义与上述直播视频获取方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图7,图7为本发明实施例提供的直播视频获取装置的结构示意图,其中该直播视频获取装置可以包括标识获取单元301、构造单元302、数据获取单元303及发送单元304等。
其中,标识获取单元301,用于获取多个直播视频对应的流标识。
流标识可以是直播视频的数据流的名称、编号或身份标识(identification,ID)等,该流标识可以由数字、字母和/或文字等组成,也可以根据实际需要进行灵活设置,具体内容在此处不作限定。
流标识的获取方式可以包括:方式一,标识获取单元301可以主动访问存储流标识的直播服务器,并从直播服务器上获取多个直播视频对应的流标识;例如,标识获取单元301可以向直播服务器发送流标识获取请求,并接收直播服务器基于流标识获取请求返回的流标识。方式二,标识获取单元301可以接收直播服务器每隔预设时间主动发送的流标识,该预设时间可以根据实际需要进行灵活设置。可以理解的是,流标识的获取方式还可以是其他获取方式,具体内容在此处不作限定。
需要说明的是,获取多个直播视频对应的流标识,可以是一次仅获取一个直播视频对应的流标识,在经过多次数的获取后,可以获取到多个直播视频对应的流标识;或者是,可以是一次性获取多个直播视频对应的流标识;等等。
在某些实施方式中,标识获取单元301具体可以用于:每隔第三预设时间获取直播列表;从直播列表中提取出直播信息;根据直播信息从直播列表中筛选出多个直播视频对应的流标识。
具体地,标识获取单元301可以主动访问存储流标识的直播服务器,并从直播服务器上获取直播列表;或者是,标识获取单元301可以接收直播服务器主动发送的直播列表等。该直播列表中可以包括多个正在直播的直播视频信息,该直播视频信息可以包括直播视频的名称、编号或ID等,还可以包括直播信息和流标识等,该直播信息可以包括直播内容和状态信息等,该状态信息可以包括正在直播、中场休息和结束直播等。
在得到直播列表后,标识获取单元301可以从直播列表中提取出直播信息,根据直播信息从直播列表中筛选出多个直播视频对应的流标识。例如,可以根据状态信息从直播列表中筛选出正在直播的多个直播视频对应的流标识;或者是,根据直播的内容从直播列表中筛选出直播体育比赛相关的多个直播视频对应的流标识等。
在得到多个直播视频对应的流标识后,标识获取单元301可以构造与流标识对应的播放地址,并根据播放地址打通回源路径,由于在一定时间内不访问这个回源路径时,该回源路径可能会被关闭,因此,标识获取单元301可以每隔第三预设时间获取直播列表,从直播列表中筛选出多个直播视频对应的流标识,并构造与流标识对应的播放地址,根据播放地址可以重新打通回源路径。其中,第三预设时间可以根据实际需要进行灵活设置,具体内容在此处不作限定。
构造单元302,用于获取访问配置信息,并根据访问配置信息构造与流标识对应的播放地址,得到播放地址集。
构造单元302可以获取访问配置信息,该访问配置信息可以包括区域信息和通讯信息等,该区域信息可以包括北京、上海、广州、成都和深圳等,该通讯信息可以包括运营商信息等,例如,电信、联通和移动等。
访问配置信息的获取方式可以包括:方式一,构造单元302可以接收配置终端发送的访问配置信息,该访问配置信息可以是用户在配置终端上预先配置的,在配置完成后可以发送给构造单元302。方式二,构造单元302可以随机或者按照预设算法生成访问配置信息,例如,可以随机组合地区和运营商等,得到访问配置信息。可以理解的是,访问配置信息的获取方式还可以是其他获取方式,具体内容在此处不作限定。
在得到流标识和访问配置信息后,构造单元302可以根据访问配置信息构造与流标识对应的播放地址,由于一个流标识和该流标识对应的访问配置信息,可以构造出一个与该流标识对应的播放地址,因此,多个流标识和多个访问配置信息,可以分别构造出与该多个流标识中每个流标识对应的播放地址,得到播放地址集,其中,该多个流标识中每个流标识与多个访问配置信息中的每个访问配置信息一一对应。
在某些实施方式中,构造单元302具体可以用于:接收配置终端发送的访问配置信息,访问配置信息包括区域信息和通讯信息;根据区域信息和通讯信息构造与流标识对应的播放地址。
具体地,构造单元302可以接收配置终端发送的访问配置信息,其中,该配置终端可以是笔记本电脑或台式电脑等终端,配置终端可以在关于访问配置信息的配置界面内接收用户输入的配置指令,根据配置指令设置访问配置信息,在完成访问配置信息的配置后,配置终端可以将配置信息发送给构造单元302。
其中,访问配置信息可以包括区域信息和通讯信息等,该区域信息可以是按照省级来划分,例如,该区域信息可以包括广西省、广东省和四川省等;该区域信息还可以是按照市级来划分,例如,该区域信息可以包括北京、上海、广州和深圳等;在按照市级划分时,该区域信息还可以是按照直辖市、市级市、地级市或县级市等进行划分。可以理解的是,该区域信息还可以根据实际需要进行灵活设置,具体内容在此处不作限定。
该通讯信息可以是用于传输直播视频数据的通讯方式,例如,该通讯信息可以包括运营商信息等,该运营商信息可以包括电信、联通、移动和广电等;该通讯信息还可以包括运营商运营的GSM、TD-SCDMA、LTE-TDD、W-CDMA、CDMA和/或固网等。
在得到区域信息和通讯信息后,构造单元302可以根据区域信息和通讯信息构造与流标识对应的播放地址,根据播放地址可以访问CDN的末端节点。例如,可以根据区域信息为深圳,以及通讯信息为移动运营商,构造与流标识对应的播放地址,该播放地址可以是移动运营商在深圳的播放地址URL。又例如,可以根据区域信息为广州,以及通讯信息为移动运营商和联通运营商,构造与流标识对应的播放地址。
在得到播放地址后,可以根据播放地址进行CDN预热,其中,CDN预热是指在没有接收到播放终端发送的直播视频获取请求之前,通过后台服务器模拟请求CDN获取直播视频数据,以便提前建立回源路径;当接收到播放终端发送的直播视频获取请求时,由于回源路径已经建立,因此可以快速的获取到直播视频数据,并发送给播放终端加载,以进行播放。例如,可以先获取需要预热的直播视频的流标识,以及获取需要预热的区域信息和运营商信息,然后根据区域信息和运营商信息构造该流标识对应的播放地址,根据播放地址请求CDN获取直播视频数据,从而建立回源路径,以下将进行详细说明。
数据获取单元303,用于根据播放地址集获取直播视频数据集,并将直播视频数据集传输至末端节点集。
在得到播放地址后,数据获取单元303可以根据播放地址获取直播视频数据,当播放地址是一个时,根据一个播放地址可以获取与该播放地址对应的直播视频数据;当播放地址是多个时,根据播放地址集中每个播放地址,可以获取与每个播放地址对应的直播视频数据,得到直播视频数据集。
在得到直播视频数据后,数据获取单元303可以将直播视频数据传输至末端节点,即将直播视频数据回源至末端节点,由于一个直播视频数据可以按照回源路径回源至一个末端节点,因此,可将直播视频数据集中的每一个直播视频数据,分别回源至末端节点集中的每一个末端节点。
需要说明的是,播放地址集中包括播放地址的个数,直播视频数据集中包括直播视频数据的个数,以及末端节点集中包括末端节点的个数可以根据实际需要进行灵活设置,具体内容在此处不作限定。
在某些实施方式中,如图8所示,数据获取单元303可以包括路径获取子单元3031、数据获取子单元3032和回源子单元3033等,具体可以如下:
路径获取子单元3031,用于根据播放地址集中每个播放地址获取回源路径,得到回源路径集;
数据获取子单元3032,用于从回源路径集中每个回源路径的接流节点中获取直播视频数据,得到直播视频数据集;
回源子单元3033,用于将直播视频数据集传输至回源路径集对应的末端节点集。
具体地,路径获取子单元3031可以根据播放地址集中每个播放地址获取回源路径,该回源路径可以是末端节点与接流服务器之间的路径,根据一个播放地址可以获取一个对应的回源路径,多个播放地址可以获取到多个回源路径,从而得到回源路径集。
在某些实施方式中,路径获取子单元3031可以包括第一访问模块、第二访问模块、第三访问模块和获取模块等,具体可以如下:
第一访问模块,用于访问与播放地址集中每个播放地址对应的末端节点;
第二访问模块,用于根据末端节点预存的二级源地址访问二级源;
第三访问模块,用于根据二级源预存的一级源地址访问一级源;
获取模块,用于通过一级源获取回源路径,得到回源路径集。
第一访问模块可以先访问与播放地址集中每个播放地址对应的末端节点,该末端节点可以预先存储有二级源地址,该二级源地址可以是二级源ID地址等。此时,由于末端节点存储有二级源地址,因此第二访问模块可以直接从末端节点中获取到二级源地址,第二访问模块可以根据获取到的二级源地址访问二级源。该二级源可以预先存储有一级源地址,该一级源地址可以是一级源ID地址等。此时,由于二级源存储有一级源地址,因此,第三访问模块可以直接从二级源中获取到一级源地址,可以根据获取到的一级源地址访问一级源。
然后,获取模块可以通过一级源访问流分发服务器,并通过流分发服务器访问接流服务器,从而可以形成回源路径,即可以形成 之间的回源路径。获取模块根据播放地址集中每个播放地址可以建立与每个播放地址对应的回源路径,从而可以得到回源路径集。
由于回源路径的建立过程中,可以直接从末端节点中获取到二级源地址,而不需要访问存储二级源地址的二级源的源主(即二级源SourceMaster);以及,可以直接从二级源中获取到一级源地址,而不需要访问存储一级源地址的一级源的源主(即一级源SourceMaster);因此,不会产生访问二级源SourceMaster及访问一级源SourceMaster的耗时,加快了回源路径的建立速度。
在某些实施方式中,路径获取子单元3031还可以包括第一存储模块和第一更新模块等,具体可以如下:
第一存储模块,用于控制二级源的源主每间隔第一预设时间向末端节点发送二级源地址,并控制末端节点存储二级源地址;或者,
第一更新模块,用于当检测到二级源地址存在更新时,控制二级源的源主向目标末端节点发送更新后的二级源地址,并控制末端节点基于更新后的二级源地址更新所存储的二级源地址。
具体地,在访问二级源之前,第一存储模块可以控制二级源SourceMaster,每隔第一预设时间将二级源地址发送给末端节点,例如,二级源SourceMaster可以通过信令流的方式将二级源地址发送给末端节点,然后第一存储模块控制末端节点存储接收到的二级源地址。或者是,第一存储模块可以控制末端节点每隔第一预设时间主动向二级源SourceMaster获取二级源地址,并将获取到的二级源地址进行存储。其中,第一预设时间可以根据实际需要进行灵活设置,具体内容在此处不作限定。从而可以实现异步访问二级源SourceMaster,使得末端节点可以提前存储二级源地址,在建立回源路径的过程中可以省去访问二级源SourceMaster所要消耗的时间。
由于二级源地址可能会存在更新,因此,第一更新模块可以实时或间隔预设时间检测二级源地址是否存在更新,当检测到二级源地址存在更新时,第一更新模块可以控制二级源的源主向目标末端节点发送更新后的二级源地址,在末端节点接收到更新后的二级源地址时,第一更新模块可以控制末端节点基于更新后的二级源地址更新所存储的二级源地址。
在某些实施方式中,路径获取子单元3031还可以包括第二存储模块和第二更新模块等,具体可以如下:
第二存储模块,用于控制一级源的源主每间隔第二预设时间向二级源发送一级源地址,并控制二级源存储一级源地址;或者,
第二更新模块,用于当检测到一级源地址存在更新时,控制一级源的源主向二级源发送更新后的一级源地址,并控制二级源基于更新后的一级源地址更新所存储的一级源地址。
具体地,在访问一级源之前,第二存储模块可以控制一级源SourceMaster,每隔第二预设时间将一级源地址发送给二级源,例如,一级源SourceMaster可以通过信令流的方式将一级源地址发送给二级源,然后第二存储模块控制二级源存储接收到的一级源地址。或者是,第二存储模块可以控制二级源每隔第二预设时间主动向一级源SourceMaster获取一级源地址,并将获取到的一级源地址进行存储。其中,第二预设时间可以根据实际需要进行灵活设置,具体内容在此处不作限定。从而可以实现异步访问一级源SourceMaster,使得二级源可以提前存储一级源地址,在建立回源路径的过程中可以省去访问一级源SourceMaster所要消耗的时间。
由于一级源地址可能会存在更新,因此,第二更新模块可以实时或间隔预设时间检测一级源地址是否存在更新,当检测到一级源地址存在更新时,第二更新模块可以控制一级源的源主向目标二级源发送更新后的一级源地址,在二级源接收到更新后的一级源地址时,第二更新模块可以控制二级源基于更新后的一级源地址更新所存储的一级源地址。
在根据播放地址集中每个播放地址获取到回源路径,得到回源路径集后,数据获取子单元3032可以从回源路径集中每个回源路径的接流节点中获取直播视频数据,该接流节点可以是接流服务器,即可以从接流服务器获取到直播视频数据。由于根据回源路径集中一个回源路径可以获取到一个直播视频数据,因此,数据获取子单元3032可以从回源路径集中每一个回源路径的接流节点中可以获取与每个回源路径对应的直播视频数据,得到直播视频数据集。然后回源子单元3033可以将直播视频数据集中每个直播视频数据,分别回源至回源路径集中每个回源路径对应的末端节点,即将直播视频数据集传输至回源路径集对应的末端节点集。
例如,如图4所示,一级源SourceMaster可以通过信令流的方式,异步将一级源地址发送给二级源,以使得二级源可以预先存储一级源地址;以及,二级源SourceMaster也可以通过信令流的方式,异步将二级源地址发送给末端节点,以使得末端节点可以预先存储二级源地址。在进行CDN预热时,根据播放地址集中每个播放地址建立回源路径的过程中,可以首先访问与播放地址集中每个播放地址对应的末端节点,然后根据末端节点预存的二级源地址访问二级源,其次,根据二级源预存的一级源地址访问一级源,通过一级源可以建立回源路径。最后根据回源路径可以从直播视频业务源(例如接流服务器)中获取直播视频数据,可以根据回源路径将获取到的直播视频数据依次经过一级源和二级源回源至末端节点,从而实现了提前建立回源路径,完成了CDN预热。后续可以直接将末端节点上的直播视频数据发送给需要的各个播放终端,例如,播放终端A、播放终端B和播放终端C等。
发送单元304,用于当接收到播放终端发送的携带播放地址的直播视频获取请求时,将末端节点集中与播放地址对应的末端节点上的直播视频数据,发送给播放终端。
直播视频获取装置可以接收播放终端发送的直播视频获取请求,该直播视频获取请求中可以携带播放地址,还可以携带其他信息等。由于已经完成CDN预热,因此,在接收到播放终端发送的直播视频获取请求后,发送单元304可以从直播视频获取请求中提取出播放地址,以及从末端节点集中确定与播放地址对应的末端节点,并直接从该末端节点上获取直播视频数据,将获取到的直播视频数据发送给播放终端。
此时,由于CDN预热后,已经建立回源路径,回源路径的末端节点已经存在直播视频数据,因此,不管是首次接收到播放终端发送的直播视频获取请求,还是非首次接收到播放终端发送的直播视频获取请求,发送单元304都不需要一级一级的回源,大大节省了获取直播视频所消耗的时间,从而减少了播放终端加载直播视频数据的耗时。
在某些实施方式中,发送单元304具体可以用于:从末端节点集中确定与播放地址对应的末端节点,并从末端节点上获取直播视频数据;从直播视频数据中查找第一帧关键帧;将直播视频数据中从第一帧关键帧开始的数据帧发送给播放终端。
具体地,发送单元304在将直播视频数据发送给播放终端的过程中,由于回源路径的末端节点已经存在直播视频数据,因此,发送单元304可以从末端节点集中确定与播放地址对应的末端节点,并从末端节点上获取直播视频数据。然后,发送单元304可以按照直播视频数据中数据流的顺序,依次查找直播视频数据中的数据帧,从第一帧数据帧开始依次判断各个数据帧是否是关键帧(也可以称为I帧),例如,可以根据关键帧的标识判断各个数据帧是否是关键帧。当查找到第一帧关键帧时,可以将直播视频数据中从第一帧关键帧开始的数据帧(包括第一帧关键帧)发送给播放终端,而直播视频数据中第一帧关键帧之前的数据帧(不包括第一帧关键帧)不发送给播放终端。播放终端接收到预设帧数的直播视频数据后,可以根据接收到的直播视频数据开始播放直播视频。
例如,如图5所示,直播视频数据中可以包括关键帧(即I帧)和前向预测帧(也可以称为P帧)等,当然,还可以包括双向预测内插编码帧(也可以称为B帧)等,以下将与直播视频数据中可以包括I帧和P帧为例,直播视频数据在录制终端上产生后,可以依次经过接流服务器和流分发服务器,到达直关于播视频数据的内容分发网络CDN。在CDN内可以依次经过一级源和二级源到达CDN的末端节点,在将末端节点上的直播视频数据发送给播放终端的过程中,发送单元304可以将直播视频数据中从第一帧关键帧开始的数据帧发送给播放终端,以使得播放终端接收到的第一帧数据帧为关键帧。例如,当直播视频数据中第一帧数据帧至第五帧数据帧均是P帧,第六帧是I帧时,直播视频获取装置不需要将第一帧至第五帧的数据帧发送给播放终端,而是直接从第六帧开始的数据帧发送给播放终端。这样第一帧关键帧前面的数据帧可以不发送给播放终端,使得播放终端可以快速获取到关键帧,根据关键帧播放直播视频,提高了直播视频的播放速度。
需要说明的是,接流服务器、流分发服务器和CDN等都可以设置有用于存储直播视频数据的缓存,直播视频获取装置根据播放地址获取直播视频数据的过程中,可以访问与播放地址对应的CDN的末端节点,根据末端节点预存的二级源地址访问CDN的二级源,然后根据二级源预存的一级源地址访问CDN的一级源,以及通过一级源依次访问流分发服务器和接流服务器,此时可以从接流服务器的缓存中获取直播视频数据。
在得到直播视频数据后,发送单元304可以将直播视频数据中从第一帧关键帧开始的数据帧依次通过流分发服务器、CDN的一级源及CDN的二级源回源至CDN的末端节点,此时,流分发服务器、CDN的一级源、CDN的二级源回源至及CDN的末端节点的缓存中存储的直播视频数据的第一帧数据帧为关键帧。在将直播视频数据发送给播放终端时,可以快速查找到第一帧关键帧,从第一帧关键帧开始的数据帧发送给播放终端,从而大大减少了直播视频数据的获取耗时。
相对于现有技术中,将得到的每一帧直播视频数据回退给播放终端,当接收到的数据帧不是关键帧时,播放终端会丢弃该帧(即不播放该帧数据),相当于下载到无效数据,直至接收到第一个关键帧为止,播放器需要缓存足够的帧数后才开始播放。而本发明实施例中可以将直播视频数据从第一帧关键帧开始的数据帧发送给播放终端,使得播放终端下载的直播视频数据不是按正常流速,且不存在下载到无效数据的情况,可以提高对直播视频的播放加载速度。
由上可知,本发明实施例可以由标识获取单元301获取多个直播视频对应的流标识,以及由构造单元302获取访问配置信息,并根据访问配置信息构造与流标识对应的播放地址,得到播放地址集;然后数据获取单元303可以根据播放地址集获取直播视频数据集,并将直播视频数据集传输至末端节点集;当接收到播放终端发送的携带播放地址的直播视频获取请求时,发送单元304将末端节点集中与播放地址对应的末端节点上的直播视频数据,发送给播放终端。该方案中,通过访问配置信息构造与直播视频的流标识对应的播放地址集,并根据该播放地址集将直播视频数据集传输至末端节点集,从而使得不管是首次还是非首次接收到播放终端发送的直播视频获取请求,即不管是对直播视频的首次访问还是非首次访问,均可以直接从末端节点中获取到直播视频数据,而无需一级一级的回源来获取直播视频数据,减少了直播视频的获取耗时。
本发明实施例还提供一种服务器,如图9所示,其示出了本发明实施例所涉及的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图9中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
服务器还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
获取多个直播视频对应的流标识;获取访问配置信息,并根据访问配置信息构造与流标识对应的播放地址,得到播放地址集;根据播放地址集获取直播视频数据集,并将直播视频数据集传输至末端节点集;当接收到播放终端发送的携带播放地址的直播视频获取请求时,将末端节点集中与播放地址对应的末端节点上的直播视频数据,发送给播放终端。
可选地,将末端节点集中与播放地址对应的末端节点上的直播视频数据,发送给播放终端的步骤可以包括:从末端节点集中确定与播放地址对应的末端节点,并从末端节点上获取直播视频数据;从直播视频数据中查找第一帧关键帧;将直播视频数据中从第一帧关键帧开始的数据帧发送给播放终端。
由上可知,本发明实施例通过访问配置信息构造与直播视频的流标识对应的播放地址集,并根据该播放地址集将直播视频数据集传输至末端节点集,从而使得不管是首次还是非首次接收到播放终端发送的直播视频获取请求,即不管是对直播视频的首次访问还是非首次访问,均可以直接从末端节点中获取到直播视频数据,而无需一级一级的回源来获取直播视频数据,减少了直播视频的获取耗时。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对媒体文件获取方法的详细描述,此处不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种直播视频获取方法中的步骤。例如,该指令可以执行如下步骤:
获取多个直播视频对应的流标识;获取访问配置信息,并根据访问配置信息构造与流标识对应的播放地址,得到播放地址集;根据播放地址集获取直播视频数据集,并将直播视频数据集传输至末端节点集;当接收到播放终端发送的携带播放地址的直播视频获取请求时,将末端节点集中与播放地址对应的末端节点上的直播视频数据,发送给播放终端。
可选地,将末端节点集中与播放地址对应的末端节点上的直播视频数据,发送给播放终端的步骤可以包括:从末端节点集中确定与播放地址对应的末端节点,并从末端节点上获取直播视频数据;从直播视频数据中查找第一帧关键帧;将直播视频数据中从第一帧关键帧开始的数据帧发送给播放终端。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种直播视频获取方法中的步骤,因此,可以实现本发明实施例所提供的任一种直播视频获取方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种直播视频获取方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (15)
1.一种直播视频获取方法,其特征在于,包括:
获取多个直播视频对应的流标识;
获取访问配置信息,并根据所述访问配置信息构造与所述流标识对应的播放地址,得到播放地址集;
根据所述播放地址集获取直播视频数据集,并将所述直播视频数据集传输至末端节点集;
当接收到播放终端发送的携带播放地址的直播视频获取请求时,将所述末端节点集中与所述播放地址对应的末端节点上的直播视频数据,发送给所述播放终端。
2.根据权利要求1所述的直播视频获取方法,其特征在于,所述将所述末端节点集中与所述播放地址对应的末端节点上的直播视频数据,发送给所述播放终端的步骤包括:
从末端节点集中确定与所述播放地址对应的末端节点,并从所述末端节点上获取直播视频数据;
从所述直播视频数据中查找第一帧关键帧;
将所述直播视频数据中从所述第一帧关键帧开始的数据帧发送给所述播放终端。
3.根据权利要求1所述的直播视频获取方法,其特征在于,所述根据所述播放地址集获取直播视频数据集,并将所述直播视频数据集传输至末端节点集的步骤包括:
根据所述播放地址集中每个播放地址获取回源路径,得到回源路径集;
从所述回源路径集中每个回源路径的接流节点中获取直播视频数据,得到直播视频数据集;
将所述直播视频数据集传输至所述回源路径集对应的末端节点集。
4.根据权利要求3所述的直播视频获取方法,其特征在于,所述根据所述播放地址集中每个播放地址获取回源路径,得到回源路径集的步骤包括:
访问与所述播放地址集中每个播放地址对应的末端节点;
根据所述末端节点预存的二级源地址访问二级源;
根据所述二级源预存的一级源地址访问一级源;
通过所述一级源获取回源路径,得到回源路径集。
5.根据权利要求4所述的直播视频获取方法,其特征在于,所述根据所述末端节点预存的二级源地址访问二级源的步骤之前,所述方法还包括:
控制二级源的源主每间隔第一预设时间向所述末端节点发送二级源地址,并控制所述末端节点存储所述二级源地址;或者,
当检测到二级源地址存在更新时,控制二级源的源主向所述目标末端节点发送更新后的二级源地址,并控制所述末端节点基于更新后的二级源地址更新所存储的二级源地址。
6.根据权利要求4所述的直播视频获取方法,其特征在于,所述根据所述二级源预存的一级源地址访问一级源的步骤之前,所述方法还包括:
控制一级源的源主每间隔第二预设时间向所述二级源发送一级源地址,并控制所述二级源存储所述一级源地址;或者,
当检测到一级源地址存在更新时,控制一级源的源主向所述二级源发送更新后的一级源地址,并控制所述二级源基于更新后的一级源地址更新所存储的一级源地址。
7.根据权利要求1至6任一项所述的直播视频获取方法,其特征在于,所述获取访问配置信息,并根据所述访问配置信息构造与所述流标识对应的播放地址,得到播放地址集的步骤包括:
接收配置终端发送的访问配置信息,所述访问配置信息包括区域信息和通讯信息;
根据所述区域信息和通讯信息构造与所述流标识对应的播放地址。
8.根据权利要求1至6任一项所述的直播视频获取方法,其特征在于,所述获取多个直播视频对应的流标识的步骤包括:
每隔第三预设时间获取直播列表;
从所述直播列表中提取出直播信息;
根据所述直播信息从所述直播列表中筛选出多个直播视频对应的流标识。
9.一种直播视频获取装置,其特征在于,包括:
标识获取单元,用于获取多个直播视频对应的流标识;
构造单元,用于获取访问配置信息,并根据所述访问配置信息构造与所述流标识对应的播放地址,得到播放地址集;
数据获取单元,用于根据所述播放地址集获取直播视频数据集,并将所述直播视频数据集传输至末端节点集;
发送单元,用于当接收到播放终端发送的携带播放地址的直播视频获取请求时,将所述末端节点集中与所述播放地址对应的末端节点上的直播视频数据,发送给所述播放终端。
10.根据权利要求9所述的直播视频获取装置,其特征在于,所述发送单元具体用于:
从末端节点集中确定与所述播放地址对应的末端节点,并从所述末端节点上获取直播视频数据;
从所述直播视频数据中查找第一帧关键帧;
将所述直播视频数据中从所述第一帧关键帧开始的数据帧发送给所述播放终端。
11.根据权利要求9所述的直播视频获取装置,其特征在于,所述数据获取单元包括:
路径获取子单元,用于根据所述播放地址集中每个播放地址获取回源路径,得到回源路径集;
数据获取子单元,用于从所述回源路径集中每个回源路径的接流节点中获取直播视频数据,得到直播视频数据集;
回源子单元,用于将所述直播视频数据集传输至所述回源路径集对应的末端节点集。
12.根据权利要求11所述的直播视频获取装置,其特征在于,所述路径获取子单元包括:
第一访问模块,用于访问与所述播放地址集中每个播放地址对应的末端节点;
第二访问模块,用于根据所述末端节点预存的二级源地址访问二级源;
第三访问模块,用于根据所述二级源预存的一级源地址访问一级源;
获取模块,用于通过所述一级源获取回源路径,得到回源路径集。
13.根据权利要求12所述的直播视频获取装置,其特征在于,所述路径获取子单元还包括:
第一存储模块,用于控制二级源的源主每间隔第一预设时间向所述末端节点发送二级源地址,并控制所述末端节点存储所述二级源地址;或者,
第一更新模块,用于当检测到二级源地址存在更新时,控制二级源的源主向所述目标末端节点发送更新后的二级源地址,并控制所述末端节点基于更新后的二级源地址更新所存储的二级源地址。
14.根据权利要求9至13任一项所述的直播视频获取装置,其特征在于,所述标识获取单元具体用于:
每隔第三预设时间获取直播列表;
从所述直播列表中提取出直播信息;
根据所述直播信息从所述直播列表中筛选出多个直播视频对应的流标识。
15.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至8任一项所述的直播视频获取方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810267286.8A CN108540816B (zh) | 2018-03-28 | 2018-03-28 | 一种直播视频获取方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810267286.8A CN108540816B (zh) | 2018-03-28 | 2018-03-28 | 一种直播视频获取方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108540816A true CN108540816A (zh) | 2018-09-14 |
CN108540816B CN108540816B (zh) | 2020-03-17 |
Family
ID=63481552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810267286.8A Active CN108540816B (zh) | 2018-03-28 | 2018-03-28 | 一种直播视频获取方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108540816B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109862376A (zh) * | 2019-02-28 | 2019-06-07 | 广州华多网络科技有限公司 | 直播内容投放系统、方法、装置、列表服务器及存储介质 |
CN110769275A (zh) * | 2019-10-09 | 2020-02-07 | 北京达佳互联信息技术有限公司 | 直播数据流的处理方法、装置及系统 |
CN110784771A (zh) * | 2019-10-30 | 2020-02-11 | 维沃移动通信有限公司 | 一种视频分享方法及电子设备 |
CN111629255A (zh) * | 2020-05-20 | 2020-09-04 | 广州视源电子科技股份有限公司 | 音视频录制方法、装置、计算机设备及存储介质 |
CN111625743A (zh) * | 2020-05-21 | 2020-09-04 | 广州华多网络科技有限公司 | 资源加载方法、装置及电子设备 |
CN112218175A (zh) * | 2020-12-09 | 2021-01-12 | 深圳市房多多网络科技有限公司 | 直播间状态的处理方法、装置及计算设备 |
CN112235598A (zh) * | 2020-09-27 | 2021-01-15 | 深圳云天励飞技术股份有限公司 | 一种视频结构化处理方法、装置及终端设备 |
CN114245182A (zh) * | 2021-12-16 | 2022-03-25 | 上海哔哩哔哩科技有限公司 | 直播视频流获取方法及装置 |
CN114339268A (zh) * | 2020-10-10 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 一种直播数据处理方法、装置和计算机可读存储介质 |
CN114374644A (zh) * | 2021-12-22 | 2022-04-19 | 烟台东方瑞创达电子科技有限公司 | 基于基础设施逻辑架构的工业互联网标识解析方法及系统 |
CN114760487A (zh) * | 2022-03-18 | 2022-07-15 | 阿里巴巴(中国)有限公司 | 直播方法和装置 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101267379A (zh) * | 2007-03-14 | 2008-09-17 | 中国电信股份有限公司 | 基于p2p和cdn的统一内容承载和调度系统 |
CN102282825A (zh) * | 2010-12-14 | 2011-12-14 | 华为技术有限公司 | 内容传送网络中流媒体请求地址映射的方法及装置、缓存节点 |
CN102761773A (zh) * | 2012-07-03 | 2012-10-31 | Ut斯达康通讯有限公司 | 一种利用i帧改善iptv业务的用户体验的方法 |
CN102917042A (zh) * | 2012-10-12 | 2013-02-06 | 中兴通讯股份有限公司 | 一种实现基于cdn和网络融合的互联网业务的方法及装置 |
CN103533444A (zh) * | 2013-10-25 | 2014-01-22 | 乐视网信息技术(北京)股份有限公司 | 一种支持时移播放的方法及装置 |
CN103796046A (zh) * | 2013-12-24 | 2014-05-14 | Tcl集团股份有限公司 | 一种视频源地址检测方法及装置 |
CN103825975A (zh) * | 2014-02-26 | 2014-05-28 | 北京太阳庄科技有限公司 | Cdn节点分配服务器及系统 |
US20140149548A1 (en) * | 2011-05-12 | 2014-05-29 | Telefonica, S.A. | Method for content delivery in a content distribution network |
CN104284202A (zh) * | 2014-10-14 | 2015-01-14 | 无锡云捷科技有限公司 | 一种采用优化式结构的cdn透明传输方法 |
CN104427353A (zh) * | 2013-09-05 | 2015-03-18 | 北京大学 | 视频传输方法及设备 |
CN105187847A (zh) * | 2015-09-09 | 2015-12-23 | 深圳创维数字技术有限公司 | 一种分布式网络电视直播方法、装置、视频网关及系统 |
CN105516739A (zh) * | 2015-12-22 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 一种视频直播方法、转码服务器、网页客户端及系统 |
CN105898352A (zh) * | 2015-11-13 | 2016-08-24 | 乐视云计算有限公司 | 基于m3u8的流媒体文件直播方法及系统 |
CN106534883A (zh) * | 2015-09-11 | 2017-03-22 | 中兴通讯股份有限公司 | 一种视频控制方法及装置 |
US20180020051A1 (en) * | 2011-03-16 | 2018-01-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for federated over-the-top content delivery |
CN107734350A (zh) * | 2017-09-25 | 2018-02-23 | 上海幻电信息科技有限公司 | 直播系统及直播方法 |
-
2018
- 2018-03-28 CN CN201810267286.8A patent/CN108540816B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101267379A (zh) * | 2007-03-14 | 2008-09-17 | 中国电信股份有限公司 | 基于p2p和cdn的统一内容承载和调度系统 |
CN102282825A (zh) * | 2010-12-14 | 2011-12-14 | 华为技术有限公司 | 内容传送网络中流媒体请求地址映射的方法及装置、缓存节点 |
US20180020051A1 (en) * | 2011-03-16 | 2018-01-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for federated over-the-top content delivery |
US20140149548A1 (en) * | 2011-05-12 | 2014-05-29 | Telefonica, S.A. | Method for content delivery in a content distribution network |
CN102761773A (zh) * | 2012-07-03 | 2012-10-31 | Ut斯达康通讯有限公司 | 一种利用i帧改善iptv业务的用户体验的方法 |
CN102917042A (zh) * | 2012-10-12 | 2013-02-06 | 中兴通讯股份有限公司 | 一种实现基于cdn和网络融合的互联网业务的方法及装置 |
CN104427353A (zh) * | 2013-09-05 | 2015-03-18 | 北京大学 | 视频传输方法及设备 |
CN103533444A (zh) * | 2013-10-25 | 2014-01-22 | 乐视网信息技术(北京)股份有限公司 | 一种支持时移播放的方法及装置 |
CN103796046A (zh) * | 2013-12-24 | 2014-05-14 | Tcl集团股份有限公司 | 一种视频源地址检测方法及装置 |
CN103825975A (zh) * | 2014-02-26 | 2014-05-28 | 北京太阳庄科技有限公司 | Cdn节点分配服务器及系统 |
CN104284202A (zh) * | 2014-10-14 | 2015-01-14 | 无锡云捷科技有限公司 | 一种采用优化式结构的cdn透明传输方法 |
CN105187847A (zh) * | 2015-09-09 | 2015-12-23 | 深圳创维数字技术有限公司 | 一种分布式网络电视直播方法、装置、视频网关及系统 |
CN106534883A (zh) * | 2015-09-11 | 2017-03-22 | 中兴通讯股份有限公司 | 一种视频控制方法及装置 |
CN105898352A (zh) * | 2015-11-13 | 2016-08-24 | 乐视云计算有限公司 | 基于m3u8的流媒体文件直播方法及系统 |
CN105516739A (zh) * | 2015-12-22 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 一种视频直播方法、转码服务器、网页客户端及系统 |
CN107734350A (zh) * | 2017-09-25 | 2018-02-23 | 上海幻电信息科技有限公司 | 直播系统及直播方法 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109862376B (zh) * | 2019-02-28 | 2021-06-01 | 广州方硅信息技术有限公司 | 直播内容投放系统、方法、装置、列表服务器及存储介质 |
CN109862376A (zh) * | 2019-02-28 | 2019-06-07 | 广州华多网络科技有限公司 | 直播内容投放系统、方法、装置、列表服务器及存储介质 |
CN110769275A (zh) * | 2019-10-09 | 2020-02-07 | 北京达佳互联信息技术有限公司 | 直播数据流的处理方法、装置及系统 |
CN110769275B (zh) * | 2019-10-09 | 2022-04-08 | 北京达佳互联信息技术有限公司 | 直播数据流的处理方法、装置及系统 |
CN110784771A (zh) * | 2019-10-30 | 2020-02-11 | 维沃移动通信有限公司 | 一种视频分享方法及电子设备 |
CN111629255A (zh) * | 2020-05-20 | 2020-09-04 | 广州视源电子科技股份有限公司 | 音视频录制方法、装置、计算机设备及存储介质 |
CN111625743A (zh) * | 2020-05-21 | 2020-09-04 | 广州华多网络科技有限公司 | 资源加载方法、装置及电子设备 |
CN112235598B (zh) * | 2020-09-27 | 2022-09-20 | 深圳云天励飞技术股份有限公司 | 一种视频结构化处理方法、装置及终端设备 |
CN112235598A (zh) * | 2020-09-27 | 2021-01-15 | 深圳云天励飞技术股份有限公司 | 一种视频结构化处理方法、装置及终端设备 |
CN114339268A (zh) * | 2020-10-10 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 一种直播数据处理方法、装置和计算机可读存储介质 |
CN114339268B (zh) * | 2020-10-10 | 2023-08-29 | 腾讯科技(深圳)有限公司 | 一种直播数据处理方法、装置和计算机可读存储介质 |
CN112218175A (zh) * | 2020-12-09 | 2021-01-12 | 深圳市房多多网络科技有限公司 | 直播间状态的处理方法、装置及计算设备 |
CN114245182A (zh) * | 2021-12-16 | 2022-03-25 | 上海哔哩哔哩科技有限公司 | 直播视频流获取方法及装置 |
CN114245182B (zh) * | 2021-12-16 | 2023-11-21 | 上海哔哩哔哩科技有限公司 | 直播视频流获取方法及装置 |
CN114374644A (zh) * | 2021-12-22 | 2022-04-19 | 烟台东方瑞创达电子科技有限公司 | 基于基础设施逻辑架构的工业互联网标识解析方法及系统 |
CN114374644B (zh) * | 2021-12-22 | 2023-09-19 | 烟台东方瑞创达电子科技有限公司 | 基于基础设施逻辑架构的工业互联网标识解析方法及系统 |
CN114760487A (zh) * | 2022-03-18 | 2022-07-15 | 阿里巴巴(中国)有限公司 | 直播方法和装置 |
CN114760487B (zh) * | 2022-03-18 | 2024-07-23 | 阿里巴巴(中国)有限公司 | 直播方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108540816B (zh) | 2020-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108540816B (zh) | 一种直播视频获取方法、装置及存储介质 | |
CN108737405B (zh) | 一种对直播视频流进行导流的方法、ccl服务器和系统 | |
US9774642B2 (en) | Method and device for pushing multimedia resource and display terminal | |
CN110933517B (zh) | 码率切换方法、客户端和计算机可读存储介质 | |
WO2016061898A1 (zh) | 直播间的频道访问方法和系统 | |
CN108494812B (zh) | 一种支持区块链业务的ndn网络通信方法 | |
CN107483976A (zh) | 直播管控方法、装置及电子设备 | |
CN102904873B (zh) | 混合多媒体呈现的方法和设备 | |
CN106488273A (zh) | 一种传输直播视频的方法和装置 | |
CN105872002A (zh) | 视频节目获取方法、设备及系统 | |
CN111200622B (zh) | 一种资源传输方法及装置、存储介质 | |
CN102036058A (zh) | 视频监控系统中视频切换的方法、服务器、终端及系统 | |
CN109525627B (zh) | 数据传输方法、装置、存储介质及电子装置 | |
WO2022156586A1 (zh) | 网络接入方法及装置 | |
CN106488294A (zh) | 弹幕信息传输、显示方法及装置 | |
CN110139123A (zh) | 流媒体文件的播放、发送、处理方法和装置 | |
CN113741762A (zh) | 一种多媒体播放方法、装置、电子设备和存储介质 | |
US20140282788A1 (en) | System for controlling video distribution in response to a request on reduced video data traffic and a method therefor | |
US7920581B2 (en) | Tree-type broadcast system, method of participating and withdrawing tree-type broadcast system, node device, and node process program | |
CN106658042B (zh) | 一种数据推送方法及相关客户端、服务器 | |
EP4096328A1 (en) | Network function registration method and apparatus, network function discovery method and apparatus, and device and medium | |
CN107959704A (zh) | 一种数据处理方法及家庭网关 | |
KR101904195B1 (ko) | 계층형 비디오의 캐싱 및 전달을 위한 시스템 및 방법 | |
CN112733051A (zh) | 一种基于WebSocket的信息推送管理系统及其方法 | |
EP3355551B1 (en) | Data access method and device |
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 |