CN108540868A - Hls直播的处理方法、装置、服务器、终端及存储介质 - Google Patents
Hls直播的处理方法、装置、服务器、终端及存储介质 Download PDFInfo
- Publication number
- CN108540868A CN108540868A CN201810469121.9A CN201810469121A CN108540868A CN 108540868 A CN108540868 A CN 108540868A CN 201810469121 A CN201810469121 A CN 201810469121A CN 108540868 A CN108540868 A CN 108540868A
- Authority
- CN
- China
- Prior art keywords
- index
- file
- index information
- request
- information
- 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
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/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
-
- 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/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex 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/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/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
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种HLS直播的处理方法、装置、服务器、终端及存储介质,该方法包括:接收播放客户端发送的第一索引请求;获取第一索引文件,所述第一索引文件包括第一索引信息以及第二索引信息,所述第一索引信息为已生成TS切片文件的索引信息,所述第二索引信息为正在生成TS切片文件的索引信息和/或还未生成TS切片文件的索引信息;将所述第一索引文件发送给所述播放客户端,以使所述播放客户端根据所述第一索引文件中所包括的第一索引信息以及第二索引信息获取待播放的TS切片文件。解决了现有技术中服务器只能向播放客户端返回已生成的TS切片文件的索引信息,导致播放客户端播放画面相对于实际直播画面延迟较大的问题。
Description
技术领域
本申请涉及流媒体技术领域,尤其涉及一种HLS直播的处理方法、装置、服务器、终端及存储介质。
背景技术
随着互联网技术的发展及终端设备的进步,一种新的互联网使用模式逐步走进人们的生活。用户从互联网内容的获取者,逐渐同时具备了互联网内容提供者的角色。用户可以用终端设备(摄像机、麦克风、手机、平板电脑等)现场实时录制音视频,并实时分享到互联网,即流媒体的直播。
现有技术中,HLS(HTTP Live Streaming,HTTP协议直播流)直播是常用的直播方式之一。HLS直播的基本原理是:当推流端将采集的视频流推送到服务器时,服务器将收到的流信息每缓存一段时间就封包成一个新的TS(Transport Stream,传输流)文件(也可称为TS切片文件),同时服务器会建立一个m3u8(Moving Picture Experts Group AudioLayer 3Uniform Resource Locator,采用UTF-8编码的m3u文件)的索引文件来维护最新几个TS切片文件的索引。当用户想要通过客户端(播放端)观看直播时,用户的客户端需要向服务器发送m3u8索引请求,服务器向客户端返回当前最新生成的一个或多个TS切片文件的m3u8索引文件,客户端根据m3u8索引文件向服务器请求下载获取最新的TS切片文件来播放,从而保证用户在任何时候连接进来时都会看到较新的内容,实现近似直播的体验。
现有技术中的HLS直播方法,用户观看到的直播画面与实际的直播画面至少延迟一个TS切片文件的时长,通常为2-3个TS切片文件的时长。而现有的一个TS切片文件的时长为10秒,也就是说会延迟20-30秒,导致用户观看体验较差。
发明内容
本申请提供一种HLS直播的处理方法、装置、服务器、终端及存储介质,以解决现有技术直播播放延迟较大等缺陷。
本申请第一个方面提供一种HLS直播的处理方法,包括:
接收播放客户端发送的第一索引请求;
获取第一索引文件,所述第一索引文件包括第一索引信息以及第二索引信息,所述第一索引信息为已生成TS切片文件的索引信息,所述第二索引信息为正在生成TS切片文件的索引信息和/或还未生成TS切片文件的索引信息;
将所述第一索引文件发送给所述播放客户端,以使所述播放客户端根据所述第一索引文件中所包括的第一索引信息以及第二索引信息获取待播放的TS切片文件。
本申请第二个方面提供一种HLS直播的处理方法,包括:
向服务器发送第一索引请求;
接收所述服务器响应所述第一索引请求发送的第一索引文件,所述第一索引文件包括第一索引信息以及第二索引信息,所述第一索引信息为已生成TS切片文件的索引信息,所述第二索引信息为正在生成TS切片文件的索引信息和/或还未生成TS切片文件的索引信息;
根据所述第一索引文件,向所述服务器发送播放文件请求,所述播放文件请求包括所述第一索引信息以及所述第二索引信息;
接收所述服务器响应所述播放文件请求发送的第一索引信息对应的已生成TS切片文件,并进行播放处理;
等待接收第二索引信息对应的正在生成TS切片文件和/或还未生成TS切片文件。
本申请的第三个方面提供一种HLS直播的处理装置,包括:
第一接收模块,用于接收播放客户端发送的第一索引请求;
获取模块,用于获取第一索引文件,所述第一索引文件包括第一索引信息以及第二索引信息,所述第一索引信息为已生成TS切片文件的索引信息,所述第二索引信息为正在生成TS切片文件的索引信息和/或还未生成TS切片文件的索引信息;
第一发送模块,用于将所述第一索引文件发送给所述播放客户端,以使所述播放客户端根据所述第一索引文件中所包括的第一索引信息以及第二索引信息获取待播放的TS切片文件。
本申请的第四个方面提供一种HLS直播的处理装置,包括:
第二发送模块,用于向服务器发送第一索引请求;
第三接收模块,用于接收所述服务器响应所述第一索引请求发送的第一索引文件,所述第一索引文件包括第一索引信息以及第二索引信息,所述第一索引信息为已生成TS切片文件的索引信息,所述第二索引信息为正在生成TS切片文件的索引信息和/或还未生成TS切片文件的索引信息;
所述第二发送模块,还用于根据所述第一索引文件,向所述服务器发送播放文件请求,所述播放文件请求包括所述第一索引信息以及所述第二索引信息;
所述第三接收模块,还用于接收所述服务器响应所述播放文件请求发送的第一索引信息对应的已生成TS切片文件;
处理模块,用于进行播放处理;
所述第三接收模块,还用于等待接收第二索引信息对应的正在生成TS切片文件和/或还未生成TS切片文件。
本申请的第五个方面提供一种服务器,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现上述第一个方面提供的方法。
本申请的第六个方面提供一种终端,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现上述第二个方面提供的方法。
本申请的第七个方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现第一个方面提供的方法。
本申请的第八个方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现第二个方面提供的方法。
本申请提供的HLS直播的处理方法、装置、服务器、终端及存储介质,在播放客户端向服务器发送第一索引请求时,服务器返回的第一索引文件中,除了包括可以包括已生成TS切片文件的第一索引信息外,还可以包括正在生成TS切片文件的索引信息和/或还未生成TS切片文件的第二索引信息,使得播放客户端在下载并播放第一索引信息对应的TS切片文件的同时,服务器可以继续生成第二索引信息对应的TS切片文件,并在生成完后及时发送给播放客户端,当播放客户端开始下载播放第二索引信息对应的TS切片文件时,便可以进行下载并播放,解决了现有技术中服务器只能向播放客户端返回已生成的TS切片文件的索引信息,导致播放客户端播放画面相对于实际直播画面延迟较大的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的直播系统的结构示意图;
图2为本申请一实施例提供的HLS直播的处理方法的流程示意图;
图3为本申请另一实施例提供的一种HLS直播的处理方法的流程示意图;
图4为本申请另一实施例提供的另一种HLS直播的处理方法的流程示意图;
图5为本申请另一实施例提供的再一种HLS直播的处理方法的流程示意图;
图6为本申请再一实施例提供的HLS直播的处理方法的流程示意图;
图7为本申请又一实施例提供的HLS直播的处理方法的流程示意图;
图8为本申请一实施例提供的HLS直播的处理装置的结构示意图;
图9为本申请另一实施例提供的HLS直播的处理装置的结构示意图;
图10为本申请再一实施例提供的HLS直播的处理装置的结构示意图;
图11为本申请一实施例提供的服务器的结构示意图;
图12为本申请一实施例提供的终端的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先对本申请所涉及的名词进行解释:
播放客户端:是指用户用来观看直播的终端,包括但不限于手机、笔记本电脑、平板电脑、台式电脑等终端。
采集客户端:是指用户用来进行直播,采集直播音视频数据的终端,包括但不限于手机、笔记本电脑、平板电脑、台式电脑等终端,可以借助于麦克风、摄像头等实现音视频数据的采集。
TS切片文件:是指对音视频数据进行切片处理获得的一个个片段的音视频流。
本申请提供的HLS直播的处理方法,适用于基于HLS的直播系统,如图1所示,为本申请实施例提供的直播系统的结构示意图,该直播系统可以包括一个或多个采集客户端、服务器、一个或多个播放客户端。采集客户端采集原始音视频数据发送给服务器,服务器将原始音视频数据进行流化并进行切片处理,生成TS切片文件及TS切片文件对应的索引文件,播放客户端则可以向服务器请求观看直播的音视频,服务器为播放客户端提供相应的索引文件及TS切片文件,使播放客户端进行播放供用户观看。TS切片文件对应的索引文件可以为m3u8索引文件。音视频数据可以包括音频数据、视频数据,以及音频数据和视频数据。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
实施例一
本实施例提供一种HLS直播的处理方法,用于对HLS直播进行处理,以降低用户观看画面的延迟。本实施例的执行主体为HLS直播的处理装置,该装置可以设置在服务器中。
如图2所示,为本实施例提供的HLS直播的处理方法的流程示意图,该方法包括:
步骤101,接收播放客户端发送的第一索引请求。
具体的,当用户想要通过播放客户端观看某个音视频的直播时,可以通过播放客户端向服务器发送第一索引请求,第一索引请求可以包括用户想观看的音视频的名称、编号等标识信息。服务器则可以接收播放客户端发送的第一索引请求,并进行响应。
步骤102,获取第一索引文件,第一索引文件包括第一索引信息以及第二索引信息,第一索引信息为已生成TS切片文件的索引信息,第二索引信息为正在生成TS切片文件的索引信息和/或还未生成TS切片文件的索引信息。
具体的,服务器接收到播放客户端发送的第一索引请求后,则需要根据第一索引请求获取第一索引文件,比如根据第一索引请求中包括的想观看的音视频的名称,获取该名称对应的音视频的第一索引文件,该第一索引文件包括第一索引信息和第二索引信息,第一索引信息为已生成TS切片文件的索引信息,第二索引信息为正在生成TS切片文件的索引信息和/或还未生成TS切片文件的索引信息。即,在第一索引文件中可以包括一个或多个已生成TS切片文件的索引信息,使用户可以马上进行下载TS切片文件并播放,同时在第一索引文件中还可以包括一个或多个正在生成TS切片文件的索引信息和/或还未生成TS切片文件的索引信息,使播放客户端在播放已生成TS切片文件的同时,服务器继续生成这些正在生成TS切片文件和/或还未生成TS切片文件,并在生成后及时发送给播放客户端,使播放客户端在播放完第一索引信息对应的已生成的TS切片文件后,可以继续播放第二索引信息对应的TS切片文件。
其中,第一索引文件中还可以包括一个或多个正在生成TS切片文件的索引信息和/或还未生成TS切片文件的索引信息,表示可以包括一个或多个正在生成TS切片文件的索引信息,或者可以包括一个或多个还未生成TS切片文件的索引信息,或者可以包括一个或多个正在生成TS切片文件的索引信息和一个或多个还未生成TS切片文件的索引信息。第一索引文件为m3u8索引文件。
示例性的,第一索引信息中包括当前最新生成的一个已生成TS切片文件的索引信息;第二索引信息中包括一个正在生成TS切片文件的索引信息及一个还未生成TS切片文件的索引信息;或者第一索引信息中包括当前最新生成的两个已生成TS切片文件的索引信息,第二索引信息中包括一个正在生成TS切片文件的索引信息。
需要说明的是,对于第一索引信息中包括的已生成TS切片文件的索引信息的数目、以及第二索引信息中包括的正在生成TS切片文件的索引信息数目、还未生成TS切片文件的索引信息的数目,都可以根据实际需求进行设置,在此不做限定。优选的可以是第一索引信息中包括当前最新生成的一个已生成TS切片文件的索引信息;第二索引信息中包括一个正在生成TS切片文件的索引信息及一个还未生成TS切片文件的索引信息。
步骤103,将第一索引文件发送给播放客户端,以使播放客户端根据第一索引文件中所包括的第一索引信息以及第二索引信息获取待播放的TS切片文件。
具体的,服务器将第一索引文件发送给播放客户端,播放客户端在接收到第一索引文件后,则可以根据第一索引文件中包括的第一索引信息和第二索引信息请求下载对应的TS切片文件进行播放。
需要说明的是,由于播放客户端需要不断的发送第一索引请求以获得新的可以播放的TS切片文件,实现连续播放,本实施例提供的方法,可以是播放客户端第一次发送第一索引请求,也可以不是第一次发送第一索引请求,即对于任一播放客户端发送第一索引请求,服务器都返回包括第一索引信息和第二索引信息的第一索引文件。
本实施例提供的HLS直播的处理方法,在播放客户端发送第一索引请求时,返回的第一索引文件中,除了包括可以包括已生成TS切片文件的第一索引信息外,还可以包括正在生成TS切片文件的索引信息和/或还未生成TS切片文件的第二索引信息,使得播放客户端在下载并播放第一索引信息对应的TS切片文件的同时,服务器可以继续生成第二索引信息对应的TS切片文件,并在生成完后及时发送给播放客户端,当播放客户端开始下载播放第二索引信息对应的TS切片文件时,便可以进行下载并播放,解决了现有技术中服务器只能向播放客户端返回已生成的TS切片文件的索引信息,导致播放客户端播放画面相对于实际直播画面延迟较大的问题。
实施例二
本实施例对实施例一提供的HLS直播的处理方法做进一步补充说明。
如图3所示,为本实施例提供的一种HLS直播的处理方法的流程示意图。
作为一种可实施的方式,在上述实施例一的基础上,可选地,该方法还包括:
步骤201,接收播放客户端发送的播放文件请求,播放文件请求包括第一索引信息以及第二索引信息。
具体的,播放客户端在接收到第一索引文件后,可以根据第一索引文件中包括的第一索引信息及第二索引信息生成播放文件请求,发送给服务器,服务器在接收到播放客户端发送的播放文件请求后,进行相应的处理。
步骤202,将第一索引信息对应的已生成TS切片文件发送给播放客户端。
具体的,服务器在接收到播放客户端发送的播放文件请求后,先将第一索引信息对应的已生成TS切片文件发送给播放客户端,使播放客户端可以直接进行播放,对于第二索引信息对应的正在生成TS切片文件和/或还未生成TS切片文件,由于还未生成完,所以暂时不能发送给播放客户端,而是在播放客户端播放已生成TS切片文件的同时,继续不断的生成第二索引信息对应的正在生成TS切片文件和/或还未生成TS切片文件。
步骤203,保持播放客户端的TCP连接处于长连接pending状态,当第二索引信息对应的正在生成TS切片文件和/或还未生成TS切片文件生成完时,发送给播放客户端。
具体的,在将第一索引信息对应的已生成TS切片文件发送给播放客户端进行播放的同时,服务器继续生成第二索引信息对应的正在生成TS切片文件和/或还未生成TS切片文件,并保持播放客户端的TCP连接处于长连接pending状态,当第二索引信息对应的正在生成TS切片文件和/或还未生成TS切片文件生成完时,实时发送给播放客户端,使播放客户端在播放完第一索引信息对应的已生成TS切片后可以继续播放第二索引信息对应的那些之前正在生成TS切片文件和/或还未生成TS切片文件。
其中,正在生成TS切片文件和/或还未生成TS切片文件,表示可以是正在生成TS切片文件、或者可以是还未生成TS切片文件,或者可以是正在生成TS切片文件和还未生成TS切片文件。
如图4所示,为本实施例提供的另一种HLS直播的处理方法的流程示意图。
作为另一种可实施的方式,在上述实施例一的基础上,可选地,步骤101可以包括:
步骤1011,接收播放客户端发送的第一索引请求,第一索引请求包括播放客户端的用户标识信息。
具体的,播放客户端在发送第一索引请求时,携带了播放客户端的用户标识信息,以使服务器能够根据用户标识信息为用户返回定制的第一索引文件。
相应的,在步骤102之前,该方法还可以包括:
步骤1012,判断第一索引请求是否为播放客户端第一次发送。
具体的,服务器在接收到包括用户标识信息的第一索引请求后,可以获取用户标识信息,当然,第一索引请求中还可以携带有用户要观看的音视频的标识信息,使服务器能够获知用户请求的是哪个音视频的第一索引文件。服务器还可以根据用户标识信息判断该第一索引请求是否为播放客户端第一次发送,以确定应该返回哪个或哪些TS切片文件的索引信息。
相应的,步骤102具体包括:
步骤1021,若判断结果为是,获取的第一索引文件中包括的第一索引信息为当前最新已生成TS切片文件的索引信息;若判断结果为否,获取的第一索引文件中包括的第一索引信息为,响应播放客户端前一次第一索引请求后的,已生成TS切片文件的索引信息。
具体的,若服务器判断结果是第一次发送,则获取的第一索引文件中包括的第一索引信息为当前最新已生成TS切片文件的索引信息,即播放客户端属于首播,为了降低播放延迟,可以将当前最新的一个已生成TS切片文件的索引信息作为第一索引信息携带在第一索引文件中,另外再将第二索引信息携带在第一索引文件中。
若服务器判断结果不是第一次发送,即该播放客户端之前已经发送过第一索引请求,服务器也已经返回过相应的第一索引文件,那么对于该播放客户端的本次第一索引请求,服务器获取的第一索引文件中包括的第一索引信息为,响应播放客户端前一次第一索引请求后的,已生成TS切片文件的索引信息,以使播放客户端可以实现连续播放,而不会产生跳播。第一索引请求还可以包括第二索引信息。
示例性的,若根据用户标识信息判断不是第一次发送第一索引请求,且之前已经发送了序号为6、7、8的TS切片文件的索引信息,对于本次第一索引请求,返回的第一索引文件中应该是从序号为9的TS切片文件的索引信息开始,至于在9之后又生成了多少个TS切片文件,可以根据实际需求设置,比如当前正在生成序号为11的TS切片文件,则第一索引信息可以包括9、10号已生成TS切片文件的索引信息,第二索引信息可以包括11号正在生成TS切片文件的索引信息,第二索引信息还可以包括12号还未生成TS切片文件的索引信息。这里只是示例性说明,并非对本申请的限定。
可选的,用户标识信息可以是用户预先申请的标识信息,也可以是采用播放客户端的终端标识信息,比如手机的设备指纹等,只要能唯一标识播放客户端即可,在此不做限定。
可选的,若判断结果为是,第一索引信息中的第一个已生成TS切片文件的索引信息为,当前已生成的最后一个关键帧所在的TS切片文件的索引信息。
具体的,若本次第一索引请求为第一次发送,即为用户对该直播的首播,服务器返回的第一索引文件中包括的第一索引信息以当前已生成的最后一个关键帧所在的TS切片文件的索引信息为第一个已生成TS切片文件的索引信息,以使播放客户端可以秒开,直接可以进入直播画面。关键帧是一个可以独立显示的帧,即关键帧中的数据是一个完整的画面数据。最好的是第一个已生成TS切片文件的索引信息是以当前已生成的最后一个关键帧为开始帧的TS切片文件的索引信息。对于关键帧的判断为现有技术,在此不再赘述。
可选的,步骤1011之前,该方法还可以包括:
步骤2041,接收播放客户端发送的第二索引请求,第二索引请求包括播放客户端请求的音视频标识信息。
具体的,对于上述用户标识信息的获得可以是播放客户端向服务器申请获得的,即用户在想开始观看某个直播时,触发了请求时,向服务器发送的是第二索引请求,第二索引请求可以包括播放客户端请求的音视频标识信息,服务器则可以接收到播放客户端发送的第二索引请求,并进行响应。
步骤2042,根据第二索引请求,生成与播放客户端请求的音视频标识信息对应的第二索引文件,第二索引文件包括URL地址,URL地址中包括为播放客户端生成的用户标识信息,URL地址为播放客户端获取第一索引文件的地址。
具体的,服务器接收到播放客户端发送的第二索引请求,为播放客户端生成用户标识信息,并将用户标识信息携带在URL地址中,URL地址为服务器为播放客户端提供的获取第一索引文件的地址,服务器将携带有用户标识信息的URL地址携带在第二索引文件中,并将第二索引文件发送给播放客户端。
示例性的,播放客户端首先发送一个m3u8请求(第二索引请求)给服务器,例如stream.m3u8,此时服务器收到该请求后为该播放客户端生成一个用户标识信息(userID),并生成一个动态m3u8索引文件dynamic.m3u8(即第二索引文件),将下一次请求的URL地址放在这个dynamic.m3u8文件中,并把刚生成的userID放在这个URL的请求字符串中,将dynamic.m3u8文件返回给播放客户端。播放客户端收到第二索引文件dynamic.m3u8文件后,从中获取到再次请求的URL地址,并根据这个URL地址向服务器发送第一索引请求,服务器接收到第一索引请求后,返回第一索引文件。
步骤2043,将第二索引文件发送给播放客户端,以使播放客户端根据第二索引文件中的URL地址及用户标识信息获取第一索引文件。
具体的,服务器在生成第二索引文件后,将第二索引文件发送给播放客户端,播放客户端接收到第二索引文件后,则可以根据第二索引文件中的URL地址及用户标识信息获取第一索引文件,进而根据第一索引文件获取可以播放的TS切片文件进行播放。
如图5所示,为本实施例提供的再一种HLS直播的处理方法的流程示意图。
作为再一种可实施的方式,在上述实施例一的基础上,可选地,该方法还可以包括:
步骤2051,接收采集客户端发送的原始音视频数据。
具体的,直播用户可以通过采集客户端采集原始音视频数据,并发送给服务器,服务器则可以接收采集客户端发送的原始音视频数据。
可选的,采集客户端可以对采集的原始音视频数据进行一些预处理,比如编码、流化等,形成流媒体,可以为现有技术中任意可实施的处理方式,在此不做限定。
可选的,服务器接收到采集客户端发送的原始音视频数据后,可以进行一些预处理,比如编码、流化等,可以为现有技术中任意可实施的处理,在此不做限定。
步骤2052,根据原始音视频数据及预设时长阈值,生成TS切片文件及TS切片文件对应的索引文件,索引文件包括TS切片文件的索引信息。
具体的,服务器接收到采集客户端发送的原始音视频数据后,可以根据原始音视频数据及预设时长阈值,生成TS切片文件及TS切片文件对应的索引文件,索引文件包括TS切片文件的索引信息。具体来说,采集客户端可以是实时采集并实时发送给服务器,服务器根据预设时长阈值接收到相应时长的原始音视频数据则进行切片处理,生成TS切片文件,并生成TS切片文件对应的索引文件,索引文件包括TS切片文件的索引信息。
索引文件是一个动态变化的m3u8索引文件,这里的索引文件与上述第一索引文件一致,与上述第二索引文件不同,服务器每生成一个切片文件,都将更新索引文件,将新生成的TS切片文件的索引信息更新到索引文件中,索引文件可以设置有预设的TS切片文件索引信息容量,并按照先进先出方式管理TS切片文件的索引信息。
可选的,预设时长阈值可以是1-5秒,优选的可以为1秒,从而HLS直播的延迟最低可以只有1秒。
需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
本实施例提供的HLS直播的处理方法,在上述实施例一的基础上,还可以采用两层索引,为播放客户端生成用户标识信息,使得用户在观看直播时,可以为用户返回定制的第一索引文件,提高用户观看直播的流畅度,避免因网络问题导致跳播的问题。并且在用户第一次观看时,返回的第一个已生成TS切片文件的索引信息为当前已生成的最后一个关键帧所在的TS切片文件的索引信息,使得播放客户端可以秒开,提高用户体验度。
实施例三
本实施例提供一种HLS直播的处理方法,用于进行直播处理,以降低播放延迟。本实施例的执行主体可以为播放客户端,或称终端。
如图6所示,为本实施例提供的HLS直播的处理方法的流程示意图,该方法包括:
步骤301,向服务器发送第一索引请求。
步骤302,接收服务器响应第一索引请求发送的第一索引文件,第一索引文件包括第一索引信息以及第二索引信息,第一索引信息为已生成TS切片文件的索引信息,第二索引信息为正在生成TS切片文件的索引信息和/或还未生成TS切片文件的索引信息。
步骤303,根据第一索引文件,向服务器发送播放文件请求,播放文件请求包括第一索引信息以及第二索引信息。
步骤304,接收服务器响应播放文件请求发送的第一索引信息对应的已生成TS切片文件,并进行播放处理。
步骤305,等待接收第二索引信息对应的正在生成TS切片文件和/或还未生成TS切片文件。
具体的,由于服务器返回的第一索引文件中的第二索引信息对应的是正在生成TS切片文件和/或还未生成TS切片文件,因此,播放客户端在发送播放文件请求后,可以接收到服务器返回的第一索引信息对应的已生成TS切片文件,但可能不能马上接收到第二索引信息对应的那些TS切片文件,播放客户端在接收到第一索引信息对应的已生成TS切片文件后,即可开始播放,在播放的同时,等待接收第二索引信息对应的正在生成TS切片文件和/或还未生成TS切片文件,可能第一索引信息对应的已生成TS切片文件还没播放完,第二索引信息对应的正在生成TS切片文件已经生成完并发送过来了,播放客户端则可以连续播放。如此实现了播放和TS切片文件生成并行处理,有效降低播放延迟。
本实施例为播放客户端的处理流程的实施例,各步骤的具体执行操作已在上述实施例一或实施例二中进行了详细的说明,在此不再赘述。
本实施例提供的HLS直播的处理方法,在播放客户端向服务器发送第一索引请求时,服务器返回的第一索引文件中,除了包括可以包括已生成TS切片文件的第一索引信息外,还可以包括正在生成TS切片文件的索引信息和/或还未生成TS切片文件的第二索引信息,使得播放客户端在下载并播放第一索引信息对应的TS切片文件的同时,服务器可以继续生成第二索引信息对应的TS切片文件,并在生成完后及时发送给播放客户端,当播放客户端开始下载播放第二索引信息对应的TS切片文件时,便可以进行下载并播放,解决了现有技术中服务器只能向播放客户端返回已生成的TS切片文件的索引信息,导致播放客户端播放画面相对于实际直播画面延迟较大的问题。
实施例四
本实施例对实施例三提供的HLS直播的处理方法做进一步补充说明。
如图7所示,为本实施例提供的HLS直播的处理方法的流程示意图。
作为一种可实施的方式,在上述实施例的基础上,可选地,第一索引请求包括用户标识信息。
相应的,若第一索引请求为第一次发送,接收的第一索引文件中包括的第一索引信息为服务器当前最新已生成TS切片文件的索引信息;若第一索引请求不是第一次发送,接收的第一索引文件中包括的第一索引信息为,服务器响应前一次第一索引请求后的,已生成TS切片文件的索引信息。
可选地,若第一索引请求为第一次发送,第一索引信息中的第一个已生成TS切片文件的索引信息为,服务器当前已生成的最后一个关键帧所在的TS切片文件的索引信息。
作为另一种可实施的方式,在上述实施例的基础上,可选地,步骤301向服务器发送第一索引请求之前,该方法还包括:
步骤401,向服务器发送第二索引请求,第二索引请求包括请求的音视频标识信息。
步骤402,接收服务器发送的音视频标识信息对应的第二索引文件,第二索引文件包括URL地址,URL地址中包括为播放客户端生成的用户标识信息,URL地址为播放客户端获取第一索引文件的地址。
相应的,步骤301向服务器发送第一索引请求,包括:
步骤3011,根据第二索引文件中的URL地址,向服务器发送第一索引请求。
本实施例为播放客户端的处理流程的实施例,各步骤的具体执行操作已在上述实施例一或实施例二中进行了详细的说明,在此不再赘述。
需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
本实施例提供的HLS直播的处理方法,在上述实施例的基础上,还可以采用两层索引,为播放客户端生成用户标识信息,使得用户在观看直播时,可以为用户返回定制的第一索引文件,提高用户观看直播的流畅度,避免因网络问题导致跳播的问题。并且在用户第一次观看时,返回的第一个已生成TS切片文件的索引信息为当前已生成的最后一个关键帧所在的TS切片文件的索引信息,使得播放客户端可以秒开,提高用户体验度。
实施例五
本实施例提供一种HLS直播的处理装置,用于执行上述实施例一的HLS直播的处理方法。
如图8所示,为本实施例提供的HLS直播的处理装置的结构示意图。该HLS直播的处理装置50包括第一接收模块51、获取模块52和第一发送模块53。
其中,第一接收模块51用于接收播放客户端发送的第一索引请求;获取模块52用于获取第一索引文件,所述第一索引文件包括第一索引信息以及第二索引信息,所述第一索引信息为已生成TS切片文件的索引信息,所述第二索引信息为正在生成TS切片文件的索引信息和/或还未生成TS切片文件的索引信息;第一发送模块53用于将所述第一索引文件发送给所述播放客户端,以使所述播放客户端根据所述第一索引文件中所包括的第一索引信息以及第二索引信息获取待播放的TS切片文件。
关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
根据本实施例提供的HLS直播的处理装置,在播放客户端向服务器发送第一索引请求时,服务器返回的第一索引文件中,除了包括可以包括已生成TS切片文件的第一索引信息外,还可以包括正在生成TS切片文件的索引信息和/或还未生成TS切片文件的第二索引信息,使得播放客户端在下载并播放第一索引信息对应的TS切片文件的同时,服务器可以继续生成第二索引信息对应的TS切片文件,并在生成完后及时发送给播放客户端,当播放客户端开始下载播放第二索引信息对应的TS切片文件时,便可以进行下载并播放,解决了现有技术中服务器只能向播放客户端返回已生成的TS切片文件的索引信息,导致播放客户端播放画面相对于实际直播画面延迟较大的问题。
实施例六
本实施例对上述实施例五提供的HLS直播的处理装置做进一步补充说明,以执行上述实施例二提供的HLS直播的处理方法。
作为一种可实施的方式,在上述实施例五的基础上,可选地,所述第一接收模块还用于接收所述播放客户端发送的播放文件请求,所述播放文件请求包括所述第一索引信息以及所述第二索引信息;所述第一发送模块还用于将所述第一索引信息对应的已生成TS切片文件发送给所述播放客户端;所述第一发送模块还用于保持所述播放客户端的TCP连接处于长连接pending状态,当所述第二索引信息对应的正在生成TS切片文件和/或还未生成TS切片文件生成完时,发送给所述播放客户端。
作为另一种可实施的方式,在上述实施例五的基础上,可选地,所述第一索引请求包括所述播放客户端的用户标识信息;
相应的,所述获取模块,还用于:
判断所述第一索引请求是否为所述播放客户端第一次发送;若判断结果为是,获取的所述第一索引文件中包括的所述第一索引信息为当前最新已生成TS切片文件的索引信息;若判断结果为否,获取的所述第一索引文件中包括的所述第一索引信息为,响应所述播放客户端前一次第一索引请求后的,已生成TS切片文件的索引信息。
可选的,所述获取模块还用于若判断结果为是,所述第一索引信息中的第一个已生成TS切片文件的索引信息为,当前已生成的最后一个关键帧所在的TS切片文件的索引信息。
可选的,所述第一接收模块,还用于接收播放客户端发送的第二索引请求,所述第二索引请求包括所述播放客户端请求的音视频标识信息;所述获取模块,还用于根据所述第二索引请求,生成与所述播放客户端请求的音视频标识信息对应的第二索引文件,所述第二索引文件包括URL地址,所述URL地址中包括为所述播放客户端生成的用户标识信息,所述URL地址为所述播放客户端获取所述第一索引文件的地址;所述第一发送模块,还用于将所述第二索引文件发送给所述播放客户端,以使所述播放客户端根据所述第二索引文件中的URL地址及用户标识信息获取所述第一索引文件。
作为再一种可实施的方式,在上述实施例五的基础上,可选地,该装置50还包括第二接收模块54和生成模块55。
如图9所示,为本实施例提供的HLS直播的处理装置的结构示意图,其中,第二接收模块54用于接收采集客户端发送的原始音视频数据;生成模块55用于根据所述原始音视频数据及预设时长阈值,生成TS切片文件及所述TS切片文件对应的索引文件,所述索引文件包括所述TS切片文件的索引信息。
关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
根据本实施例的装置,在上述实施例的基础上,还可以采用两层索引,为播放客户端生成用户标识信息,使得用户在观看直播时,可以为用户返回定制的第一索引文件,提高用户观看直播的流畅度,避免因网络问题导致跳播的问题。并且在用户第一次观看时,返回的第一个已生成TS切片文件的索引信息为当前已生成的最后一个关键帧所在的TS切片文件的索引信息,使得播放客户端可以秒开,提高用户体验度。
实施例七
本实施例提供一种HLS直播的处理装置,用于执行上述实施例三的HLS直播的处理方法。
如图10所示,为本实施例提供的HLS直播的处理装置的结构示意图。该HLS直播的处理装置70包括第二发送模块71、第三接收模块72和处理模块73。
其中,第二发送模块71用于向服务器发送第一索引请求;第三接收模块72用于接收所述服务器响应所述第一索引请求发送的第一索引文件,所述第一索引文件包括第一索引信息以及第二索引信息,所述第一索引信息为已生成TS切片文件的索引信息,所述第二索引信息为正在生成TS切片文件的索引信息和/或还未生成TS切片文件的索引信息;所述第二发送模块71还用于根据所述第一索引文件,向所述服务器发送播放文件请求,所述播放文件请求包括所述第一索引信息以及所述第二索引信息;所述第三接收模块72还用于接收所述服务器响应所述播放文件请求发送的第一索引信息对应的已生成TS切片文件;处理模块73用于进行播放处理;所述第三接收模块72还用于等待接收第二索引信息对应的正在生成TS切片文件和/或还未生成TS切片文件。
关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
根据本实施例提供的HLS直播的处理装置,在播放客户端向服务器发送第一索引请求时,服务器返回的第一索引文件中,除了包括可以包括已生成TS切片文件的第一索引信息外,还可以包括正在生成TS切片文件的索引信息和/或还未生成TS切片文件的第二索引信息,使得播放客户端在下载并播放第一索引信息对应的TS切片文件的同时,服务器可以继续生成第二索引信息对应的TS切片文件,并在生成完后及时发送给播放客户端,当播放客户端开始下载播放第二索引信息对应的TS切片文件时,便可以进行下载并播放,解决了现有技术中服务器只能向播放客户端返回已生成的TS切片文件的索引信息,导致播放客户端播放画面相对于实际直播画面延迟较大的问题。
实施例八
本实施例对上述实施例七提供的HLS直播的处理装置做进一步补充说明,以执行上述实施例四提供的HLS直播的处理方法。
作为一种可实施的方式,在上述实施例的基础上,可选地,所述第一索引请求包括用户标识信息;相应的,所述第三接收模块,具体用于:若第一索引请求为第一次发送,接收的第一索引文件中包括的所述第一索引信息为所述服务器当前最新已生成TS切片文件的索引信息;若第一索引请求不是第一次发送,接收的第一索引文件中包括的所述第一索引信息为,所述服务器响应前一次第一索引请求后的已生成TS切片文件的索引信息。
可选的,所述第三接收模块,具体用于:若第一索引请求为第一次发送,所述第一索引信息中的第一个已生成TS切片文件的索引信息为,所述服务器当前已生成的最后一个关键帧所在的TS切片文件的索引信息。
可选的,所述第二发送模块,还用于向所述服务器发送第二索引请求,所述第二索引请求包括请求的音视频标识信息;所述第三接收模块,还用于接收服务器发送的所述音视频标识信息对应的第二索引文件,所述第二索引文件包括URL地址,所述URL地址中包括为所述播放客户端生成的用户标识信息,所述URL地址为所述播放客户端获取所述第一索引文件的地址;相应的,所述第二发送模块,具体用于根据所述第二索引文件中的URL地址,向服务器发送第一索引请求。
关于本实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
根据本实施例的装置,在上述实施例的基础上,还可以采用两层索引,为播放客户端生成用户标识信息,使得用户在观看直播时,可以为用户返回定制的第一索引文件,提高用户观看直播的流畅度,避免因网络问题导致跳播的问题。并且在用户第一次观看时,返回的第一个已生成TS切片文件的索引信息为当前已生成的最后一个关键帧所在的TS切片文件的索引信息,使得播放客户端可以秒开,提高用户体验度。
实施例九
本实施例提供一种服务器,用于执行上述实施例一或实施例二提供的方法。
如图11所示,为本实施例提供的服务器的结构示意图。该服务器90包括:至少一个处理器91和存储器92;
存储器存储计算机程序;至少一个处理器执行存储器存储的计算机程序,以实现上述实施例一或实施例二提供的方法。
根据本实施例的服务器,在播放客户端向服务器发送第一索引请求时,服务器返回的第一索引文件中,除了包括可以包括已生成TS切片文件的第一索引信息外,还可以包括正在生成TS切片文件的索引信息和/或还未生成TS切片文件的第二索引信息,使得播放客户端在下载并播放第一索引信息对应的TS切片文件的同时,服务器可以继续生成第二索引信息对应的TS切片文件,并在生成完后及时发送给播放客户端,当播放客户端开始下载播放第二索引信息对应的TS切片文件时,便可以进行下载并播放,解决了现有技术中服务器只能向播放客户端返回已生成的TS切片文件的索引信息,导致播放客户端播放画面相对于实际直播画面延迟较大的问题。
实施例十
本实施例提供一种终端,即上述播放客户端,用于执行上述实施例三或实施例四提供的方法。
如图12所示,为本实施例提供的终端的结构示意图。该终端100包括:至少一个处理器1001和存储器1002;
存储器存储计算机程序;至少一个处理器执行存储器存储的计算机程序,以实现上述施例三或实施例四提供的方法。
根据本实施例的终端,在播放客户端向服务器发送第一索引请求时,服务器返回的第一索引文件中,除了包括可以包括已生成TS切片文件的第一索引信息外,还可以包括正在生成TS切片文件的索引信息和/或还未生成TS切片文件的第二索引信息,使得播放客户端在下载并播放第一索引信息对应的TS切片文件的同时,服务器可以继续生成第二索引信息对应的TS切片文件,并在生成完后及时发送给播放客户端,当播放客户端开始下载播放第二索引信息对应的TS切片文件时,便可以进行下载并播放,解决了现有技术中服务器只能向播放客户端返回已生成的TS切片文件的索引信息,导致播放客户端播放画面相对于实际直播画面延迟较大的问题。
实施例十一
本实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,计算机程序被执行时实现上述实施例一或实施例二提供的方法。
根据本实施例的计算机可读存储介质,在播放客户端向服务器发送第一索引请求时,服务器返回的第一索引文件中,除了包括可以包括已生成TS切片文件的第一索引信息外,还可以包括正在生成TS切片文件的索引信息和/或还未生成TS切片文件的第二索引信息,使得播放客户端在下载并播放第一索引信息对应的TS切片文件的同时,服务器可以继续生成第二索引信息对应的TS切片文件,并在生成完后及时发送给播放客户端,当播放客户端开始下载播放第二索引信息对应的TS切片文件时,便可以进行下载并播放,解决了现有技术中服务器只能向播放客户端返回已生成的TS切片文件的索引信息,导致播放客户端播放画面相对于实际直播画面延迟较大的问题。
实施例十二
本实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,计算机程序被执行时实现上述实施例三或实施例四提供的方法。
根据本实施例的计算机可读存储介质,在播放客户端向服务器发送第一索引请求时,服务器返回的第一索引文件中,除了包括可以包括已生成TS切片文件的第一索引信息外,还可以包括正在生成TS切片文件的索引信息和/或还未生成TS切片文件的第二索引信息,使得播放客户端在下载并播放第一索引信息对应的TS切片文件的同时,服务器可以继续生成第二索引信息对应的TS切片文件,并在生成完后及时发送给播放客户端,当播放客户端开始下载播放第二索引信息对应的TS切片文件时,便可以进行下载并播放,解决了现有技术中服务器只能向播放客户端返回已生成的TS切片文件的索引信息,导致播放客户端播放画面相对于实际直播画面延迟较大的问题。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (24)
1.一种HLS直播的处理方法,其特征在于,包括:
接收播放客户端发送的第一索引请求;
获取第一索引文件,所述第一索引文件包括第一索引信息以及第二索引信息,所述第一索引信息为已生成TS切片文件的索引信息,所述第二索引信息为正在生成TS切片文件的索引信息和/或还未生成TS切片文件的索引信息;
将所述第一索引文件发送给所述播放客户端,以使所述播放客户端根据所述第一索引文件中所包括的第一索引信息以及第二索引信息获取待播放的TS切片文件。
2.根据权利要求1所述的方法,其特征在于,还包括:
接收所述播放客户端发送的播放文件请求,所述播放文件请求包括所述第一索引信息以及所述第二索引信息;
将所述第一索引信息对应的已生成TS切片文件发送给所述播放客户端;
保持所述播放客户端的TCP连接处于长连接pending状态,当所述第二索引信息对应的正在生成TS切片文件和/或还未生成TS切片文件生成完时,发送给所述播放客户端。
3.根据权利要求1所述的方法,其特征在于,所述第一索引请求包括所述播放客户端的用户标识信息;
相应的,在所述获取第一索引文件之前,所述方法还包括:
判断所述第一索引请求是否为所述播放客户端第一次发送;
相应的,所述获取第一索引文件,包括:
若判断结果为是,获取的所述第一索引文件中包括的所述第一索引信息为当前最新已生成TS切片文件的索引信息;
若判断结果为否,获取的所述第一索引文件中包括的所述第一索引信息为,响应所述播放客户端前一次第一索引请求后的,已生成TS切片文件的索引信息。
4.根据权利要求3所述的方法,其特征在于,若判断结果为是,所述第一索引信息中的第一个已生成TS切片文件的索引信息为,当前已生成的最后一个关键帧所在的TS切片文件的索引信息。
5.根据权利要求3所述的方法,其特征在于,所述接收播放客户端发送的第一索引请求之前,所述方法还包括:
接收播放客户端发送的第二索引请求,所述第二索引请求包括所述播放客户端请求的音视频标识信息;
根据所述第二索引请求,生成与所述播放客户端请求的音视频标识信息对应的第二索引文件,所述第二索引文件包括URL地址,所述URL地址中包括为所述播放客户端生成的用户标识信息,所述URL地址为所述播放客户端获取所述第一索引文件的地址;
将所述第二索引文件发送给所述播放客户端,以使所述播放客户端根据所述第二索引文件中的URL地址及用户标识信息获取所述第一索引文件。
6.根据权利要求1-5任一项所述的方法,其特征在于,还包括:
接收采集客户端发送的原始音视频数据;
根据所述原始音视频数据及预设时长阈值,生成TS切片文件及所述TS切片文件对应的索引文件,所述索引文件包括所述TS切片文件的索引信息。
7.一种HLS直播的处理方法,其特征在于,包括:
向服务器发送第一索引请求;
接收所述服务器响应所述第一索引请求发送的第一索引文件,所述第一索引文件包括第一索引信息以及第二索引信息,所述第一索引信息为已生成TS切片文件的索引信息,所述第二索引信息为正在生成TS切片文件的索引信息和/或还未生成TS切片文件的索引信息;
根据所述第一索引文件,向所述服务器发送播放文件请求,所述播放文件请求包括所述第一索引信息以及所述第二索引信息;
接收所述服务器响应所述播放文件请求发送的第一索引信息对应的已生成TS切片文件,并进行播放处理;
等待接收第二索引信息对应的正在生成TS切片文件和/或还未生成TS切片文件。
8.根据权利要求7所述的方法,其特征在于,所述第一索引请求包括用户标识信息;
相应的,若第一索引请求为第一次发送,接收的第一索引文件中包括的所述第一索引信息为所述服务器当前最新已生成TS切片文件的索引信息;
若第一索引请求不是第一次发送,接收的第一索引文件中包括的所述第一索引信息为,所述服务器响应前一次第一索引请求后的,已生成TS切片文件的索引信息。
9.根据权利要求8所述的方法,其特征在于,若第一索引请求为第一次发送,所述第一索引信息中的第一个已生成TS切片文件的索引信息为,所述服务器当前已生成的最后一个关键帧所在的TS切片文件的索引信息。
10.根据权利要求8所述的方法,其特征在于,向服务器发送第一索引请求之前,还包括:
向所述服务器发送第二索引请求,所述第二索引请求包括请求的音视频标识信息;
接收服务器发送的所述音视频标识信息对应的第二索引文件,所述第二索引文件包括URL地址,所述URL地址中包括为所述播放客户端生成的用户标识信息,所述URL地址为所述播放客户端获取所述第一索引文件的地址;
相应的,所述向服务器发送第一索引请求,包括:
根据所述第二索引文件中的URL地址,向服务器发送第一索引请求。
11.一种HLS直播的处理装置,其特征在于,包括:
第一接收模块,用于接收播放客户端发送的第一索引请求;
获取模块,用于获取第一索引文件,所述第一索引文件包括第一索引信息以及第二索引信息,所述第一索引信息为已生成TS切片文件的索引信息,所述第二索引信息为正在生成TS切片文件的索引信息和/或还未生成TS切片文件的索引信息;
第一发送模块,用于将所述第一索引文件发送给所述播放客户端,以使所述播放客户端根据所述第一索引文件中所包括的第一索引信息以及第二索引信息获取待播放的TS切片文件。
12.根据权利要求11所述的装置,其特征在于,所述第一接收模块,还用于接收所述播放客户端发送的播放文件请求,所述播放文件请求包括所述第一索引信息以及所述第二索引信息;
所述第一发送模块,还用于将所述第一索引信息对应的已生成TS切片文件发送给所述播放客户端;
所述第一发送模块,还用于保持所述播放客户端的TCP连接处于长连接pending状态,当所述第二索引信息对应的正在生成TS切片文件和/或还未生成TS切片文件生成完时,发送给所述播放客户端。
13.根据权利要求11所述的装置,其特征在于,所述第一索引请求包括所述播放客户端的用户标识信息;
相应的,所述获取模块,还用于:
判断所述第一索引请求是否为所述播放客户端第一次发送;
若判断结果为是,获取的所述第一索引文件中包括的所述第一索引信息为当前最新已生成TS切片文件的索引信息;
若判断结果为否,获取的所述第一索引文件中包括的所述第一索引信息为,响应所述播放客户端前一次第一索引请求后的,已生成TS切片文件的索引信息。
14.根据权利要求13所述的装置,其特征在于,所述获取模块,还用于若判断结果为是,所述第一索引信息中的第一个已生成TS切片文件的索引信息为,当前已生成的最后一个关键帧所在的TS切片文件的索引信息。
15.根据权利要求13所述的装置,其特征在于,所述第一接收模块,还用于接收播放客户端发送的第二索引请求,所述第二索引请求包括所述播放客户端请求的音视频标识信息;
所述获取模块,还用于根据所述第二索引请求,生成与所述播放客户端请求的音视频标识信息对应的第二索引文件,所述第二索引文件包括URL地址,所述URL地址中包括为所述播放客户端生成的用户标识信息,所述URL地址为所述播放客户端获取所述第一索引文件的地址;
所述第一发送模块,还用于将所述第二索引文件发送给所述播放客户端,以使所述播放客户端根据所述第二索引文件中的URL地址及用户标识信息获取所述第一索引文件。
16.根据权利要求11-15任一项所述的装置,其特征在于,还包括:
第二接收模块,用于接收采集客户端发送的原始音视频数据;
生成模块,用于根据所述原始音视频数据及预设时长阈值,生成TS切片文件及所述TS切片文件对应的索引文件,所述索引文件包括所述TS切片文件的索引信息。
17.一种HLS直播的处理装置,其特征在于,包括:
第二发送模块,用于向服务器发送第一索引请求;
第三接收模块,用于接收所述服务器响应所述第一索引请求发送的第一索引文件,所述第一索引文件包括第一索引信息以及第二索引信息,所述第一索引信息为已生成TS切片文件的索引信息,所述第二索引信息为正在生成TS切片文件的索引信息和/或还未生成TS切片文件的索引信息;
所述第二发送模块,还用于根据所述第一索引文件,向所述服务器发送播放文件请求,所述播放文件请求包括所述第一索引信息以及所述第二索引信息;
所述第三接收模块,还用于接收所述服务器响应所述播放文件请求发送的第一索引信息对应的已生成TS切片文件;
处理模块,用于进行播放处理;
所述第三接收模块,还用于等待接收第二索引信息对应的正在生成TS切片文件和/或还未生成TS切片文件。
18.根据权利要求17所述的装置,其特征在于,所述第一索引请求包括用户标识信息;
相应的,所述第三接收模块,具体用于:
若第一索引请求为第一次发送,接收的第一索引文件中包括的所述第一索引信息为所述服务器当前最新已生成TS切片文件的索引信息;
若第一索引请求不是第一次发送,接收的第一索引文件中包括的所述第一索引信息为,所述服务器响应前一次第一索引请求后的已生成TS切片文件的索引信息。
19.根据权利要求18所述的装置,其特征在于,所述第三接收模块,具体用于:若第一索引请求为第一次发送,所述第一索引信息中的第一个已生成TS切片文件的索引信息为,所述服务器当前已生成的最后一个关键帧所在的TS切片文件的索引信息。
20.根据权利要求18所述的装置,其特征在于,所述第二发送模块,还用于向所述服务器发送第二索引请求,所述第二索引请求包括请求的音视频标识信息;
所述第三接收模块,还用于接收服务器发送的所述音视频标识信息对应的第二索引文件,所述第二索引文件包括URL地址,所述URL地址中包括为所述播放客户端生成的用户标识信息,所述URL地址为所述播放客户端获取所述第一索引文件的地址;
相应的,所述第二发送模块,具体用于根据所述第二索引文件中的URL地址,向服务器发送第一索引请求。
21.一种服务器,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现权利要求1-6中任一项所述的方法。
22.一种终端,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现权利要求7-10中任一项所述的方法。
23.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现权利要求1-6中任一项所述的方法。
24.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现权利要求7-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810469121.9A CN108540868B (zh) | 2018-05-16 | 2018-05-16 | Hls直播的处理方法、装置、服务器、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810469121.9A CN108540868B (zh) | 2018-05-16 | 2018-05-16 | Hls直播的处理方法、装置、服务器、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108540868A true CN108540868A (zh) | 2018-09-14 |
CN108540868B CN108540868B (zh) | 2019-04-16 |
Family
ID=63472010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810469121.9A Active CN108540868B (zh) | 2018-05-16 | 2018-05-16 | Hls直播的处理方法、装置、服务器、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108540868B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109729386A (zh) * | 2019-01-03 | 2019-05-07 | 深圳市网心科技有限公司 | 一种视频文件启播方法、系统及电子设备和存储介质 |
CN109756757A (zh) * | 2019-03-21 | 2019-05-14 | 北京数码视讯软件技术发展有限公司 | 直播数据处理方法及装置、直播方法及装置和直播服务器 |
CN109788372A (zh) * | 2019-01-24 | 2019-05-21 | 维沃移动通信有限公司 | 一种流媒体的播放方法及相关装置 |
CN110324727A (zh) * | 2019-07-16 | 2019-10-11 | 浙江大华技术股份有限公司 | 计算机可读存储介质、服务器及其响应播放请求的方法 |
CN110944228A (zh) * | 2018-09-21 | 2020-03-31 | 中国移动通信有限公司研究院 | 一种视频流保护方法、装置和存储介质 |
CN110958279A (zh) * | 2018-09-26 | 2020-04-03 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及其装置 |
CN111372099A (zh) * | 2020-03-20 | 2020-07-03 | 山东云缦智能科技有限公司 | 一种低延迟hls直播的实现方法 |
WO2020211731A1 (zh) * | 2019-04-19 | 2020-10-22 | 华为技术有限公司 | 一种视频播放方法及相关设备 |
CN111901696A (zh) * | 2020-07-31 | 2020-11-06 | 杭州当虹科技股份有限公司 | 一种使用预加载方式基于hls技术的实时收录拆条系统 |
CN112770170A (zh) * | 2020-12-31 | 2021-05-07 | 百视通网络电视技术发展有限责任公司 | 一种ott电视业务中的视频广告投放方法、介质及设备 |
CN113038170A (zh) * | 2021-03-01 | 2021-06-25 | 北京四达时代软件技术股份有限公司 | 直播hls数据生成方法及装置、处理方法及装置和控制系统 |
CN113076125A (zh) * | 2021-04-25 | 2021-07-06 | 北京金山云网络技术有限公司 | 直播业务升级处理方法、装置、介质和服务器 |
CN113329267A (zh) * | 2021-05-27 | 2021-08-31 | 北京奇艺世纪科技有限公司 | 一种视频播放方法、装置、终端设备及存储介质 |
WO2022199541A1 (zh) * | 2021-03-26 | 2022-09-29 | 维沃移动通信有限公司 | 媒体文件的播放方法、装置、电子设备、服务器和介质 |
CN115297095A (zh) * | 2022-08-08 | 2022-11-04 | 上海哔哩哔哩科技有限公司 | 回源处理方法、装置、计算设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103596067A (zh) * | 2013-11-26 | 2014-02-19 | 深圳创维数字技术股份有限公司 | 一种基于http实时流媒体协议的电视节目传输方法及装置 |
CN104333781A (zh) * | 2014-10-31 | 2015-02-04 | 百视通网络电视技术发展有限责任公司 | 一种在cdn网络中预取直播节目信息的方法与设备 |
CN105872607A (zh) * | 2016-03-31 | 2016-08-17 | 乐视控股(北京)有限公司 | 提供多媒体内容的方法、服务器和终端设备 |
CN106028154A (zh) * | 2016-06-30 | 2016-10-12 | 青岛海信电器股份有限公司 | 一种基于hls协议的节目播放方法和装置 |
CN106572358A (zh) * | 2016-11-11 | 2017-04-19 | 青岛海信宽带多媒体技术有限公司 | 一种直播时移方法及客户端 |
CN106658226A (zh) * | 2015-10-28 | 2017-05-10 | 中兴通讯股份有限公司 | 一种播放方法及装置 |
CN106790005A (zh) * | 2016-12-13 | 2017-05-31 | 武汉市烽视威科技有限公司 | 实现低延时hls直播的系统及方法 |
CN107396205A (zh) * | 2017-07-25 | 2017-11-24 | 观止云(北京)信息技术有限公司 | 一种低延时流化hls实现方法 |
-
2018
- 2018-05-16 CN CN201810469121.9A patent/CN108540868B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103596067A (zh) * | 2013-11-26 | 2014-02-19 | 深圳创维数字技术股份有限公司 | 一种基于http实时流媒体协议的电视节目传输方法及装置 |
CN104333781A (zh) * | 2014-10-31 | 2015-02-04 | 百视通网络电视技术发展有限责任公司 | 一种在cdn网络中预取直播节目信息的方法与设备 |
CN106658226A (zh) * | 2015-10-28 | 2017-05-10 | 中兴通讯股份有限公司 | 一种播放方法及装置 |
CN105872607A (zh) * | 2016-03-31 | 2016-08-17 | 乐视控股(北京)有限公司 | 提供多媒体内容的方法、服务器和终端设备 |
CN106028154A (zh) * | 2016-06-30 | 2016-10-12 | 青岛海信电器股份有限公司 | 一种基于hls协议的节目播放方法和装置 |
CN106572358A (zh) * | 2016-11-11 | 2017-04-19 | 青岛海信宽带多媒体技术有限公司 | 一种直播时移方法及客户端 |
CN106790005A (zh) * | 2016-12-13 | 2017-05-31 | 武汉市烽视威科技有限公司 | 实现低延时hls直播的系统及方法 |
CN107396205A (zh) * | 2017-07-25 | 2017-11-24 | 观止云(北京)信息技术有限公司 | 一种低延时流化hls实现方法 |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110944228A (zh) * | 2018-09-21 | 2020-03-31 | 中国移动通信有限公司研究院 | 一种视频流保护方法、装置和存储介质 |
CN110958279A (zh) * | 2018-09-26 | 2020-04-03 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及其装置 |
CN109729386A (zh) * | 2019-01-03 | 2019-05-07 | 深圳市网心科技有限公司 | 一种视频文件启播方法、系统及电子设备和存储介质 |
CN109788372A (zh) * | 2019-01-24 | 2019-05-21 | 维沃移动通信有限公司 | 一种流媒体的播放方法及相关装置 |
CN109788372B (zh) * | 2019-01-24 | 2021-06-08 | 维沃移动通信有限公司 | 一种流媒体的播放方法及相关装置 |
CN109756757A (zh) * | 2019-03-21 | 2019-05-14 | 北京数码视讯软件技术发展有限公司 | 直播数据处理方法及装置、直播方法及装置和直播服务器 |
WO2020211731A1 (zh) * | 2019-04-19 | 2020-10-22 | 华为技术有限公司 | 一种视频播放方法及相关设备 |
US11849157B2 (en) | 2019-07-16 | 2023-12-19 | Zhejiang Dahua Technology Co., Ltd. | Systems and methods for live streaming |
CN110324727A (zh) * | 2019-07-16 | 2019-10-11 | 浙江大华技术股份有限公司 | 计算机可读存储介质、服务器及其响应播放请求的方法 |
WO2021008061A1 (en) * | 2019-07-16 | 2021-01-21 | Zhejiang Dahua Technology Co., Ltd. | Systems and methods for live streaming |
CN111372099A (zh) * | 2020-03-20 | 2020-07-03 | 山东云缦智能科技有限公司 | 一种低延迟hls直播的实现方法 |
CN111901696A (zh) * | 2020-07-31 | 2020-11-06 | 杭州当虹科技股份有限公司 | 一种使用预加载方式基于hls技术的实时收录拆条系统 |
CN112770170A (zh) * | 2020-12-31 | 2021-05-07 | 百视通网络电视技术发展有限责任公司 | 一种ott电视业务中的视频广告投放方法、介质及设备 |
CN113038170B (zh) * | 2021-03-01 | 2022-05-13 | 北京四达时代软件技术股份有限公司 | 直播hls数据生成方法及装置、处理方法及装置和控制系统 |
CN113038170A (zh) * | 2021-03-01 | 2021-06-25 | 北京四达时代软件技术股份有限公司 | 直播hls数据生成方法及装置、处理方法及装置和控制系统 |
WO2022199541A1 (zh) * | 2021-03-26 | 2022-09-29 | 维沃移动通信有限公司 | 媒体文件的播放方法、装置、电子设备、服务器和介质 |
CN113076125A (zh) * | 2021-04-25 | 2021-07-06 | 北京金山云网络技术有限公司 | 直播业务升级处理方法、装置、介质和服务器 |
CN113076125B (zh) * | 2021-04-25 | 2024-04-12 | 北京金山云网络技术有限公司 | 直播业务升级处理方法、装置、介质和服务器 |
CN113329267A (zh) * | 2021-05-27 | 2021-08-31 | 北京奇艺世纪科技有限公司 | 一种视频播放方法、装置、终端设备及存储介质 |
CN113329267B (zh) * | 2021-05-27 | 2023-03-24 | 北京奇艺世纪科技有限公司 | 一种视频播放方法、装置、终端设备及存储介质 |
CN115297095A (zh) * | 2022-08-08 | 2022-11-04 | 上海哔哩哔哩科技有限公司 | 回源处理方法、装置、计算设备及存储介质 |
WO2024032363A1 (zh) * | 2022-08-08 | 2024-02-15 | 上海哔哩哔哩科技有限公司 | 回源处理方法、装置、计算设备及存储介质 |
CN115297095B (zh) * | 2022-08-08 | 2024-03-08 | 上海哔哩哔哩科技有限公司 | 回源处理方法、装置、计算设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108540868B (zh) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108540868B (zh) | Hls直播的处理方法、装置、服务器、终端及存储介质 | |
CN103348691B (zh) | 分发直播内容的方法、设备和系统 | |
US20160234293A1 (en) | Downloading Media Objects | |
CN111277869B (zh) | 视频播放方法、装置、设备和存储介质 | |
CN104581374B (zh) | 一种获取切片文件和生成子m3u8文件的方法、节点及服务器 | |
CN108063769B (zh) | 一种内容服务的实现方法、装置及内容分发网络节点 | |
EP3471421B1 (en) | Live broadcast video replay method, server, and system | |
CN105871800A (zh) | 一种拉流控制的方法、装置及系统 | |
WO2018232796A1 (zh) | 一种流媒体文件处理方法及直播系统 | |
CN110557689B (zh) | 视频播放方法及装置 | |
CN105187950B (zh) | 一种视频文件播放的方法、设备和系统 | |
CN108200444B (zh) | 一种视频直播的方法、装置和系统 | |
CN110139123A (zh) | 流媒体文件的播放、发送、处理方法和装置 | |
CN108810600A (zh) | 一种视频场景的切换方法、客户端及服务器 | |
CN105391563B (zh) | 信息通知方法及装置 | |
CN105979277A (zh) | 一种文件传输方法及电子设备 | |
CN105872572A (zh) | 直播视频的处理方法及装置 | |
CN109348240A (zh) | 视频播放方法、装置及系统、电子设备以及存储介质 | |
CN110113298B (zh) | 数据传输方法、装置、信令服务器和计算机可读介质 | |
US8296389B2 (en) | Content reproduction apparatus, content delivery apparatus, content delivery system, and method for generating metadata | |
CN115297095A (zh) | 回源处理方法、装置、计算设备及存储介质 | |
CN112291573B (zh) | 直播流推送方法、装置、电子设备和计算机可读介质 | |
US20170289229A1 (en) | Method and terminal device for providing multimedia content | |
CN110417902B (zh) | 流式网络服务负载方法、相关设备及可读存储介质 | |
JP2017225044A (ja) | コンテンツ配信システムのクライアント装置、コンテンツの取得方法及びプログラム |
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 |