CN113905243A - 直播方法、装置、网络节点和存储介质 - Google Patents
直播方法、装置、网络节点和存储介质 Download PDFInfo
- Publication number
- CN113905243A CN113905243A CN202010577332.1A CN202010577332A CN113905243A CN 113905243 A CN113905243 A CN 113905243A CN 202010577332 A CN202010577332 A CN 202010577332A CN 113905243 A CN113905243 A CN 113905243A
- Authority
- CN
- China
- Prior art keywords
- file
- live broadcast
- client
- live
- file block
- 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 62
- 239000012634 fragment Substances 0.000 claims abstract description 89
- 238000005538 encapsulation Methods 0.000 claims description 43
- 238000004806 packaging method and process Methods 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 27
- 238000004891 communication Methods 0.000 claims description 22
- 238000010586 diagram Methods 0.000 description 11
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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/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/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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/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)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供用于直播方法、装置、网络节点和存储介质。该方法包括:获取第一客户端的直播内容请求,所述直播内容请求用于请求直播分片文件;根据所述直播内容请求,获取已封装的文件块,并将所述已封装的文件块发送给所述第一客户端;继续获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端,直至所述直播分片文件发送完毕。由于网络节点在收到第一客户端的直播内容请求之后,可以通过传输直播分片文件的文件块,来向第一客户端传输直播内容,即在直播分片文件的生成过程中便可以分发直播分片文件的内容,无需等待整个直播分片文件全部生成后再向第一客户端传输直播分片文件,从而大大降低了直播过程中端到端的直播时延。
Description
技术领域
本发明涉及视频直播技术领域,具体涉及一种直播方法、装置、网络节点和存储介质。
背景技术
随着直播技术以及互联网直播业务的发展,用户可以随时随地观看各种直播内容。通常,在用户观看直播内容的过程中,内容分发网络(Content Delivery Network,CDN)可以基于分片文件的形式向客户端传输直播内容。但是,传统传输方式的端到端时延较高,难以满足用户对直播时延的要求。
发明内容
本申请提供用于直播方法、装置、网络节点和存储介质。
第一方面,本申请实施例提供一种直播方法,包括:
获取第一客户端的直播内容请求,所述直播内容请求用于请求直播分片文件;
根据所述直播内容请求,获取已封装的文件块,并将所述已封装的文件块发送给所述第一客户端,其中,所述已封装的文件块为生成所述直播分片文件的部分文件块;
继续获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端,直至所述直播分片文件发送完毕,其中,所述新封装的文件块为生成所述直播分片文件的另一部分文件块。
第二方面,本申请实施例提供一种直播装置,包括:
第一获取模块,用于获取第一客户端的直播内容请求,所述直播内容请求用于请求直播分片文件;
第二获取模块,用于根据所述直播内容请求,获取已封装的文件块,其中,所述已封装的文件块为生成所述直播分片文件的部分文件块;
第一发送模块,用于将所述已封装的文件块发送给所述第一客户端;
第三获取模块,用于继续获取新封装的文件块,其中,所述新封装的文件块为生成所述直播分片文件的另一部分文件块;
第二发送模块,用于将所述新封装的文件块发送给所述第一客户端,直至所述直播分片文件发送完毕。
第三方面,本申请实施例提供一种网络节点,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本申请实施例第一方面提供的直播方法。
第四方面,本申请实施例提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例第一方面提供的直播方法。
本申请实施例提供的直播方法、装置、网络节点和存储介质,在获取到第一客户端的直播内容请求之后,网络节点根据所述直播内容请求,获取已封装的文件块,并将所述已封装的文件块发送给所述第一客户端,继续获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端,直至所述直播分片文件发送完毕。由于网络节点在收到第一客户端的直播内容请求之后,可以通过传输直播分片文件的文件块,来向第一客户端传输直播内容,即在直播分片文件的生成过程中便可以分发直播分片文件的内容,无需等待整个直播分片文件全部生成后再向第一客户端传输直播分片文件,从而大大降低了直播过程中端到端的直播时延。
附图说明
图1是本申请实施例提供的直播方法适用的直播系统结构示意图;
图2为本申请实施例提供的直播方法的一种流程示意图;
图3为本申请实施例提供的一种直播分片文件的结构示意图;
图4为本申请实施例提供的直播方法的另一种流程示意图;
图5为本申请实施例提供的针对单用户直播场景的直播过程的原理示意图;
图6为本申请实施例提供的直播方法的又一种流程示意图;
图7为本申请实施例提供的针对多用户直播场景的直播过程的原理示意图;
图8为本申请实施例提供的针对存在用户退出直播场景的直播过程的原理示意图;
图9为本申请实施例提供的一种直播装置的结构示意图;
图10为本申请实施例提供的一种通信节点的结构示意图。
具体实施方式
本申请实施例提供的直播方法,可以适用于如图1所示的直播系统,该直播系统可以包括内容封装节点10、CDN中的网络节点11以及客户端12。其中,内容封装节点10用于按照通用媒体应用格式(Common Media Application Format,CMAF)对编码后的直播内容进行切片和封装,即以moof/mdat Chunk元组的分块形式生成直播分片文件,一个或多个moof/mdat Chunk元组构成一个文件块。同时,内容封装节点10还可以生成直播分片文件的索引文件。网络节点11用于从内容封装节点10获取直播分片文件的文件块,并通过文件块的形式向客户端12传输所请求的直播内容。客户端12可以以HLS(HTTP Live Streaming)或者DASH(Dynamic Adaptive Streaming over HTTP)等通用流媒体协议向网络节点11请求实时直播内容,并解码网络节点11以文件块形式发送的直播内容。可选的,网络节点11可以为独立的服务器,或者服务器集群,客户端12可以为智能手机、平板电脑、智能手表、健身追踪器以及虚拟现实设备等电子设备,本申请实施例对网络节点11和客户端12的具体形式不做限定。
为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
需要说明的是,下述方法实施例的执行主体可以是直播装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为CDN中的网络节点。下述方法实施例以执行主体是网络节点为例进行说明。
图2为本申请实施例提供的直播方法的一种流程示意图。如图2所示,该方法可以包括:
S101、获取第一客户端的直播内容请求,所述直播内容请求用于请求直播分片文件。
具体的,上述直播分片文件为内容封装节点按照CMAF方式正在生成的分片文件。在第一客户端需要获取直播分片文件时,第一客户端需要向网络节点请求该直播分片文件的索引文件。其中,该索引文件用于记录直播分片文件的路径信息。在获取到第一客户端发送的索引文件请求之后,网络节点判断本地是否保存所请求的索引文件,若保存,则直接从本地获取该索引文件并发送给第一客户端。若未保存,则直接向内容封装节点回源请求该索引文件并发送给第一客户端。第一客户端接收到索引文件之后,解析该索引文件,并基于解析结果获得该直播分片文件的信息,并向网络节点发送直播内容请求以请求该直播分片文件。其中,该直播分片文件的信息可以为直播分片文件的统一资源定位符(UniformResource Locator,URL)信息。例如,网络节点获取到的直播内容请求携带的信息可以为如下的URL信息,URL信息为:http://192.168.1.1/live/channe101/100.m4s。
S102、根据所述直播内容请求,获取已封装的文件块,并将所述已封装的文件块发送给所述第一客户端。
具体的,所述已封装的文件块为生成所述直播分片文件的部分文件块,即已封装的文件块是指在网络节点获取到客户端的直播内容请求的时刻,针对直播分片文件,内容封装节点已经封装好的文件块。网络节点可以根据直播内容请求中携带的直播分片文件的信息,获取已封装的文件块,并把获取到的已封装的文件块发送给第一客户端。
示例性的,针对直播分片文件,假设12个文件块构成一个直播分片文件,内容封装节点按照moof/mdat Chunk的方式正在生成直播分片文件,在网络节点获取到第一客户端的直播内容请求的时刻,内容封装节点已经封装了8个文件块,还有4个文件块未封装。此时,网络节点便可以获取这8个文件块,并将这8个文件块依次发送给第一客户端。
可选的,网络节点根据所述直播内容请求,获取已封装的文件块的过程可以为:根据所述直播内容请求检测到本地不存在所述直播分片文件的文件块,则从内容封装节点获取已封装的文件块。可选的,网络节点还将从内容封装节点获取的已封装的文件块存储到本地。
具体的,在网络节点首次获取到针对该直播分片文件的直播内容请求时,即网络节点检测到本地未存储有直播分片文件的文件块时,网络节点可以直接向内容封装节点回源请求该直播分片文件,以从内容封装节点获取已封装的文件块。在实际应用中,为了防止网络节点多次访问内容封装节点造成内容封装节点宕机,可选的,网络节点还可以将获取的已封装的文件块存储到本地,以便第二客户端也在请求该直播分片文件时,网络节点可以直接从本地缓存中获取已封装的文件块,无需向内容封装节点回源请求该直播分片文件,避免同一时刻访问量过大造成内容封装节点宕机。
可选的,网络节点根据所述直播内容请求,获取已封装的文件块的过程可以为:根据所述直播内容请求检测到本地存储有所述直播分片文件的文件块,则从本地获取已封装的文件块。
S103、继续获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端,直至所述直播分片文件发送完毕。
具体的,所述新封装的文件块为生成所述直播分片文件的另一部分文件块,即新封装的文件块是指在获取到第一客户端的直播内容请求后,内容封装节点封装的文件块。由于内容封装节点不断地按照moof/mdat Chunk的方式正在生成直播分片文件,因此,为了不间断地向第一客户端传输直播分片文件,网络节点还需要继续获取新封装的文件块,并将新封装的文件块以http-Chunk的模式发送给第一客户端,直至将直播分片文件所有文件块全部发送完毕。可选的,网络节点继续获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端,直至所述直播分片文件发送完毕的过程可以为:继续从内容封装节点获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端,直至所述直播分片文件发送完毕。
可选的,网络节点还可以将从内容封装节点获取的新封装的文件块存储到本地。这样,在网络节点将新封装的文件块发送给第一客户端之后,若网络节点再次获取到第二客户端针对该直播分片文件的直播内容请求时,此时新封装的文件块对于第二客户端来说,已变成直播分片文件的已封装的文件块,这样,网络节点便可以直接从本地获取上述已封装的文件块和新封装的文件块,并将上述已封装的文件块和新封装的文件块发送给第二客户端,无需再次向内容封装节点回源请求该直播分片文件,降低了对内容封装节点的访问量。
继续以上述S102中的例子为例,假设内容封装节点新封装的文件块为文件块9和文件块10,这样,网络节点还需继续获取直播分片文件的文件块9和文件块10,并将文件块9和文件块10发送给客户端,直至将直播分片文件的12个文件块全部发送完毕。
通过上述实施例所述的过程,可以看出,在整个直播过程中,网络节点是以文件块的形式向客户端传输直播分片文件,即只要内容封装节点封装一个直播分片文件的文件块,网络节点便可以获取一个文件块并发送给客户端,无需等待整个直播分片文件全部生成以后再向客户端进行传输,从而大大降低了直播过程的端到端时延。
本申请实施例提供的直播方法,在获取到第一客户端的直播内容请求之后,网络节点根据所述直播内容请求,获取已封装的文件块,并将所述已封装的文件块发送给所述第一客户端,继续获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端,直至所述直播分片文件发送完毕。由于网络节点在收到第一客户端的直播内容请求之后,可以通过传输直播分片文件的文件块,来向第一客户端传输直播内容,即在直播分片文件的生成过程中便可以分发直播分片文件的内容,无需等待整个直播分片文件全部生成后再向第一客户端传输直播分片文件,从而大大降低了直播过程中端到端的直播时延。
在一个实施例中,针对多用户请求直播的场景,还提供了一种直播方法。具体的,在上述S102之后,可选的,该方法还包括:获取第二客户端针对所述直播分片文件的直播内容请求;从本地获取所述已封装的文件块,并将所述已封装的文件块发送给所述第二客户端;继续从内容封装节点获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端和所述第二客户端,直至所述直播分片文件发送完毕。
可选的,在网络节点与内容封装节点之间的通信链路出现异常时,若网络节点与所述内容封装节点通信中断时长达到时长阈值,则删除本地存储的已封装的文件块和新封装的文件块。这样,在与内容封装节点间的通信链路恢复正常之后,若再次接收到第一客户端针对该直播分片文件的直播内容请求,则网络节点重新从内容封装节点获取已封装的文件块,并发送获取的已封装的文件块给第一客户端,以及继续从内容封装节点获取新封装的文件块,并将新封装的文件块发送给第一客户端,直至该直播分片文件发送完毕。
在本实施例中,网络节点在从内容封装节点获取已封装的文件块和新封装的文件块的同时,还可以将从内容封装节点获取的已封装的文件块和新封装的文件块存储到本地,使得在其它客户端再次请求该直播分片文件时,网络节点便可以直接从本地获取已封装的文件块和新封装的文件块,并发送给该其它客户端,无需再次向内容封装节点回源请求直播分片文件,降低了对内容封装节点的并发访问量,从而避免了内容封装节点同一时刻访问量过大造成的宕机问题。
为了便于本领域技术人员的理解,以下针对不同的情况,来具体介绍本申请实施例所述的直播方法,下述实施例均以如图3所示的情况为例进行介绍:12个文件块构成一个直播分片文件,内容封装节点按照moof/mdat Chunk的方式正在生成直播分片文件,在网络节点获取到客户端的直播内容请求的时刻,内容封装节点已经封装了8个文件块,还有4个文件块未封装(图3中的阴影部分为直播分片文件已封装的文件块,非阴影部分为直播分片文件还未封装的文件块)。具体的:
第一种情况,网络节点首次获取到第一客户端的直播内容请求,即单用户直播场景,针对该情况,如图4所示,该方法可以包括:
S201、获取第一客户端的直播内容请求。
其中,直播内容请求用于请求直播分片文件,其可以包括直播分片文件的信息,如可以包括直播分片文件的URL信息。对于客户端如何获取直播分片文件的URL信息的过程可以参照上述实施例所述的过程,本申请实施例在此不再赘述。
S202、根据所述直播内容请求,检测到本地不存在所述直播分片文件的文件块,从内容封装节点获取已封装的文件块,将所述已封装的文件块发送给所述第一客户端,并将获取的已封装的文件块存储到本地。
其中,参见图5,假设在T0时刻,网络节点从内容封装节点获取到直播分片文件第4个已封装的文件块,网络节点在将获取到的第4个文件块发送给第一客户端的同时,还将第4个文件块存储到本地。此时,网络节点本地已经存储了4个文件块,这4个文件块分别为标识为1、2、3和4的文件块。网络节点继续依次获取标识为5、6、7和8的已封装的文件块。
S203、继续获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端,直至所述直播分片文件发送完毕。
其中,在获取到直播分片文件的新封装的文件块之后,网络节点还将获取的新封装的文件块存储到本地。
第二种情况,网络节点与第一客户端之间的传输控制协议(TransmissionControl Protocol,TCP)链路仍然保持的情况下,在网络节点将已封装的文件块发送给第一客户端之后,网络节点再次获取到第二客户端针对该直播分片文件的直播内容请求,即多用户直播场景,针对该情况,如图6所示,该方法可以包括:
S301、获取第一客户端的直播内容请求。
S302、根据所述直播内容请求,检测到本地不存在所述直播分片文件的文件块,从内容封装节点获取已封装的文件块,将所述已封装的文件块发送给所述第一客户端,并将获取的已封装的文件块存储到本地。
S303、获取第二客户端针对所述直播分片文件的直播内容请求。
S304、从本地获取所述已封装的文件块,并将所述已封装的文件块发送给所述第二客户端。
其中,参见图7,假设在T0时刻,网络节点接收到第二客户端的直播内容请求,此时,网络节点从本地获取上述存储的标识为1、2、3和4的文件块,并将这4个文件块发送给第二客户端。网络节点与第一客户端和第二客户端之间的TCP链路继续保持,在T1时刻,网络节点从内容封装节点获取到标识为5的已封装的文件块,网络节点将标识为5的已封装的文件块追加发送给第一客户端和第二客户端,并将标识为5的已封装的文件块存储在本地。网络节点继续依次获取标识为6、7和8的已封装的文件块。
S305、继续从内容封装节点获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端和第二客户端,直至所述直播分片文件发送完毕。
第三种情况,假设在还没有将所有已封装的文件块全部发送给第一客户端的情况下,第一客户端退出播放,即网络节点与第一客户端之间的TCP链路释放,第二客户端继续播放,即网络节点与第二客户端之间的TCP链路仍然保持的情况下,网络节点继续从内容封装节点获取还未分发的已封装的文件块,将还未分发的已封装的文件块发送给第二客户端,并将获取的该部分已封装的文件块存储到本地;以及继续从内容封装节点获取新封装的文件块,将所述新封装的文件块发送给第二客户端,并将所述新封装的文件块存储到本地。
其中,继续以上述第二种情况的例子为例,参见图8,网络节点继续获取标识为6、7、8的已封装的文件块,将获取的标识为6、7、8的已封装的文件块追加发送给第二客户端,并将标识为6、7、8的已封装的文件块存储到本地。当然,网络节点仍继续获取所述直播分片文件新封装的文件块,并将所述新封装的文件块发送给第二客户端,直至所述直播分片文件发送完毕。
第四种情况,在实际应用中,网络节点与内容封装节点之间的通信链路会出现异常,针对此情况,网络节点会监测与内容封装节点通信中断时长,若与内容封装节点通信中断时长达到时长阈值,则删除本地存储的直播分片文件的已封装的文件块和新封装的文件块。可选的,在与内容封装节点间的通信链路恢复正常之后,若网络节点再次获取到第一客户端的直播内容请求,网络节点根据该直播内容请求,从内容封装节点获取该直播分片文件的已封装的文件块,并将已封装的文件块发送给第一客户端,以及将已封装的文件块存储到本地;继续获取该直播分片文件的新封装的文件块,并将新封装的文件块发送给第一客户端,直至所述直播分片文件发送完毕,以及将新封装的文件块存储到本地。
其中,在网络节点将标识为6、7、8的文件块追加发送给第二客户端之后,网络节点与内容封装节点之间的通信链路出现异常。若与内容封装节点通信中断时长未达到时长阈值,且再次获取到第一客户端的直播内容请求,则网络节点从本地获取标识为1、2、3、4、5、6、7和8的文件块,并将这8个文件块依次发送给第一客户端;继续从内容封装节点获取新封装的文件块,并将新封装的文件块发送给第一客户端,直至直播分片文件发送完毕。若与内容封装节点通信中断时长达到时长阈值,则网络节点删除本地存储的这8个文件块。在与内容封装节点间的通信链路恢复正常之后,若网络节点再次获取到第一客户端的直播内容请求,网络节点根据该直播内容请求,从内容封装节点重新依次获取这8个文件块,将这8个文件块依次发送给第一客户端,同时将这8个已封装的文件块存储到本地;并继续获取标识为9、10、11和12新封装的文件块,并将这4个新封装的文件块依次发送给第一客户端,直至直播分片文件发送完毕,同时将这4个新封装的文件块存储到本地。
图9为本申请实施例提供的一种直播装置的结构示意图。如图9所示,该装置可以包括:第一获取模块20、第二获取模块21、第一发送模块22、第三获取模块23和第二发送模块24。
具体的,第一获取模块20用于获取第一客户端的直播内容请求,所述直播内容请求用于请求直播分片文件;
第二获取模块21用于根据所述直播内容请求,获取已封装的文件块,其中,所述已封装的文件块为生成所述直播分片文件的部分文件块;
第一发送模块22用于将所述已封装的文件块发送给所述第一客户端;
第三获取模块23用于继续获取新封装的文件块,其中,所述新封装的文件块为生成所述直播分片文件的另一部分文件块;
第二发送模块24用于将所述新封装的文件块发送给所述第一客户端,直至所述直播分片文件发送完毕。
本申请实施例提供的直播装置,在获取到第一客户端的直播内容请求之后,网络节点根据所述直播内容请求,获取已封装的文件块,并将所述已封装的文件块发送给所述第一客户端,继续获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端,直至所述直播分片文件发送完毕。由于网络节点在收到第一客户端的直播内容请求之后,可以通过传输直播分片文件的文件块,来向第一客户端传输直播内容,即在直播分片文件的生成过程中便可以分发直播分片文件的内容,无需等待整个直播分片文件全部生成后再向第一客户端传输直播分片文件,从而大大降低了直播过程中端到端的直播时延。
在上述实施例的基础上,可选的,第二获取模块21具体用于根据所述直播内容请求检测到本地不存在所述直播分片文件的文件块,则从内容封装节点获取已封装的文件块;
该装置还包括:第一存储模块;
具体的,第一存储模块用于将从内容封装节点获取的已封装的文件块存储到本地。
在上述实施例的基础上,可选的,该装置还包括:第四获取模块和第五获取模块;
具体的,第四获取模块用于在第一发送模块22将所述已封装的文件块发送给所述第一客户端之后,获取第二客户端针对所述直播分片文件的直播内容请求;
第五获取模块用于从本地获取所述已封装的文件块;
第一发送模块22还用于将所述已封装的文件块发送给所述第二客户端;
第三获取模块23具体用于继续从内容封装节点获取新封装的文件块;对应地,第二发送模块24具体用于将所述新封装的文件块发送给所述第一客户端和所述第二客户端,直至所述直播分片文件发送完毕。
在上述实施例的基础上,可选的,第二获取模块21具体用于根据所述直播内容请求检测到本地存储有所述直播分片文件的文件块,则从本地获取已封装的文件块。
在上述实施例的基础上,可选的,第三获取模块23具体用于继续从内容封装节点获取新封装的文件块;对应地,第二发送模块24具体用于将所述新封装的文件块发送给所述第一客户端,直至所述直播分片文件发送完毕。
在上述实施例的基础上,可选的,该装置还包括:第二存储模块;
具体的,第二存储模块用于将从内容封装节点获取的新封装的文件块存储到本地。
在上述实施例的基础上,可选的,该装置还包括:删除模块;
具体的,删除模块用于与所述内容封装节点通信中断时长达到时长阈值时,删除本地存储的所述已封装的文件块和所述新封装的文件块。
在一个实施例中,提供了一种通信节点,该通信节点可以为CDN中的边缘节点,其内部结构图可以如图10所示。该通信节点包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储直播过程中产生的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种直播方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的通信节点的限定,具体的通信节点可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种通信节点,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取第一客户端的直播内容请求,所述直播内容请求用于请求直播分片文件;
根据所述直播内容请求,获取已封装的文件块,并将所述已封装的文件块发送给所述第一客户端,其中,所述已封装的文件块为生成所述直播分片文件的部分文件块;
继续获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端,直至所述直播分片文件发送完毕,其中,所述新封装的文件块为生成所述直播分片文件的另一部分文件块。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据所述直播内容请求检测到本地不存在所述直播分片文件的文件块,则从内容封装节点获取已封装的文件块;以及将从内容封装节点获取的已封装的文件块存储到本地。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取第二客户端针对所述直播分片文件的直播内容请求;从本地获取所述已封装的文件块,并将所述已封装的文件块发送给所述第二客户端;继续从内容封装节点获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端和所述第二客户端,直至所述直播分片文件发送完毕。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据所述直播内容请求检测到本地存储有所述直播分片文件的文件块,则从本地获取已封装的文件块。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:继续从内容封装节点获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端,直至所述直播分片文件发送完毕。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将从内容封装节点获取的新封装的文件块存储到本地。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:与所述内容封装节点通信中断时长达到时长阈值,则删除本地存储的所述已封装的文件块和所述新封装的文件块。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取第一客户端的直播内容请求,所述直播内容请求用于请求直播分片文件;
根据所述直播内容请求,获取已封装的文件块,并将所述已封装的文件块发送给所述第一客户端,其中,所述已封装的文件块为生成所述直播分片文件的部分文件块;
继续获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端,直至所述直播分片文件发送完毕,其中,所述新封装的文件块为生成所述直播分片文件的另一部分文件块。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据所述直播内容请求检测到本地不存在所述直播分片文件的文件块,则从内容封装节点获取已封装的文件块;以及将从内容封装节点获取的已封装的文件块存储到本地。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取第二客户端针对所述直播分片文件的直播内容请求;从本地获取所述已封装的文件块,并将所述已封装的文件块发送给所述第二客户端;继续从内容封装节点获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端和所述第二客户端,直至所述直播分片文件发送完毕。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据所述直播内容请求检测到本地存储有所述直播分片文件的文件块,则从本地获取已封装的文件块。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:继续从内容封装节点获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端,直至所述直播分片文件发送完毕。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将从内容封装节点获取的新封装的文件块存储到本地。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:与所述内容封装节点通信中断时长达到时长阈值,则删除本地存储的所述已封装的文件块和所述新封装的文件块。
上述实施例中提供的直播装置、通信节点以及存储介质可执行本申请任意实施例所提供的直播方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的直播方法。
以上所述,仅为本申请的示例性实施例而已,并非用于限定本申请的保护范围。
一般来说,本申请的多种实施例可以在硬件或专用电路、软件、逻辑或其任何组合中实现。例如,一些方面可以被实现在硬件中,而其它方面可以被实现在可以被控制器、微处理器或其它计算装置执行的固件或软件中,尽管本申请不限于此。
本申请的实施例可以通过移动装置的数据处理器执行计算机程序指令来实现,例如在处理器实体中,或者通过硬件,或者通过软件和硬件的组合。计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码。
本申请附图中的任何逻辑流程的框图可以表示程序步骤,或者可以表示相互连接的逻辑电路、模块和功能,或者可以表示程序步骤与逻辑电路、模块和功能的组合。计算机程序可以存储在存储器上。存储器可以具有任何适合于本地技术环境的类型并且可以使用任何适合的数据存储技术实现,例如但不限于只读存储器(ROM)、随机访问存储器(RAM)、光存储器装置和系统(数码多功能光碟DVD或CD光盘)等。计算机可读介质可以包括非瞬时性存储介质。数据处理器可以是任何适合于本地技术环境的类型,例如但不限于通用计算机、专用计算机、微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、可编程逻辑器件(FGPA)以及基于多核处理器架构的处理器。
通过示范性和非限制性的示例,上文已提供了对本申请的示范实施例的详细描述。但结合附图和权利要求来考虑,对以上实施例的多种修改和调整对本领域技术人员来说是显而易见的,但不偏离本发明的范围。因此,本发明的恰当范围将根据权利要求确定。
Claims (10)
1.一种直播方法,其特征在于,包括:
获取第一客户端的直播内容请求,所述直播内容请求用于请求直播分片文件;
根据所述直播内容请求,获取已封装的文件块,并将所述已封装的文件块发送给所述第一客户端,其中,所述已封装的文件块为生成所述直播分片文件的部分文件块;
继续获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端,直至所述直播分片文件发送完毕,其中,所述新封装的文件块为生成所述直播分片文件的另一部分文件块。
2.根据权利要求1所述的方法,其特征在于,所述根据所述直播内容请求,获取已封装的文件块,包括:根据所述直播内容请求检测到本地不存在所述直播分片文件的文件块,则从内容封装节点获取已封装的文件块;
所述方法还包括:将从内容封装节点获取的已封装的文件块存储到本地。
3.根据权利要求2所述的方法,其特征在于,在所述将所述已封装的文件块发送给所述第一客户端之后,所述方法还包括:
获取第二客户端针对所述直播分片文件的直播内容请求;
从本地获取所述已封装的文件块,并将所述已封装的文件块发送给所述第二客户端;
对应地,所述继续获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端,直至所述直播分片文件发送完毕,包括:
继续从内容封装节点获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端和所述第二客户端,直至所述直播分片文件发送完毕。
4.根据权利要求1所述的方法,其特征在于,所述根据所述直播内容请求,获取已封装的文件块,包括:
根据所述直播内容请求检测到本地存储有所述直播分片文件的文件块,则从本地获取已封装的文件块。
5.根据权利要求4所述的方法,其特征在于,所述继续获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端,直至所述直播分片文件发送完毕,包括:
继续从内容封装节点获取新封装的文件块,并将所述新封装的文件块发送给所述第一客户端,直至所述直播分片文件发送完毕。
6.根据权利要求3或5所述的方法,其特征在于,还包括:将从内容封装节点获取的新封装的文件块存储到本地。
7.根据权利要求6所述的方法,其特征在于,还包括:
与所述内容封装节点通信中断时长达到时长阈值,则删除本地存储的所述已封装的文件块和所述新封装的文件块。
8.一种直播装置,其特征在于,包括:
第一获取模块,用于获取第一客户端的直播内容请求,所述直播内容请求用于请求直播分片文件;
第二获取模块,用于根据所述直播内容请求,获取已封装的文件块,其中,所述已封装的文件块为生成所述直播分片文件的部分文件块;
第一发送模块,用于将所述已封装的文件块发送给所述第一客户端;
第三获取模块,用于继续获取新封装的文件块,其中,所述新封装的文件块为生成所述直播分片文件的另一部分文件块;
第二发送模块,用于将所述新封装的文件块发送给所述第一客户端,直至所述直播分片文件发送完毕。
9.一种网络节点,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-7中任一项所述方法的步骤。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010577332.1A CN113905243A (zh) | 2020-06-22 | 2020-06-22 | 直播方法、装置、网络节点和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010577332.1A CN113905243A (zh) | 2020-06-22 | 2020-06-22 | 直播方法、装置、网络节点和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113905243A true CN113905243A (zh) | 2022-01-07 |
Family
ID=79186740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010577332.1A Pending CN113905243A (zh) | 2020-06-22 | 2020-06-22 | 直播方法、装置、网络节点和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113905243A (zh) |
-
2020
- 2020-06-22 CN CN202010577332.1A patent/CN113905243A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107566786B (zh) | 一种获取监控视频的方法、装置及终端设备 | |
US9374403B2 (en) | Media stream fragment request | |
CN109068153B (zh) | 视频播放方法、装置和计算机可读存储介质 | |
CN106301865B (zh) | 应用于服务提供设备的数据处理方法和设备 | |
CN104539977A (zh) | 直播预览方法及装置 | |
WO2015106692A1 (en) | Webpage pushing method, client, server, and system | |
AU2020315416B2 (en) | Extension for targeted invalidation of cached assets | |
EP3384493A1 (en) | Method and apparatus for transmitting video data | |
CN111355971B (zh) | 直播流传输方法、装置、cdn服务器及计算机可读介质 | |
CN110401858B (zh) | 一种视频播放方法、装置、电子设备及存储介质 | |
US20160112492A1 (en) | Method and apparatus for providing network resources at intermediary server | |
US20150296014A1 (en) | Picture download method and apparatus | |
US7908391B1 (en) | Application streaming and network file system optimization via feature popularity | |
CN112437329A (zh) | 一种播放视频的方法、装置、设备、及可读存储介质 | |
EP3125541A1 (en) | Data acquisition and interaction method, set top box, server and multimedia system | |
US11711445B2 (en) | Configurable access-based cache policy control | |
CN116261021B (zh) | 一种视频流播放方法、装置、电子设备及存储介质 | |
CN111835801B (zh) | 文件下载方法、装置、服务器、边缘设备、终端及介质 | |
US9369467B1 (en) | System, method, and computer program for providing generic access to web content on a mobile device | |
CN113905243A (zh) | 直播方法、装置、网络节点和存储介质 | |
CN111090818A (zh) | 资源管理方法、资源管理系统、服务器及计算机存储介质 | |
KR102196403B1 (ko) | 재지향 감소 | |
US20200272568A1 (en) | Adaptive retrieval of objects from remote storage | |
CN113301081B (zh) | 一种针对内容分发网路的数据处理方法、装置、电子设备 | |
CN113473247B (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 |