CN110324727A - 计算机可读存储介质、服务器及其响应播放请求的方法 - Google Patents
计算机可读存储介质、服务器及其响应播放请求的方法 Download PDFInfo
- Publication number
- CN110324727A CN110324727A CN201910642383.5A CN201910642383A CN110324727A CN 110324727 A CN110324727 A CN 110324727A CN 201910642383 A CN201910642383 A CN 201910642383A CN 110324727 A CN110324727 A CN 110324727A
- Authority
- CN
- China
- Prior art keywords
- server
- terminal
- playing request
- sent
- 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 43
- 238000004590 computer program Methods 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 239000012634 fragment Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004321 preservation Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 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
- 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/2183—Cache memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/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/233—Processing of audio elementary streams
-
- 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/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6581—Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
-
- 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/835—Generation of protective data, e.g. certificates
- H04N21/8352—Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
-
- 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/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
-
- 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
Abstract
本申请公开了一种响应播放请求的方法,该方法包括:服务器接收来自终端的播放请求;服务器判断播放请求是否为终端向服务器发送的第一个播放请求;服务器在判断到播放请求是终端向服务器发送的第一个播放请求时,等待服务器当前正在从源站缓存的视频分片缓存完成的时刻生成第一索引文件并发送至终端。本申请还公开了一种服务器和一种计算机可读存储介质。通过上述方式,本申请能够降低直播视频时的延时。
Description
技术领域
本发明涉及流媒体播放技术领域,特别是涉及一种计算机可读存储介质、服务器及其响应播放请求的方法。
背景技术
HLS(HTTP Live Streaming)是由一种基于http协议(Hypertext transferprotocol,超文本传输协议)的流媒体网络传输协议,由于其具有简单,自适应,可以实现无插件化播放等优点,是目前全球运用最为广泛的网络传输协议之一,尤其适用于移动互联网流媒体领域。
在HLS协议用于流源为RTSP(Real Time Streaming Protocol,实时流传输协议)或RTMP(Real Time Messaging Protocol,实时消息传输协议)等实时流协议的直播系统时,广泛存在直播延时比较高的问题。
发明内容
本申请主要解决的技术问题是提供一种计算机可读存储介质、服务器及其响应播放请求的方法,能够降低直播视频时的延时。
为解决上述技术问题,本申请实施例采用的一个技术方案是:提供一种响应播放请求的方法,该方法包括:服务器接收来自终端的播放请求;服务器判断播放请求是否为终端向服务器发送的第一个播放请求;服务器在判断到播放请求是终端向服务器发送的第一个播放请求时,等待服务器当前正在从源站缓存的视频分片缓存完成的时刻生成第一索引文件并发送至终端。
其中,方法进一步包括:服务器在判断到播放请求不是终端向服务器发送的第一个播放请求时,直接根据当前从源站已缓存的视频分片生成第二索引文件并发送至终端。
其中,方法包括:服务器在接收到来自终端的播放请求时,给终端分配唯一识别码;服务器判断播放请求是否为终端向服务器发送的第一个播放请求的步骤,包括:服务器根据唯一识别码来判断播放请求是否为终端向服务器发送的第一个播放请求。
其中,服务器在接收到来自终端的播放请求时,给终端分配唯一识别码的步骤,包括:服务器在接收到来自终端的播放请求时,给终端发送唯一识别码和重定向地址,以允许终端根据重定向地址继续向服务器发送播放请求。
其中,方法包括:服务器在接收到来自终端的播放请求时,记录接收到终端的播放请求及序次,并与终端的唯一识别码关联保存,以建立终端的唯一识别码与次数的对应关系表;服务器根据唯一识别码来判断播放请求是否为终端向服务器发送的第一个播放请求的步骤,包括:服务器根据唯一识别码在对应关系表中查找对应的次数,并根据对应的次数判断播放请求是否为终端向服务器发送的第一个播放请求。
其中,服务器为HLS服务器,播放请求为M3U8请求,索引文件为M3U8索引文件。
为解决上述技术问题,本申请实施例采用的另一个技术方案是:提供一种服务器,该服务器包括处理器和与处理器电连接的存储器,存储器用于存储计算机程序,处理器用于调用计算机程序以执行上述的方法。
为解决上述技术问题,本申请实施例采用的又一个技术方案是:提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,计算机程序能够被调用以执行上述的方法。
本申请实施例通过服务器接收来自终端的播放请求;服务器判断播放请求是否为终端向服务器发送的第一个播放请求;服务器在判断到播放请求是终端向服务器发送的第一个播放请求时,等待服务器当前正在从源站缓存的视频分片缓存完成的时刻生成第一索引文件并发送至终端,终端根据第一索引文件下载视频分片播放时,能够降低直播视频时的延时。
附图说明
图1是本申请实施例响应播放请求的方法的流程示意图;
图2是现有技术服务器响应播放请求的时间点的示意图;
图3是本申请实施例服务器响应播放请求的时间点的示意图;
图4是本申请实施例服务器的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
请参阅图1,图1是本申请实施例响应播放请求的方法的流程示意图。
在本实施例中,响应播放请求的方法可以包括以下步骤:
步骤S101:服务器接收来自终端的播放请求。
其中,服务器可以为HLS服务器,播放请求可以为M3U8请求,索引文件可以为M3U8索引文件。终端可以是具有播放功能的电子设备,例如智能手机、平板电脑、台式电脑、笔记本电脑等等。
步骤S102:服务器判断播放请求是否为终端向服务器发送的第一个播放请求。
在一种实施方式中,服务器在接收到来自终端的播放请求时,给该终端分配唯一识别码;服务器判断播放请求是否为终端向服务器发送的第一个播放请求的步骤,包括:服务器根据唯一识别码来判断播放请求是否为终端向服务器发送的第一个播放请求。
唯一识别码用于标识不同终端。唯一识别码可以是UUID(Universally UniqueIdentifier,通用唯一识别码)。
服务器在接收到来自终端的播放请求时,给终端分配唯一识别码的步骤,包括:服务器在接收到来自终端的播放请求时,给终端发送唯一识别码和重定向地址,以允许终端根据重定向地址继续向服务器发送播放请求。
在一种实施方式中,服务器在接收到来自终端的播放请求时,累计接收到该终端的播放请求的次数,并与终端的唯一识别码关联保存,以建立终端的唯一识别码与次数的对应关系表;
服务器根据唯一识别码来判断播放请求是否为终端向服务器发送的第一个播放请求的步骤,包括:服务器根据唯一识别码在对应关系表中查找对应的次数,并根据对应的次数判断播放请求是否为该终端向服务器发送的第一个播放请求。
在步骤S102中,若判断到播放请求是该终端向服务器发送的第一个播放请求,则执行步骤S103;判断到播放请求不是该终端向服务器发送的第一个播放请求,则执行步骤S104。
服务器判断播放请求是否为终端向服务器发送的第一个播放请求的步骤包括:服务器判断播放请求是否是首开用户的播放请求,如果是,则将从源站接收的实时视频数据流切片为多个视频分片缓存在内存中。
步骤S103:等待服务器当前正在从源站缓存的视频分片缓存完成的时刻生成第一索引文件并发送至终端。
步骤S104:直接根据当前从源站已缓存的视频分片生成第二索引文件并发送至终端。
在HLS协议用于流源为RTSP(Real Time Streaming Protocol,实时流传输协议)或RTMP(Real Time Messaging Protocol,实时消息传输协议)等实时流协议的视频直播系统时,工作流程是终端向HLS服务器请求播放某个直播资源,HLS服务器先通过RTSP或RTMP把直播流从直播源站拉取过来,并将直播流(即,实时视频数据流)切片为一个个的TS(Transport Stream,传输流)视频分片,同时生成M3U8索引文件(UTF-8编码格式的M3U文件)返回给播放终端,播放终端按照M3U8索引文件顺序下载每个TS视频分片进行播放,HLS服务器的切片实现是先缓存完成一定数量的TS切片数后才返回M3U8索引文件给播放终端,由于HLS协议的这种实现机制,在HLS协议用于流源为RTSP或RTMP等实时流协议的直播系统时,存在直播延时比较高的问题。
M3U8索引文件是指UTF-8编码格式的M3U文件。M3U文件是记录了一个索引纯文本文件,播放终端接收到打开M3U8索引文件的指令时,根据M3U8索引文件的索引找到对应的视频分片的网络地址进行在线播放。M3U8索引文件包括视频分片的播放列表信息,指示视频分片播放的先后顺序和视频分片的长度。
相应的,M3U8播放请求是播放终端向服务器发起的用于请求M3U8索引文件的播放请求。在播放终端向服务器发送M3U8播放请求之后,服务器可以响应该请求并向终端发送M3U8索引文件。
如图2所示,图2是现有技术服务器响应播放请求的时间点的示意图。上述流源为RTSP或RTMP等实时流协议的HLS直播系统的切片方案中,假设服务器预设的缓存视频分片数为N个,每个视频分片的切片时长为T秒,对于首开终端(首开终端是指第一次请求某个直播源站的视频资源的终端),服务器缓存完N个ts视频分片就生成M3U8索引文件给用户,所以首开终端的直播延时为N*T秒,对于非首开终端(非首开终端是指不是第一次请求某个直播源站的视频资源的终端),例如在t1时间点接受到M3U8播放请求,根据传统的M3U8生成方案,服务器会给该终端返回已缓存的N个TS视频分片的M3U8索引文件,那么如果在N+1个视频分片正在缓存中时,例如,在第N个视频分片缓存完成后的t秒的时间点(t1时间点),如果服务器接收到其他的非首开终端的播放请求,按照传统的方案,对于该非首开终端的延时为:N*T+t秒(0≤t<T),可见对于非首开终端比首开终端总是会多出t(0≤t<T)秒的延时。
如图3所示,图3是本申请实施例服务器响应播放请求的时间点的示意图。
对于接收到的来自终端的第一次发送的播放请求,等待服务器当前正在从源站缓存的视频分片缓存完成的时刻生成第一索引文件并发送至终端,即在图中所示的t2时刻生成第一索引文件并将第一索引文件发送至终端。
对于接收到的来自终端的不是第一次发送的播放请求,直接根据当前从源站已缓存的视频分片生成第二索引文件并发送至终端,即在图中所示的t1时刻生成第二索引文件并将第一索引文件发送至终端。
本申请实施例的方法可以将非首开终端的直播延时降为与首开终端相同的延时N*T秒(N为服务器预设的缓存切片数,T为ts分片的切片时长),同时服务器依然能够复用同一个视频分片缓存,不会增加额外的系统和内存上的开销。
在上述实施方式中,服务器在接收到来自终端的播放请求后,没有判断该终端是非首开终端还是首开终端,即无论是首开终端还是非首开终端,均执行以下步骤:判断到播放请求是该终端向服务器发送的第一个播放请求,则执行步骤S103;判断到播放请求不是该终端向服务器发送的第一个播放请求,则执行步骤S104。
步骤S103:等待服务器当前正在从源站缓存的视频分片缓存完成的时刻生成第一索引文件并发送至终端。
步骤S104:直接根据当前从源站已缓存的视频分片生成第二索引文件并发送至终端。
通过上述方式,对于非首开终端和首开终端不做区分,均采用上述的判断流程可以节省硬件资源,判断过程简单,同时可以减少非首开终端的直播延时。
在另一种实施方式中,服务器可以进一步在接收到来自终端的播放请求后(在步骤S101后和步骤S102前)增加以下判断步骤:判断终端的播放请求是否是对终端所请求的源站的第一次请求(即判断终端是否为首开终端),在判断到终端是首开终端时,执行以下步骤:直接根据当前从源站已缓存的视频分片生成第二索引文件并发送至终端。在判断到终端为非首开终端时才执行以下步骤:判断到播放请求是该终端向服务器发送的第一个播放请求,则执行步骤S103;判断到播放请求不是该终端向服务器发送的第一个播放请求,则执行步骤S104。步骤S103:等待服务器当前正在从源站缓存的视频分片缓存完成的时刻生成第一索引文件并发送至终端。步骤S104:直接根据当前从源站已缓存的视频分片生成第二索引文件并发送至终端。通过上述方式,可以减少首开终端的首屏时间,同时减少非首开终端的直播延时。
在一种实施方式中,服务器在接收到来自终端的播放请求时,记录该终端向其请求的源站的请求及序次(顺序和次数),并与终端的唯一识别码关联保存,以建立终端的唯一识别码、次数、源站的对应关系表。
判断终端的播放请求是否是对终端所请求的源站的第一次请求的步骤,包括:服务器根据唯一识别码在对应关系表中查找对应源站和对该源站的请求次数,并根据请求次数判断终端的播放请求是否是对终端所请求的源站的第一次请求。
可选地,生成第一索引文件并发送至终端的步骤,可以包括:生成第一索引文件并发送至终端,以允许终端按第一索引文件指示的顺序向服务器请求对应的视频分片。终端在接收到第一索引文件后根据第一索引文件指示的顺序向服务器依次请求对应的视频分片,并进行播放。
可选地,生成第二索引文件并发送至终端的步骤,可以包括:生成第二索引文件并发送至终端,以允许终端按第二索引文件指示的顺序向服务器请求对应的视频分片。终端在接收到第二索引文件后根据第二索引文件指示的顺序向服务器依次请求对应的视频分片,并进行播放。
请参阅图4,图4是本申请实施例服务器的硬件结构示意图。
在本实施例中,服务器可以至少包括处理器41和与处理器41电连接的存储器42,存储器42用于执行计算机程序,处理器41用于调用该计算机程序以执行上述任意一实施例的方法。
在本申请实施例中,服务器可以为HLS服务器。
在本申请所提供的几个实施方式中,应该理解到,所揭露的方法以及设备,可以通过其它的方式实现。例如,以上所描述的设备实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,该计算机程序能够被处理器执行以实现上述实施例中提供的方法。可以理解的,在本实施例中的可读存储介质存储的计算机程序,所用来执行的方法与上述实施例提供的方法类似,其原理和步骤相同,这里不再赘述。
其中,该存储介质可以为U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例通过服务器接收来自终端的播放请求;服务器判断播放请求是否为终端向服务器发送的第一个播放请求;服务器在判断到播放请求是终端向服务器发送的第一个播放请求时,等待服务器当前正在从源站缓存的视频分片缓存完成的时刻生成第一索引文件并发送至终端,终端根据第一索引文件下载视频分片播放时,能够降低播放视频时的延时。
以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (11)
1.一种响应播放请求的方法,其特征在于,所述方法包括:
服务器接收来自终端的播放请求;
所述服务器判断所述播放请求是否为所述终端向所述服务器发送的第一个播放请求;
所述服务器在判断到所述播放请求是所述终端向所述服务器发送的第一个播放请求时,等待所述服务器当前正在从源站缓存的视频分片缓存完成的时刻生成第一索引文件并发送至所述终端。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
所述服务器在判断到所述播放请求不是所述终端向所述服务器发送的第一个播放请求时,直接根据当前从所述源站已缓存的视频分片生成第二索引文件并发送至所述终端。
3.根据权利要求1所述的方法,其特征在于,所述方法包括:所述服务器在接收到来自终端的播放请求时,给所述终端分配唯一识别码;
所述服务器判断所述播放请求是否为所述终端向所述服务器发送的第一个播放请求的步骤,包括:
所述服务器根据所述唯一识别码来判断所述播放请求是否为所述终端向所述服务器发送的第一个播放请求。
4.根据权利要求2所述的方法,其特征在于,所述服务器在接收到来自终端的播放请求时,给所述终端分配唯一识别码的步骤,包括:
所述服务器在接收到来自终端的播放请求时,给所述终端发送唯一识别码和重定向地址,以允许所述终端根据重定向地址继续向所述服务器发送播放请求。
5.根据权利要求2所述的方法,其特征在于,所述方法包括:所述服务器在接收到来自终端的播放请求时,记录接收到所述终端的播放请求及序次,并与所述终端的唯一识别码关联保存,以建立终端的唯一识别码与次数的对应关系表;
所述服务器根据所述唯一识别码来判断所述播放请求是否为所述终端向所述服务器发送的第一个播放请求的步骤,包括:
所述服务器根据所述唯一识别码在所述对应关系表中查找对应的次数,并根据所述对应的次数判断所述播放请求是否为所述终端向所述服务器发送的第一个播放请求。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述服务器为HLS服务器,所述播放请求为M3U8请求,所述索引文件为M3U8索引文件。
7.根据权利要求1所述的方法,其特征在于,所述生成第一索引文件并发送至所述终端,包括:
生成所述第一索引文件并发送至所述终端,以允许所述终端按所述第一索引文件指示的顺序向所述服务器请求对应的视频分片。
8.根据权利要求2所述的方法,其特征在于,所述生成第二索引文件并发送至所述终端,包括:
生成所述第二索引文件并发送至所述终端,以允许所述终端按所述第二索引文件指示的顺序向所述服务器请求对应的视频分片。
9.根据权利要求1所述的方法,其特征在于,所述服务器判断所述播放请求是否为所述终端向所述服务器发送的第一个播放请求的步骤包括:
所述服务器判断所述播放请求是否是首开用户的播放请求,如果是,则将从所述源站接收的实时视频数据流切片为多个视频分片缓存在内存中。
10.一种服务器,其特征在于,所述服务器包括处理器和与所述处理器电连接的存储器,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序以执行如权利要求1-9任意一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序能够被执行以实现权利要求1-9任意一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910642383.5A CN110324727A (zh) | 2019-07-16 | 2019-07-16 | 计算机可读存储介质、服务器及其响应播放请求的方法 |
PCT/CN2019/121512 WO2021008061A1 (en) | 2019-07-16 | 2019-11-28 | Systems and methods for live streaming |
US17/647,985 US11849157B2 (en) | 2019-07-16 | 2022-01-14 | Systems and methods for live streaming |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910642383.5A CN110324727A (zh) | 2019-07-16 | 2019-07-16 | 计算机可读存储介质、服务器及其响应播放请求的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110324727A true CN110324727A (zh) | 2019-10-11 |
Family
ID=68123693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910642383.5A Pending CN110324727A (zh) | 2019-07-16 | 2019-07-16 | 计算机可读存储介质、服务器及其响应播放请求的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11849157B2 (zh) |
CN (1) | CN110324727A (zh) |
WO (1) | WO2021008061A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132750A (zh) * | 2021-04-16 | 2021-07-16 | 北京金山云网络技术有限公司 | 信息发送方法、装置和服务器 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113518236B (zh) * | 2021-05-12 | 2023-08-08 | 北京达佳互联信息技术有限公司 | 直播开播方法、装置、服务器及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140189146A1 (en) * | 2010-04-26 | 2014-07-03 | Samsung Electronics Co., Ltd. | Method and apparatus for playing live content |
CN105208463A (zh) * | 2015-08-31 | 2015-12-30 | 北京暴风科技股份有限公司 | 针对m3u8文件进行帧确定的方法和系统 |
CN105847941A (zh) * | 2016-03-17 | 2016-08-10 | 央广视讯传媒股份有限公司 | 一种基于hls协议的音视频流直播方法 |
CN106790005A (zh) * | 2016-12-13 | 2017-05-31 | 武汉市烽视威科技有限公司 | 实现低延时hls直播的系统及方法 |
CN108540868A (zh) * | 2018-05-16 | 2018-09-14 | 北京百度网讯科技有限公司 | Hls直播的处理方法、装置、服务器、终端及存储介质 |
CN108632680A (zh) * | 2017-03-21 | 2018-10-09 | 华为技术有限公司 | 一种直播内容的调度方法、调度服务器及终端 |
CN109151614A (zh) * | 2017-06-19 | 2019-01-04 | 中兴通讯股份有限公司 | 一种降低hls直播播放延迟的方法及装置 |
KR20190062815A (ko) * | 2017-11-29 | 2019-06-07 | 전자부품연구원 | 라이브 스트리밍 서버 장치 및 이의 운용 방법 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110296048A1 (en) * | 2009-12-28 | 2011-12-01 | Akamai Technologies, Inc. | Method and system for stream handling using an intermediate format |
US8769614B1 (en) * | 2009-12-29 | 2014-07-01 | Akamai Technologies, Inc. | Security framework for HTTP streaming architecture |
US9532092B1 (en) * | 2009-12-30 | 2016-12-27 | Akamai Technologies, Inc. | Multiple bitrate format-agnostic streaming architecture |
US20120265853A1 (en) * | 2010-12-17 | 2012-10-18 | Akamai Technologies, Inc. | Format-agnostic streaming architecture using an http network for streaming |
US9432704B2 (en) * | 2011-11-06 | 2016-08-30 | Akamai Technologies Inc. | Segmented parallel encoding with frame-aware, variable-size chunking |
CN104221390B (zh) * | 2012-04-26 | 2018-10-02 | 高通股份有限公司 | 用于处置低等待时间流送的增强型块请求流送系统 |
US9906590B2 (en) * | 2015-08-20 | 2018-02-27 | Verizon Digital Media Services Inc. | Intelligent predictive stream caching |
CN108632642B (zh) * | 2017-03-16 | 2021-09-03 | 杭州海康威视数字技术股份有限公司 | 流媒体推送方法及装置 |
CN107396205A (zh) | 2017-07-25 | 2017-11-24 | 观止云(北京)信息技术有限公司 | 一种低延时流化hls实现方法 |
CN108235064A (zh) * | 2017-12-05 | 2018-06-29 | 广州高清视信数码科技股份有限公司 | Hls流媒体直播方法及系统 |
-
2019
- 2019-07-16 CN CN201910642383.5A patent/CN110324727A/zh active Pending
- 2019-11-28 WO PCT/CN2019/121512 patent/WO2021008061A1/en active Application Filing
-
2022
- 2022-01-14 US US17/647,985 patent/US11849157B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140189146A1 (en) * | 2010-04-26 | 2014-07-03 | Samsung Electronics Co., Ltd. | Method and apparatus for playing live content |
CN105208463A (zh) * | 2015-08-31 | 2015-12-30 | 北京暴风科技股份有限公司 | 针对m3u8文件进行帧确定的方法和系统 |
CN105847941A (zh) * | 2016-03-17 | 2016-08-10 | 央广视讯传媒股份有限公司 | 一种基于hls协议的音视频流直播方法 |
CN106790005A (zh) * | 2016-12-13 | 2017-05-31 | 武汉市烽视威科技有限公司 | 实现低延时hls直播的系统及方法 |
CN108632680A (zh) * | 2017-03-21 | 2018-10-09 | 华为技术有限公司 | 一种直播内容的调度方法、调度服务器及终端 |
CN109151614A (zh) * | 2017-06-19 | 2019-01-04 | 中兴通讯股份有限公司 | 一种降低hls直播播放延迟的方法及装置 |
KR20190062815A (ko) * | 2017-11-29 | 2019-06-07 | 전자부품연구원 | 라이브 스트리밍 서버 장치 및 이의 운용 방법 |
CN108540868A (zh) * | 2018-05-16 | 2018-09-14 | 北京百度网讯科技有限公司 | Hls直播的处理方法、装置、服务器、终端及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132750A (zh) * | 2021-04-16 | 2021-07-16 | 北京金山云网络技术有限公司 | 信息发送方法、装置和服务器 |
Also Published As
Publication number | Publication date |
---|---|
US20220141501A1 (en) | 2022-05-05 |
US11849157B2 (en) | 2023-12-19 |
WO2021008061A1 (en) | 2021-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108391179B (zh) | 直播数据处理方法、装置、服务器、终端及存储介质 | |
US8880650B2 (en) | System and method for storing streaming media file | |
US8448063B2 (en) | Web media asset ID system and method | |
WO2019128800A1 (zh) | 一种内容服务的实现方法、装置及内容分发网络节点 | |
CN104126175B (zh) | 自适应流创建和输送中的虚拟化 | |
US20100077056A1 (en) | Content delivery network stream server vignette distribution | |
JP4904564B2 (ja) | コンテンツ配信システム、コンテンツ配信装置、コンテンツ再生端末およびコンテンツ配信方法 | |
CN108540868A (zh) | Hls直播的处理方法、装置、服务器、终端及存储介质 | |
CN104469433A (zh) | 一种视频直播回看方法及装置 | |
CN102647634A (zh) | 一种基于HTML5video的多分片视频播放方法及装置 | |
CN106658226B (zh) | 一种播放方法及装置 | |
EP2515536A1 (en) | Content distribution system, content distribution device, content playback terminal, and content distribution method | |
CN105847941A (zh) | 一种基于hls协议的音视频流直播方法 | |
CN110022482A (zh) | 视频起播方法、视频服务系统及存储介质 | |
CN109640113A (zh) | 一种拖拉视频数据的处理方法及代理服务器 | |
CN105871800A (zh) | 一种拉流控制的方法、装置及系统 | |
CN105828096A (zh) | 媒体流文件的处理方法和装置 | |
CN110324727A (zh) | 计算机可读存储介质、服务器及其响应播放请求的方法 | |
CN109089174B (zh) | 一种多媒体数据流的处理方法及装置、计算机存储介质 | |
US10284894B2 (en) | Methods and apparatus for naming video content chunks | |
CN109842804A (zh) | 音视频数据的处理方法及服务器、计算机存储介质 | |
JP2015136059A (ja) | 通信装置、通信データ生成方法、および通信データ処理方法 | |
CN110290396B (zh) | 一种视频处理的方法、装置、系统、设备和存储介质 | |
CN110113298B (zh) | 数据传输方法、装置、信令服务器和计算机可读介质 | |
CN108924630A (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: 20191011 |
|
RJ01 | Rejection of invention patent application after publication |