CN109787983A - 直播流切片方法、装置和*** - Google Patents
直播流切片方法、装置和*** Download PDFInfo
- Publication number
- CN109787983A CN109787983A CN201910068514.3A CN201910068514A CN109787983A CN 109787983 A CN109787983 A CN 109787983A CN 201910068514 A CN201910068514 A CN 201910068514A CN 109787983 A CN109787983 A CN 109787983A
- Authority
- CN
- China
- Prior art keywords
- server
- live stream
- live
- requested
- index file
- 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 40
- 238000013507 mapping Methods 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 230000006854 communication Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 239000012634 fragment Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000005291 magnetic effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012552 review Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000644 propagated 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/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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/765—Media network packet handling intermediate
-
- 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/232—Content retrieval operation locally within server, e.g. reading video streams from 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/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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- 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/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2353—Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
-
- 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/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23605—Creation or processing of packetized elementary streams [PES]
-
- 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/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
-
- 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/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26258—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
-
- 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/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Library & Information Science (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请实施例公开了直播流切片方法、装置和***。该方法的一具体实施方式包括:从直播源站服务器获取直播流;对直播流进行切片,生成直播流的索引文件和分片文件;将直播流的索引文件和分片文件发送给对象存储服务器,以使对象存储服务器对直播流的索引文件和分片文件进行存储。该实施方式通过HLS源站服务器对直播流进行切片,并通过对象存储服务器对得到的索引文件和分片文件进行存储,有助于降低直播时延,极大地提升了直播服务的可用性。
Description
技术领域
本申请实施例涉及计算机技术领域,具体涉及直播流切片方法、装置和***。
背景技术
HLS(HTTP Live Streaming,超文本直播流)协议是基于HTTP(HyperTextTransfer Protocol,超文本传输协议)的流媒体传输协议,被广泛应用于互联网视频直播领域,是目前主流的互联网直播协议之一。
相对于其他常见的互联网直播协议,HLS协议最大的不同在于,HLS协议在服务器将直播流切片为连续的、很短时长的TS(Transport Stream)文件,而直播观看用户则不断地下载并播放这些TS文件。因为服务器总是会将最新的直播流生成新的TS文件,这样直播观看用户只要不停地按顺序播放从服务器获取到的TS文件,就实现了直播。
目前,HLS协议由CDN(Content Delivery Network,内容分发网络)边缘节点到直播源站服务器拉流,并在本地将直播流转化生成M3U8文件和TS文件,我们称之为HLS边缘切片。HLS边缘切片具体流程如下:直播观看用户向CDN边缘节点发起直播请求,CDN边缘节点的负载均衡服务器根据负载均衡策略将直播请求转发到CDN边缘节点的后端流媒体服务器。后端流媒体服务器首先查询本地是否存储有所请求的直播流的M3U8文件和TS文件,如果没有则向其上级CDN节点发起回源请求,如果上级CDN节点没有存储所请求的直播流则继续向上回源,直到直播源站服务器。后端流媒体服务器从直播源站服务器拉流,本地封装成M3U8文件和TS文件,并发送给直播观看用户,以使直播观看用户观看直播。
发明内容
本申请实施例提出了直播流切片方法、装置和***。
第一方面,本申请实施例提供了一种直播流切片方法,应用于超文本直播流HLS源站服务器,包括:从直播源站服务器获取直播流;对直播流进行切片,生成直播流的索引文件和分片文件;将直播流的索引文件和分片文件发送给对象存储服务器,以使对象存储服务器对直播流的索引文件和分片文件进行存储。
在一些实施例中,该方法还包括:接收内容分发网络CDN边缘节点服务器发送的直播请求,其中,直播请求是直播观看用户的终端设备发送给CDN边缘节点服务器的;确定对象存储服务器中是否存储所请求的直播流的索引文件;若对象存储服务器中存储所请求的直播流的索引文件,从对象存储服务器中获取所请求的直播流的索引文件;将所请求的直播流的索引文件发送给CDN边缘节点服务器,以使CDN边缘节点服务器将所请求的直播流的索引文件发送给终端设备。
在一些实施例中,从直播源站服务器获取直播流,包括:若对象存储服务器中未存储所请求的直播流的索引文件,从直播源站服务器获取所请求的直播流。
在一些实施例中,该方法还包括:获取所请求的直播流的分片文件;将所请求的直播流的分片文件发送给CDN边缘节点服务器,以使CDN边缘节点服务器将所请求的直播流的分片文件发送给终端设备。
第二方面,本申请实施例提供了一种直播流切片装置,设置于超文本直播流HLS源站服务器,包括:第一获取单元,被配置成从直播源站服务器获取直播流;切片单元,被配置成对直播流进行切片,生成直播流的索引文件和分片文件;第一发送单元,被配置成将直播流的索引文件和分片文件发送给对象存储服务器,以使对象存储服务器对直播流的索引文件和分片文件进行存储。
在一些实施例中,该装置还包括:接收单元,被配置成接收内容分发网络CDN边缘节点服务器发送的直播请求,其中,直播请求是直播观看用户的终端设备发送给CDN边缘节点服务器的;确定单元,被配置成确定对象存储服务器中是否存储所请求的直播流的索引文件;第二获取单元,被配置成若对象存储服务器中存储所请求的直播流的索引文件,从对象存储服务器中获取所请求的直播流的索引文件;第二发送单元,被配置成将所请求的直播流的索引文件发送给CDN边缘节点服务器,以使CDN边缘节点服务器将所请求的直播流的索引文件发送给终端设备。
在一些实施例中,第一获取单元进一步被配置成:若对象存储服务器中未存储所请求的直播流的索引文件,从直播源站服务器获取所请求的直播流。
在一些实施例中,该装置还包括:第三获取单元,被配置成获取所请求的直播流的分片文件;第三发送单元,被配置成将所请求的直播流的分片文件发送给CDN边缘节点服务器,以使CDN边缘节点服务器将所请求的直播流的分片文件发送给终端设备。
第三方面,本申请实施例提供了一种直播流切片***,包括:直播源站服务器、超文本直播流HLS源站服务器和对象存储服务器;HLS源站服务器,用于从直播源站服务器获取直播流,对直播流进行切片,生成直播流的索引文件和分片文件,以及将直播流的索引文件和分片文件发送至对象存储服务器;对象存储服务器,用于对直播流的索引文件和分片文件进行存储。
在一些实施例中,该***还包括直播观看用户的终端设备、内容分发网络CDN调度服务器和CDN边缘节点服务器;终端设备,用于向CDN调度服务器发送直播域名解析请求,其中,直播域名解析请求中包括直播域名;CDN调度服务器,用于将直播域名解析成CDN边缘节点的虚拟互联网协议地址VIP,以及将VIP发送给终端设备;终端设备,还用于基于VIP向CDN边缘节点服务器发送直播请求;CDN边缘节点服务器,用于向HLS源站服务器发送直播请求;HLS源站服务器,还用于确定对象存储服务器中是否存储所请求的直播流的索引文件,若对象存储服务器中存储所请求的直播流的索引文件,从对象存储服务器获取所请求的直播流的索引文件;CDN边缘节点服务器,还用于从HLS直播源站服务器获取所请求的直播流的索引文件,以及将所请求的直播流的索引文件发送给终端设备。
在一些实施例中,HLS源站服务器,还用于若对象存储服务器中未存储所请求的直播流的索引文件,从直播源站服务器获取所请求的直播流。
在一些实施例中,HLS源站服务器,还用于获取所请求的直播流的分片文件,以及将所请求的直播流的分片文件发送给CDN边缘节点服务器;CDN边缘节点服务器,还用于将所请求的直播流的分片文件发送给终端设备。
第四方面,本申请实施例提供了一种服务器,该服务器包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第五方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
本申请实施例提供的直播流切片方法、装置和***,HLS源站服务器首先从直播源站服务器获取直播流;然后对直播流进行切片,生成直播流的索引文件和分片文件;最后将直播流的索引文件和分片文件发送给对象存储服务器,以使对象存储服务器对直播流的索引文件和分片文件进行存储。通过HLS源站服务器对直播流进行切片,并通过对象存储服务器对得到的索引文件和分片文件进行存储。在直播观看用户的终端设备发起直播请求时,HLS源站服务器从直播源站服务器获取直播流进行切片,生成所请求的直播流的M3U8文件和TS文件,或者从对象存储服务器获取所请求的直播流的M3U8文件和TS文件,并返回给直播观看用户的终端设备,有助于降低直播时延。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性***架构;
图2是根据本申请的直播流切片方法的一个实施例的流程图;
图3是根据本申请的直播流切片方法的又一个实施例的流程图;
图4是根据本申请的直播流切片装置的一个实施例的结构示意图;
图5是根据本申请的直播流切片***的一个实施例的时序图;
图6是根据本申请的直播流切片***的又一个实施例的时序图;
图7是图6所示的直播流切片***的一个应用场景的示意图;
图8是适于用来实现本申请实施例的服务器的计算机***的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的直播流切片方法或直播流切片装置的实施例的示例性***架构100。
如图1所示,***架构100中可以包括直播源站服务器101、HLS源站服务器102、对象存储服务器103和网络104、105。网络104用以在直播源站服务器101和HLS源站服务器102之间提供通信链路的介质。网络105用以在HLS源站服务器102和对象存储服务器103之间提供通信链路的介质。网络104、105可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
HLS源站服务器102可以通过网络104与直播源站服务器101交互,还可以通过网络105与对象存储服务器103交互,以接收或发送消息等。
直播源站服务器101可以用于存储直播流。对象存储服务器103可以用于存储直播流的索引文件和分片文件。HLS源站服务器可以用于从直播源站服务器101获取直播流;对直播流进行切片,生成直播流的索引文件和分片文件;将直播流的索引文件和分片文件发送给对象存储服务器103,以使对象存储服务器103对直播流的索引文件和分片文件进行存储。
需要说明的是,直播源站服务器101、HLS源站服务器102和对象存储服务器103可以是硬件,也可以是软件。当直播源站服务器101、HLS源站服务器102和对象存储服务器103为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当直播源站服务器101、HLS源站服务器102和对象存储服务器103为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本申请实施例所提供的直播流切片方法一般由HLS源站服务器102执行,相应地,直播流切片装置一般设置于HLS源站服务器102中。
应该理解,图1中的直播源站服务器、HLS源站服务器、对象存储服务器和网络的数目仅仅是示意性的。根据实现需要,可以具有任意数目的直播源站服务器、HLS源站服务器、对象存储服务器和网络。
继续参考图2,其示出了根据本申请的直播流切片方法的一个实施例的流程200。该直播流切片方法,应用于HLS源站服务器,包括以下步骤:
步骤201,从直播源站服务器获取直播流。
在本实施例中,HLS源站服务器(例如图1所示的HLS源站服务器102)可以从直播源站服务器(例如图1所示的直播源站服务器101)获取直播流。其中,直播流可以是直播提供用户利用其终端设备录制的直播视频。通常,直播提供用户可以利用其终端设备向直播源站服务器推流。而HLS源站服务器可以从直播源站服务器拉流。具体地,直播提供用户可以利用其终端设备向直播源站服务器发送推流请求,推流请求中可以包括直播流。直播源站服务器可以从推流请求中提取出直播流进行存储。HLS源站服务器可以向直播源站服务器发送拉流请求,拉流请求可以包括所请求的直播流的标识。在接收到拉流请求之后,直播源站服务器可以基于所请求的直播流的标识查找到本地存储的所请求的直播流,并向HLS源站服务器发送所请求的直播流。
实践中,HLS源站服务器可以主动拉流,也可以被动拉流。所谓主动拉流,即HLS源站服务器可以主动感知直播源站服务器中存储的直播流,在感知到直播流之后,向直播源站服务器拉流。所谓被动拉流,即在接收到直播观看用户发起的直播请求,并且确定对象存储服务器(例如图1所示的对象存储服务器103)中没有存储所请求的直播流的索引文件的情况下,HLS源站服务器可以向直播源站服务器拉流。
步骤202,对直播流进行切片,生成直播流的索引文件和分片文件。
在本实施例中,HLS源站服务器可以对直播流进行切片,以生成直播流的索引文件和分片文件。其中,索引文件可以是M3U8文件。分片文件可以是TS文件。通常,根据M3U8文件记录的索引可以查找TS文件,不停地按顺序播放所查找到的TS文件,即可实现播放直播流。
实践中,HLS协议由HLS源站服务器到直播源站服务器拉流,并对直播流进行切片,生成直播流的索引文件和分片文件,我们称之为HLS中心切片。通常,HLS中心切片可以设计两种模式:主动触发切片和被动触发切片。主动触发切片是指HLS源站服务器从直播源站服务器主动拉流,并对主动拉流的直播流进行切片。主动触发切片模式可以直接消除冷流启动带来的直播观看用户首屏时延开销,极大提升用户体验。被动触发切片是指HLS源站服务器从直播源站服务器被动拉流,并对被动拉流的直播流进行切片。被动拉流模式可以按需切片,能够节省服务器和存储资源。
步骤203,将直播流的索引文件和分片文件发送给对象存储服务器。
在本实施例中,HLS源站服务器可以将直播流的索引文件和分片文件发送给对象存储服务器,以使对象存储服务器对直播流的索引文件和分片文件进行存储。其中,对象存储服务器可以是BOS(Baidu Object Storage)服务器。当直播观看用户发起直播请求时,HLS源站服务器可以从对象存储服务器查找所请求的直播流的索引文件和分片文件,并返回给直播观看用户的终端设备。直播观看用户的终端设备基于直播流的索引文件播放直播流的分片文件,以实现直播。
本申请实施例提供的直播流切片方法,HLS源站服务器首先从直播源站服务器获取直播流;然后对直播流进行切片,生成直播流的索引文件和分片文件;最后将直播流的索引文件和分片文件发送给对象存储服务器,以使对象存储服务器对直播流的索引文件和分片文件进行存储。通过HLS源站服务器对直播流进行切片,并通过对象存储服务器对得到的索引文件和分片文件进行存储。在直播观看用户的终端设备发起直播请求时,HLS源站服务器从直播源站服务器获取直播流进行切片,生成所请求的直播流的M3U8文件和TS文件,或者从对象存储服务器获取所请求的直播流的M3U8文件和TS文件,并返回给直播观看用户的终端设备,有助于降低直播时延,极大地提升了直播服务的可用性。并且架构上易于扩展其他直播业务,可支持时移回看。同时,HLS中心切片可以设计两种模式:主动触发切片和被动触发切片。主动触发切片模式可以直接消除冷流启动带来的直播观看用户首屏时延开销,极大提升用户体验。被动触发切片可以按需切片,能够节省服务器和存储资源。
进一步参考图3,其示出了根据本申请的直播流切片方法的又一个实施例的流程300。该直播流切片方法,应用于HLS源站服务器,包括以下步骤:
步骤301,接收CDN边缘节点服务器发送的直播请求。
在本实施例中,HLS源站服务器(例如图1所示的HLS源站服务器102)可以接收CDN边缘节点服务器发送的直播请求。通常,CDN边缘节点可以包括负载均衡服务器和后端流媒体服务器。CDN边缘节点服务器可以是CDN边缘节点中的负载均衡服务器。直播请求可以是直播观看用户的终端设备发送给CDN边缘节点服务器的,包括所请求的直播流的标识。具体地,直播观看用户的终端设备可以向CDN边缘节点服务器发送直播请求,CDN边缘节点服务器可以将直播请求转发给HLS源站服务器。
步骤302,确定对象存储服务器中是否存储所请求的直播流的索引文件。
在本实施例中,HLS源站服务器可以确定对象存储服务器(例如图1所示的对象存储服务器103)中是否存储所请求的直播流的索引文件。若对象存储服务器中存储所请求的直播流的索引文件,则执行步骤303;若对象存储服务器中未存储所请求的直播流的索引文件,则执行步骤304。
步骤303,从对象存储服务器中获取所请求的直播流的索引文件。
在本实施例中,若对象存储服务器中存储所请求的直播流的索引文件,HLS源站服务器可以从对象存储服务器中获取所请求的直播流的索引文件,并继续执行步骤307。
步骤304,从直播源站服务器获取所请求的直播流。
在本实施例中,若对象存储服务器中未存储所请求的直播流的索引文件,HLS源站服务器可以向直播源站服务器(例如图1所示的直播源站服务器101)被动拉流,以获取所请求的直播流。
步骤305,对所请求的直播流进行切片,生成所请求的直播流的索引文件和分片文件。
在本实施例中,HLS源站服务器可以对所请求的直播流进行切片,以生成所请求的直播流的索引文件和分片文件。
步骤306,将所请求的直播流的索引文件和分片文件发送给对象存储服务器。
在本实施例中,HLS源站服务器可以将所请求的直播流的索引文件和分片文件发送给对象存储服务器,以使对象存储服务器对直播流的索引文件和分片文件进行存储。同时,HLS源站服务器可以继续执行步骤307。
步骤307,将所请求的直播流的索引文件发送给CDN边缘节点服务器。
在本实施例中,HLS源站服务器可以将所请求的直播流的索引文件发送给CDN边缘节点服务器,以使CDN边缘节点服务器将所请求的直播流的索引文件发送给直播观看用户的终端设备。
步骤308,获取所请求的直播流的分片文件。
在本实施例中,HLS源站服务器可以获取所请求的直播流的分片文件。通常,若对象存储服务器中存储所请求的直播流的索引文件,在将所请求的直播流的索引文件发送给CDN边缘节点服务器之后,HLS源站服务器还可以从对象存储服务器中获取所请求的直播流的分片文件。若对象存储服务器中未存储所请求的直播流的索引文件,在将所请求的直播流的索引文件发送给CDN边缘节点服务器之后,HLS源站服务器还可以获取对所请求的直播流进行切片所生成的分片文件。
步骤309,将所请求的直播流的分片文件发送给CDN边缘节点服务器。
在本实施例中,HLS源站服务器可以将所请求的直播流的分片文件发送给CDN边缘节点服务器,以使CDN边缘节点服务器将所请求的直播流的分片文件发送给直播观看用户的终端设备。
从图3中可以看出,与图2对应的实施例相比,本实施例中的直播流切片方法的流程300增加了步骤301-303和步骤307-309。由此,在接收到直播观看用户发起的直播请求,且确定对象存储服务器中未存储所请求的直播流的索引文件的情况下,HLS源站服务器从直播源站服务器拉流,对直播流进行切片,生成的直播流的索引文件和分片文件,并返回给直播观看用户,以使直播观看用户基于索引文件播放分片文件来实现播放直播流。按需切片,能够节省服务器和存储资源。
进一步参考图4,作为对上述各图所示方法的实现,本申请提供了一种直播流切片装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例的直播流切片装置400可以包括:第一获取单元401、切片单元402和第一发送单元403。其中,第一获取单元401,被配置成从直播源站服务器获取直播流;切片单元402,被配置成对直播流进行切片,生成直播流的索引文件和分片文件;第一发送单元403,被配置成将直播流的索引文件和分片文件发送给对象存储服务器,以使对象存储服务器对直播流的索引文件和分片文件进行存储。
在本实施例中,直播流切片装置400中:第一获取单元401、切片单元402和第一发送单元403的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201、步骤202和步骤203的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,直播流切片装置400还包括:接收单元(图中未示出),被配置成接收CDN边缘节点服务器发送的直播请求,其中,直播请求是直播观看用户的终端设备发送给CDN边缘节点服务器的;确定单元(图中未示出),被配置成确定对象存储服务器中是否存储所请求的直播流的索引文件;第二获取单元(图中未示出),被配置成若对象存储服务器中存储所请求的直播流的索引文件,从对象存储服务器中获取所请求的直播流的索引文件;第二发送单元(图中未示出),被配置成将所请求的直播流的索引文件发送给CDN边缘节点服务器,以使CDN边缘节点服务器将所请求的直播流的索引文件发送给终端设备。
在本实施例的一些可选的实现方式中,第一获取单元401进一步被配置成:若对象存储服务器中未存储所请求的直播流的索引文件,从直播源站服务器获取所请求的直播流。
在本实施例的一些可选的实现方式中,直播流切片装置400还包括:第三获取单元(图中未示出),被配置成获取所请求的直播流的分片文件;第三发送单元(图中未示出),被配置成将所请求的直播流的分片文件发送给CDN边缘节点服务器,以使CDN边缘节点服务器将所请求的直播流的分片文件发送给终端设备。
继续参考图5,其示出了根据本申请的直播流切片***的一个实施例的时序500。该直播流切片***包括直播源站服务器(例如图1所示的直播源站服务器101)、HLS源站服务器(例如图1所示的HLS源站服务器102)和对象存储服务器(例如图1所示的对象存储服务器103)。其中,HLS源站服务器,用于从直播源站服务器获取直播流,对直播流进行切片,生成直播流的索引文件和分片文件,以及将直播流的索引文件和分片文件发送至对象存储服务器;对象存储服务器,用于对直播流的索引文件和分片文件进行存储。
如图5所示,在步骤501中,HLS源站服务器从直播源站服务器获取直播流。
在本实施例中,HLS源站服务器可以从直播源站服务器获取直播流。其中,直播流可以是直播提供用户利用其终端设备录制的直播视频。通常,直播提供用户可以利用其终端设备向直播源站服务器推流。而HLS源站服务器可以从直播源站服务器拉流。具体地,直播提供用户可以利用其终端设备向直播源站服务器发送推流请求,推流请求中可以包括直播流。直播源站服务器可以从推流请求中提取出直播流进行存储。HLS源站服务器可以向直播源站服务器发送拉流请求,拉流请求可以包括所请求的直播流的标识。在接收到拉流请求之后,直播源站服务器可以基于所请求的直播流的标识查找到本地存储的所请求的直播流,并向HLS源站服务器发送所请求的直播流。
实践中,HLS源站服务器可以主动拉流,也可以被动拉流。所谓主动拉流,即HLS源站服务器可以主动感知直播源站服务器中存储的直播流,在感知到直播流之后,向直播源站服务器拉流。所谓被动拉流,即在接收到直播观看用户发起的直播请求,并且确定对象存储服务器中没有存储所请求的直播流的索引文件的情况下,HLS源站服务器可以向直播源站服务器拉流。
在步骤502中,HLS源站服务器对直播流进行切片,生成直播流的索引文件和分片文件。
在本实施例中,HLS源站服务器可以对直播流进行切片,以生成直播流的索引文件和分片文件。其中,索引文件可以是M3U8文件。分片文件可以是TS文件。通常,根据M3U8文件记录的索引可以查找TS文件,不停地按顺序播放所查找到的TS文件,即可实现播放直播流。
实践中,HLS协议由HLS源站服务器到直播源站服务器拉流,并对直播流进行切片,生成直播流的索引文件和分片文件,我们称之为HLS中心切片。通常,HLS中心切片可以设计两种模式:主动触发切片和被动触发切片。主动触发切片是指HLS源站服务器从直播源站服务器主动拉流,并对主动拉流的直播流进行切片。主动触发切片模式可以直接消除冷流启动带来的直播观看用户首屏时延开销,极大提升用户体验。被动触发切片是指HLS源站服务器从直播源站服务器被动拉流,并对被动拉流的直播流进行切片。被动拉流模式可以按需切片,能够节省服务器和存储资源。
在步骤503中,HLS源站服务器将直播流的索引文件和分片文件发送至对象存储服务器。
在本实施例中,HLS源站服务器可以将直播流的索引文件和分片文件发送给对象存储服务器。
在步骤504中,对象存储服务器对直播流的索引文件和分片文件进行存储。
在本实施例中,对象存储服务器可以对直播流的索引文件和分片文件进行存储。其中,对象存储服务器可以是BOS(Baidu Object Storage)服务器。当直播观看用户发起直播请求时,HLS源站服务器可以从对象存储服务器查找所请求的直播流的索引文件和分片文件,并返回给直播观看用户的终端设备。直播观看用户的终端设备基于直播流的索引文件播放直播流的分片文件,以实现直播。
本申请实施例提供的直播流切片***,HLS源站服务器首先从直播源站服务器获取直播流;然后对直播流进行切片,生成直播流的索引文件和分片文件;最后将直播流的索引文件和分片文件发送给对象存储服务器。对象存储服务器可以对直播流的索引文件和分片文件进行存储。通过HLS源站服务器对直播流进行切片,并通过对象存储服务器对得到的索引文件和分片文件进行存储。在直播观看用户的终端设备发起直播请求时,HLS源站服务器从直播源站服务器获取直播流进行切片,生成所请求的直播流的M3U8文件和TS文件,或者从对象存储服务器获取所请求的直播流的M3U8文件和TS文件,并返回给直播观看用户的终端设备,有助于降低直播时延,极大地提升了直播服务的可用性。并且架构上易于扩展其他直播业务,可支持时移回看。同时,HLS中心切片可以设计两种模式:主动触发切片和被动触发切片。主动触发切片模式可以直接消除冷流启动带来的直播观看用户首屏时延开销,极大提升用户体验。被动触发切片可以按需切片,能够节省服务器和存储资源。
进一步参考图6,其示出了根据本申请的直播流切片***的又一个实施例的时序600。该直播流切片***包括直播源站服务器(例如图1所示的直播源站服务器101)、HLS源站服务器(例如图1所示的HLS源站服务器102)、对象存储服务器(例如图1所示的对象存储服务器103)、直播观看用户的终端设备(图1中未示出)、CDN调度服务器(图1中未示出)和CDN边缘节点服务器(图1中未示出)。其中,终端设备,用于向CDN调度服务器发送直播域名解析请求,其中,直播域名解析请求中包括直播域名;CDN调度服务器,用于将直播域名解析成CDN边缘节点的虚拟互联网协议地址VIP,以及将VIP发送给终端设备;终端设备,还用于基于VIP向CDN边缘节点服务器发送直播请求;CDN边缘节点服务器,用于向HLS源站服务器发送直播请求;HLS源站服务器,还用于确定对象存储服务器中是否存储所请求的直播流的索引文件,若对象存储服务器中存储所请求的直播流的索引文件,从对象存储服务器获取所请求的直播流的索引文件,若对象存储服务器中未存储所请求的直播流的索引文件,从直播源站服务器获取所请求的直播流,对所请求的直播流进行切片,生成所请求的直播流的索引文件和分片文件,以及将所请求的直播流的索引文件和分片文件发送至对象存储服务器;对象存储服务器,用于对直播流的索引文件和分片文件进行存储;CDN边缘节点服务器,还用于从HLS直播源站服务器获取所请求的直播流的索引文件,以及将所请求的直播流的索引文件发送给终端设备;HLS源站服务器,还用于获取所请求的直播流的分片文件,以及将所请求的直播流的分片文件发送给CDN边缘节点服务器;CDN边缘节点服务器,还用于将所请求的直播流的分片文件发送给终端设备。
如图6所示,在步骤601中,终端设备向CDN调度服务器发送直播域名解析请求。
在本实施例中,直播观看用户的终端设备可以向CDN调度服务器发送直播域名解析请求。其中,直播域名解析请求中可以包括直播域名。
在步骤602中,CDN调度服务器将直播域名解析成CDN边缘节点的VIP。
在本实施例中,CDN调度服务器可以将直播域名解析成CDN边缘节点的VIP(Virtual Internet Protocol Address,虚拟互联网协议地址)。通常,CDN调度服务器可以将直播域名解析成最优的CDN边缘节点的VIP。其中,最优的CDN边缘节点可以是满足预设条件的CDN边缘节点。其中,预设条件可以是预先设置的各种条件。例如,预设条件可以包括但不限于以下至少一项:距离直播观看用户最近、节点状态为空闲状态等等。
在步骤603中,CDN调度服务器将VIP发送给终端设备。
在本实施例中,CDN调度服务器可以将VIP发送给直播观看用户的终端设备。
在步骤604中,终端设备基于VIP向CDN边缘节点服务器发送直播请求。
在本实施例中,直播观看用户的终端设备可以向VIP所对应的CDN边缘节点服务器发送直播请求。通常,CDN边缘节点可以包括负载均衡服务器和后端流媒体服务器。CDN边缘节点服务器可以是CDN边缘节点中的负载均衡服务器。直播请求可以包括所请求的直播流的标识。
在步骤605中,CDN边缘节点服务器向HLS源站服务器发送直播请求。
在本实施例中,CDN边缘节点服务器可以向HLS源站服务器发送直播请求。
在步骤606中,HLS源站服务器确定对象存储服务器中是否存储所请求的直播流的索引文件。
在本实施例中,HLS源站服务器可以确定对象存储服务器中是否存储所请求的直播流的索引文件。若对象存储服务器中存储所请求的直播流的索引文件,则执行步骤607;若对象存储服务器中未存储所请求的直播流的索引文件,则执行步骤608。
在步骤607中,HLS源站服务器从对象存储服务器获取所请求的直播流的索引文件。
在本实施例中,若对象存储服务器中存储所请求的直播流的索引文件,HLS源站服务器可以从对象存储服务器获取所请求的直播流的索引文件。
在步骤608中,HLS源站服务器从直播源站服务器获取所请求的直播流。
在本实施例中,若对象存储服务器中未存储所请求的直播流的索引文件,HLS源站服务器可以向直播源站服务器被动拉流,以获取所请求的直播流。
在步骤609中,HLS源站服务器对所请求的直播流进行切片,生成所请求的直播流的索引文件和分片文件。
在本实施例中,HLS源站服务器可以对所请求的直播流进行切片,以生成所请求的直播流的索引文件和分片文件。
在步骤610中,HLS源站服务器将所请求的直播流的索引文件和分片文件发送至对象存储服务器。
在本实施例中,HLS源站服务器可以将所请求的直播流的索引文件和分片文件发送给对象存储服务器。
在步骤611中,对象存储服务器对所请求的直播流的索引文件和分片文件进行存储。
在本实施例中,对象存储服务器可以对所请求的直播流的索引文件和分片文件进行存储。
在步骤612中,CDN边缘节点服务器从HLS直播源站服务器获取所请求的直播流的索引文件。
在本实施例中,CDN边缘节点服务器可以从HLS直播源站服务器获取所请求的直播流的索引文件。
在步骤613中,CDN边缘节点服务器将所请求的直播流的索引文件发送给终端设备。
在本实施例中,CDN边缘节点服务器可以将所请求的直播流的索引文件发送给终端设备。
在步骤614中,HLS源站服务器获取所请求的直播流的分片文件。
在本实施例中,HLS源站服务器可以获取所请求的直播流的分片文件。通常,若对象存储服务器中存储所请求的直播流的索引文件,在将所请求的直播流的索引文件发送给CDN边缘节点服务器之后,HLS源站服务器还可以从对象存储服务器中获取所请求的直播流的分片文件。若对象存储服务器中未存储所请求的直播流的索引文件,在将所请求的直播流的索引文件发送给CDN边缘节点服务器之后,HLS源站服务器还可以获取对所请求的直播流进行切片所生成的分片文件。
在步骤615中,HLS源站服务器将所请求的直播流的分片文件发送给CDN边缘节点服务器。
在本实施例中,HLS源站服务器可以将所请求的直播流的分片文件发送给CDN边缘节点服务器。
在步骤616中,CDN边缘节点服务器将所请求的直播流的分片文件发送给终端设备。
在本实施例中,CDN边缘节点服务器可以将所请求的直播流的分片文件发送给直播观看用户的终端设备。
从图6中可以看出,与图5对应的实施例相比,本实施例中的直播流切片***的时序600增加了步骤601-607和步骤612-616。由此,在接收到直播观看用户发起的直播请求,且确定对象存储服务器中未存储所请求的直播流的索引文件的情况下,HLS源站服务器从直播源站服务器拉流,对直播流进行切片,生成的直播流的索引文件和分片文件,并返回给直播观看用户,以使直播观看用户基于索引文件播放分片文件来实现播放直播流。按需切片,能够节省服务器和存储资源。
继续参见图7,图7是图6所示的直播流切片***的一个应用场景的示意图。在图7所示的应用场景中,直播观看用户的终端设备向CDN调度服务器发送直播域名解析请求。CDN调度服务器将直播域名解析请求中的直播域名解析成CDN边缘节点的VIP,并返回给直播观看用户的终端设备。随后,直播观看用户的终端设备基于VIP向CDN边缘节点的负载均衡服务器发送直播请求。负载均衡服务器向HLS源站服务器发送直播请求。若对象存储服务器中未存储所请求的直播流的索引文件,HLS源站服务器从直播源站服务器获取所请求的直播流,对所请求的直播流进行切片,生成所请求的直播流的索引文件和分片文件,发送给对象存储服务器和负载均衡服务器。最后,对象存储服务器对索引文件和分片文件进行存储。同时,负载均衡服务器将索引文件和分片文件发送给直播观看用户的终端设备。直播观看用户的终端设备基于索引文件播放分片文件,以实现播放直播流供直播观看用户观看。
下面参考图8,其示出了适于用来实现本申请实施例的服务器(例如图1所示的HLS源站服务器102)的计算机***800的结构示意图。图8示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,计算机***800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有***800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向目标的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括第一获取单元、切片单元和第一发送单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“从直播源站服务器获取直播流的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的服务器中所包含的;也可以是单独存在,而未装配入该服务器中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该服务器执行时,使得该服务器:从直播源站服务器获取直播流;对直播流进行切片,生成直播流的索引文件和分片文件;将直播流的索引文件和分片文件发送给对象存储服务器,以使对象存储服务器对直播流的索引文件和分片文件进行存储。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (14)
1.一种直播流切片方法,应用于超文本直播流HLS源站服务器,包括:
从直播源站服务器获取直播流;
对所述直播流进行切片,生成所述直播流的索引文件和分片文件;
将所述直播流的索引文件和分片文件发送给对象存储服务器,以使所述对象存储服务器对所述直播流的索引文件和分片文件进行存储。
2.根据权利要求1所述的方法,其中,所述方法还包括:
接收内容分发网络CDN边缘节点服务器发送的直播请求,其中,所述直播请求是直播观看用户的终端设备发送给所述CDN边缘节点服务器的;
确定所述对象存储服务器中是否存储所请求的直播流的索引文件;
若所述对象存储服务器中存储所请求的直播流的索引文件,从所述对象存储服务器中获取所请求的直播流的索引文件;
将所请求的直播流的索引文件发送给所述CDN边缘节点服务器,以使所述CDN边缘节点服务器将所请求的直播流的索引文件发送给所述终端设备。
3.根据权利要求2所述的方法,其中,所述从直播源站服务器获取直播流,包括:
若所述对象存储服务器中未存储所请求的直播流的索引文件,从所述直播源站服务器获取所请求的直播流。
4.根据权利要求2或3所述的方法,其中,所述方法还包括:
获取所请求的直播流的分片文件;
将所请求的直播流的分片文件发送给所述CDN边缘节点服务器,以使所述CDN边缘节点服务器将所请求的直播流的分片文件发送给所述终端设备。
5.一种直播流切片装置,设置于超文本直播流HLS源站服务器,包括:
第一获取单元,被配置成从直播源站服务器获取直播流;
切片单元,被配置成对所述直播流进行切片,生成所述直播流的索引文件和分片文件;
第一发送单元,被配置成将所述直播流的索引文件和分片文件发送给对象存储服务器,以使所述对象存储服务器对所述直播流的索引文件和分片文件进行存储。
6.根据权利要求5所述的装置,其中,所述装置还包括:
接收单元,被配置成接收内容分发网络CDN边缘节点服务器发送的直播请求,其中,所述直播请求是直播观看用户的终端设备发送给所述CDN边缘节点服务器的;
确定单元,被配置成确定所述对象存储服务器中是否存储所请求的直播流的索引文件;
第二获取单元,被配置成若所述对象存储服务器中存储所请求的直播流的索引文件,从所述对象存储服务器中获取所请求的直播流的索引文件;
第二发送单元,被配置成将所请求的直播流的索引文件发送给所述CDN边缘节点服务器,以使所述CDN边缘节点服务器将所请求的直播流的索引文件发送给所述终端设备。
7.根据权利要求6所述的装置,其中,所述第一获取单元进一步被配置成:
若所述对象存储服务器中未存储所请求的直播流的索引文件,从所述直播源站服务器获取所请求的直播流。
8.根据权利要求6或7所述的装置,其中,所述装置还包括:
第三获取单元,被配置成获取所请求的直播流的分片文件;
第三发送单元,被配置成将所请求的直播流的分片文件发送给所述CDN边缘节点服务器,以使所述CDN边缘节点服务器将所请求的直播流的分片文件发送给所述终端设备。
9.一种直播流切片***,包括:直播源站服务器、超文本直播流HLS源站服务器和对象存储服务器;
所述HLS源站服务器,用于从所述直播源站服务器获取直播流,对所述直播流进行切片,生成所述直播流的索引文件和分片文件,以及将所述直播流的索引文件和分片文件发送至所述对象存储服务器;
所述对象存储服务器,用于对所述直播流的索引文件和分片文件进行存储。
10.根据权利要求9所述的***,其中,所述***还包括直播观看用户的终端设备、内容分发网络CDN调度服务器和CDN边缘节点服务器;
所述终端设备,用于向所述CDN调度服务器发送直播域名解析请求,其中,所述直播域名解析请求中包括直播域名;
所述CDN调度服务器,用于将所述直播域名解析成CDN边缘节点的虚拟互联网协议地址VIP,以及将所述VIP发送给所述终端设备;
所述终端设备,还用于基于所述VIP向所述CDN边缘节点服务器发送直播请求;
所述CDN边缘节点服务器,用于向所述HLS源站服务器发送所述直播请求;
所述HLS源站服务器,还用于确定所述对象存储服务器中是否存储所请求的直播流的索引文件,若所述对象存储服务器中存储所请求的直播流的索引文件,从所述对象存储服务器获取所请求的直播流的索引文件。
所述CDN边缘节点服务器,还用于从所述HLS直播源站服务器获取所请求的直播流的索引文件,以及将所请求的直播流的索引文件发送给所述终端设备。
11.根据权利要求10所述的***,其中,
所述HLS源站服务器,还用于若所述对象存储服务器中未存储所请求的直播流的索引文件,从所述直播源站服务器获取所请求的直播流。
12.根据权利要求10或11所述的***,其中,
所述HLS源站服务器,还用于获取所请求的直播流的分片文件,以及将所请求的直播流的分片文件发送给所述CDN边缘节点服务器;
所述CDN边缘节点服务器,还用于将所请求的直播流的分片文件发送给所述终端设备。
13.一种服务器,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1-4中任一所述的方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910068514.3A CN109787983A (zh) | 2019-01-24 | 2019-01-24 | 直播流切片方法、装置和*** |
JP2019198112A JP6915027B2 (ja) | 2019-01-24 | 2019-10-31 | ライブストリーミングセグメント化方法、装置及びシステム |
US16/675,840 US11356748B2 (en) | 2019-01-24 | 2019-11-06 | Method, apparatus and system for slicing live streaming |
SG10201910390RA SG10201910390RA (en) | 2019-01-24 | 2019-11-07 | Method, apparatus and system for slicing live streaming |
KR1020190141697A KR102262982B1 (ko) | 2019-01-24 | 2019-11-07 | 라이브 스트림 슬라이싱 방법, 장치 및 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910068514.3A CN109787983A (zh) | 2019-01-24 | 2019-01-24 | 直播流切片方法、装置和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109787983A true CN109787983A (zh) | 2019-05-21 |
Family
ID=66502289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910068514.3A Pending CN109787983A (zh) | 2019-01-24 | 2019-01-24 | 直播流切片方法、装置和*** |
Country Status (5)
Country | Link |
---|---|
US (1) | US11356748B2 (zh) |
JP (1) | JP6915027B2 (zh) |
KR (1) | KR102262982B1 (zh) |
CN (1) | CN109787983A (zh) |
SG (1) | SG10201910390RA (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110971709A (zh) * | 2019-12-20 | 2020-04-07 | 深圳市网心科技有限公司 | 数据处理方法、计算机设备及存储介质 |
CN111327585A (zh) * | 2019-11-28 | 2020-06-23 | 北京新奥特体育科技有限公司 | 处理音视频的方法和*** |
CN111541903A (zh) * | 2020-01-14 | 2020-08-14 | 深圳市华曦达科技股份有限公司 | 直播加速方法、源站端、边缘节点、客户端及直播*** |
WO2021121303A1 (zh) * | 2019-12-19 | 2021-06-24 | 中兴通讯股份有限公司 | Mp4文件虚拟mss分片方法、mss适配器、媒体服务器和存储介质 |
CN113824971A (zh) * | 2020-06-18 | 2021-12-21 | 中央广播电视总台 | 三维声直播流调度和分发方法及*** |
CN114339109A (zh) * | 2021-12-24 | 2022-04-12 | 中电福富信息科技有限公司 | 一种基于跨存储资源跨网络跨文件的录像级联方法 |
CN114501044A (zh) * | 2021-12-23 | 2022-05-13 | 百果园技术(新加坡)有限公司 | 直播数据处理方法、装置、设备和存储介质 |
CN115052167A (zh) * | 2022-03-15 | 2022-09-13 | 北京新流万联网络技术有限公司 | 支持多协议视频直播的视频生成方法、装置、介质及设备 |
CN115499681A (zh) * | 2021-06-17 | 2022-12-20 | 中国联合网络通信集团有限公司 | 基于mec的cdn直播方法、mec服务器及upf网元 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112104885B (zh) * | 2020-09-09 | 2022-06-24 | 海看网络科技(山东)股份有限公司 | 一种直播中加快m3u8起始播放速度的***及方法 |
CN113076125B (zh) * | 2021-04-25 | 2024-04-12 | 北京金山云网络技术有限公司 | 直播业务升级处理方法、装置、介质和服务器 |
CN113329267B (zh) * | 2021-05-27 | 2023-03-24 | 北京奇艺世纪科技有限公司 | 一种视频播放方法、装置、终端设备及存储介质 |
KR20220167469A (ko) * | 2021-06-14 | 2022-12-21 | 주식회사 네트워크디파인즈 | 적응형 미디어 스트리밍 환경에서 비디오 편집 속도 향상 방법 및 장치 |
CN114157643B (zh) * | 2021-12-20 | 2023-01-13 | 海看网络科技(山东)股份有限公司 | 基于转码器hls协议固定码率参数的方法 |
CN115484239B (zh) | 2022-09-15 | 2023-10-27 | 北京百度网讯科技有限公司 | 多媒体数据流的处理方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102271163A (zh) * | 2011-08-19 | 2011-12-07 | 中兴通讯股份有限公司 | 一种实现直播码流分发的方法和*** |
CN102710966A (zh) * | 2012-06-13 | 2012-10-03 | 百视通网络电视技术发展有限责任公司 | 基于http协议的视频直播方法及*** |
CN104394443A (zh) * | 2014-09-16 | 2015-03-04 | 东方有线网络有限公司 | 一种在hls直播流媒体中进行节目动态***播放的方法 |
US20150229688A1 (en) * | 2013-06-20 | 2015-08-13 | Tencent Technology (Shenzhen) Company Limited | Method and device for playing streaming media, and non-transitory storage medium |
CN108391176A (zh) * | 2018-04-09 | 2018-08-10 | 四川百视通科技有限公司 | 一种rtmp协议到hls协议的实时转换***及其工作方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0940959B1 (en) * | 1998-03-04 | 2007-10-10 | Sony Deutschland GmbH | Establishing connections between remote devices with a hypertext transfer protocol |
JP2010191774A (ja) * | 2009-02-19 | 2010-09-02 | Nec Corp | コンテンツ配信システム、コンテンツ配信装置及びコンテンツ配信方法ならびにそのプログラム、データストレージ装置とその処理方法およびプログラム |
KR20110076831A (ko) * | 2009-12-28 | 2011-07-06 | (주)주인네트 | 분산 네트워크 pvr 시스템 및 그 서비스 방법 |
JP6294527B2 (ja) * | 2011-07-12 | 2018-03-14 | シャープ株式会社 | 送信装置、送信方法、再生装置、及び再生方法 |
JP2013038766A (ja) * | 2011-07-12 | 2013-02-21 | Sharp Corp | 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体 |
CN103634610B (zh) * | 2012-08-24 | 2018-02-16 | 中兴通讯股份有限公司 | 直播内容分发***及方法 |
JPWO2014057896A1 (ja) * | 2012-10-09 | 2016-09-05 | シャープ株式会社 | コンテンツ再生装置 |
US9124947B2 (en) * | 2013-09-04 | 2015-09-01 | Arris Enterprises, Inc. | Averting ad skipping in adaptive bit rate systems |
US20150095964A1 (en) * | 2013-10-01 | 2015-04-02 | Opentv, Inc. | Bumper video carousel for digital video delivery |
CN104333818A (zh) * | 2014-10-17 | 2015-02-04 | 中兴通讯股份有限公司 | 一种http实时流媒体分片的拼接方法及拼接*** |
CN105049954B (zh) * | 2015-07-02 | 2020-07-10 | 中兴通讯股份有限公司 | Ott媒体的组播传输方法、装置及*** |
KR101743228B1 (ko) * | 2016-01-22 | 2017-06-05 | 네이버 주식회사 | 스트리밍 장치 및 그 방법, 이를 이용한 스트리밍 서비스 시스템 및 컴퓨터로 판독 가능한 기록매체 |
US10250849B2 (en) * | 2016-12-30 | 2019-04-02 | Akamai Technologies, Inc. | Dynamic speaker selection and live stream delivery for multi-party conferencing |
US10818033B2 (en) * | 2018-01-18 | 2020-10-27 | Oath Inc. | Computer vision on broadcast video |
-
2019
- 2019-01-24 CN CN201910068514.3A patent/CN109787983A/zh active Pending
- 2019-10-31 JP JP2019198112A patent/JP6915027B2/ja active Active
- 2019-11-06 US US16/675,840 patent/US11356748B2/en active Active
- 2019-11-07 KR KR1020190141697A patent/KR102262982B1/ko active IP Right Grant
- 2019-11-07 SG SG10201910390RA patent/SG10201910390RA/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102271163A (zh) * | 2011-08-19 | 2011-12-07 | 中兴通讯股份有限公司 | 一种实现直播码流分发的方法和*** |
CN102710966A (zh) * | 2012-06-13 | 2012-10-03 | 百视通网络电视技术发展有限责任公司 | 基于http协议的视频直播方法及*** |
US20150229688A1 (en) * | 2013-06-20 | 2015-08-13 | Tencent Technology (Shenzhen) Company Limited | Method and device for playing streaming media, and non-transitory storage medium |
CN104394443A (zh) * | 2014-09-16 | 2015-03-04 | 东方有线网络有限公司 | 一种在hls直播流媒体中进行节目动态***播放的方法 |
CN108391176A (zh) * | 2018-04-09 | 2018-08-10 | 四川百视通科技有限公司 | 一种rtmp协议到hls协议的实时转换***及其工作方法 |
Non-Patent Citations (2)
Title |
---|
吴廷良: "P2P_CDN流媒体分发技术的研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
李志昂: "HLS流媒体服务器的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111327585A (zh) * | 2019-11-28 | 2020-06-23 | 北京新奥特体育科技有限公司 | 处理音视频的方法和*** |
WO2021121303A1 (zh) * | 2019-12-19 | 2021-06-24 | 中兴通讯股份有限公司 | Mp4文件虚拟mss分片方法、mss适配器、媒体服务器和存储介质 |
CN110971709A (zh) * | 2019-12-20 | 2020-04-07 | 深圳市网心科技有限公司 | 数据处理方法、计算机设备及存储介质 |
CN110971709B (zh) * | 2019-12-20 | 2022-08-16 | 深圳市网心科技有限公司 | 数据处理方法、计算机设备及存储介质 |
CN111541903A (zh) * | 2020-01-14 | 2020-08-14 | 深圳市华曦达科技股份有限公司 | 直播加速方法、源站端、边缘节点、客户端及直播*** |
CN113824971A (zh) * | 2020-06-18 | 2021-12-21 | 中央广播电视总台 | 三维声直播流调度和分发方法及*** |
CN115499681A (zh) * | 2021-06-17 | 2022-12-20 | 中国联合网络通信集团有限公司 | 基于mec的cdn直播方法、mec服务器及upf网元 |
CN114501044A (zh) * | 2021-12-23 | 2022-05-13 | 百果园技术(新加坡)有限公司 | 直播数据处理方法、装置、设备和存储介质 |
CN114501044B (zh) * | 2021-12-23 | 2023-12-08 | 百果园技术(新加坡)有限公司 | 直播数据处理方法、装置、设备和存储介质 |
CN114339109A (zh) * | 2021-12-24 | 2022-04-12 | 中电福富信息科技有限公司 | 一种基于跨存储资源跨网络跨文件的录像级联方法 |
CN115052167A (zh) * | 2022-03-15 | 2022-09-13 | 北京新流万联网络技术有限公司 | 支持多协议视频直播的视频生成方法、装置、介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
SG10201910390RA (en) | 2020-08-28 |
JP6915027B2 (ja) | 2021-08-04 |
JP2020119497A (ja) | 2020-08-06 |
KR20200092249A (ko) | 2020-08-03 |
KR102262982B1 (ko) | 2021-06-10 |
US11356748B2 (en) | 2022-06-07 |
US20200245042A1 (en) | 2020-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109787983A (zh) | 直播流切片方法、装置和*** | |
CN106302445B (zh) | 用于处理请求的方法和装置 | |
CN104581374B (zh) | 一种获取切片文件和生成子m3u8文件的方法、节点及服务器 | |
CN108965907A (zh) | 用于播放视频的方法、装置和*** | |
CN110166791A (zh) | 连接的建立方法、装置、设备及存储介质 | |
KR20180022867A (ko) | 근거리 통신을 통한 애플리케이션 버전 설치 방법 및 시스템 | |
CN108965098A (zh) | 基于在线直播的消息推送方法、装置、介质和电子设备 | |
CN110198335A (zh) | 消息同步方法及装置、电子设备及存储介质 | |
CN110996372B (zh) | 消息路由方法、装置、***及电子设备 | |
CN109640176A (zh) | 用于生成信息的方法和装置 | |
CN109672911B (zh) | 一种视频处理方法及装置 | |
US20080016113A1 (en) | Network access tool bar systems and methods | |
CN110798495B (zh) | 用于在集群架构模式下端到端的消息推送的方法和服务器 | |
CN110401731A (zh) | 用于分配内容分发节点的方法和装置 | |
CN113778499B (zh) | 发布服务的方法、装置、设备和计算机可读介质 | |
CN109471713A (zh) | 用于查询信息的方法和装置 | |
CN112367241A (zh) | 消息生成和消息发送方法、装置、设备和计算机可读介质 | |
CN108512813A (zh) | 用于防止信息被屏蔽的装置和方法 | |
CN109948082A (zh) | 直播信息处理方法及装置、电子设备、存储介质 | |
CN109413212A (zh) | 用于处理请求的方法和装置 | |
CN115022106B (zh) | 一种群信息处理方法、装置、设备及介质 | |
CN105871972A (zh) | 一种视频资源的分布式缓存方法、装置及*** | |
CN109614603A (zh) | 用于生成信息的方法和装置 | |
CN112866622B (zh) | 信息处理方法、装置、服务器、存储介质和*** | |
CN110677489B (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 |
Application publication date: 20190521 |
|
RJ01 | Rejection of invention patent application after publication |