CN115623237B - 一种列表直播方法、装置、设备及计算机可读存储介质 - Google Patents
一种列表直播方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115623237B CN115623237B CN202211286656.5A CN202211286656A CN115623237B CN 115623237 B CN115623237 B CN 115623237B CN 202211286656 A CN202211286656 A CN 202211286656A CN 115623237 B CN115623237 B CN 115623237B
- Authority
- CN
- China
- Prior art keywords
- file
- index
- demand
- target
- live broadcast
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 2
- 230000007547 defect Effects 0.000 abstract description 4
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000005070 sampling 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/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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
- H04N21/4825—End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种列表直播方法,应用于直播领域,本发明通过对点播文件的数据按顺序进行持续拉取,在每次拉取操作后将数据保存成ts文件,将ts文件的索引存入索引文件中,并定期删除索引文件中的过期索引;在拉取新点播文件之前将文件切换标签插入索引文件尾部;在接收到客户端的观看请求后,将索引文件发送给客户端,以使客户端根据索引文件中的索引下载并播放对应的ts文件;本发明方案通过使用拉取点播文件数据生成ts文件和插入文件切换标签来进行直播的方法避免了现有技术中不能流畅的对不同格式点播文件进行列表直播的缺点。本发明同时公开了一种列表直播装置、设备及计算机可读存储介质,具有上述有益效果。
Description
技术领域
本发明及直播领域,特别涉及特别涉及一种列表直播方法、装置、设备及计算机可读存储介质。
背景技术
随着网络时代的飞速发展,近些年来直播领域正在兴起,也出现了将多个点播文件按照顺序转换为直播流进行播放的列表直播方法,目前在相关技术中,一般通过将每个点播文件独立转换成直播流,但在切换文件时,直播流会中断,然后重新开始,体验较差;或者是通过按照固定的速率拉取点播文件流,并采用RTMP(Real Time Messaging Protocol,实时文件传输协议)协议实现将数据推送到直播站源,观众可以拉取观看,在切换文件时通过增加播放偏移量便可实现流畅切换,但是不能应用于不同格式的点播文件。
发明内容
本发明的目的是提供一种列表直播方法、装置、设备及计算机可读存储介质,应用于直播领域。本发明通过将点播文件保存成多个ts文件并将ts文件的索引存储在索引文件中的方式,删除索引文件中过期索引,并在两文件切换中间添加文件切换标签,使客户端能够流畅播放不同格式的点播文件,避免了现有技术中不能流畅的对不同格式点播文件进行列表直播的缺点。
为实现上述目的,本发明提供一种列表直播方法,包括:
当接收到开始列表直播任务的指令时,将目标列表直播任务中第一个点播文件确定为目标点播文件,按照所述目标点播文件的文件流顺序从所述目标点播文件中持续拉取数据;其中,每次至少拉取一个完整包含两个关键帧的间距的所述数据,直至所述数据不小于第一预设时间;
在每次拉取操作后,将拉取到的所述数据保存至对应的ts文件中,并将所述ts文件的索引添加至索引文件尾部,删除所述索引文件中过期ts文件对应的过期索引,直至拉取所述目标点播文件完成;
判断所述列表直播任务中是否存在所述目标点播文件之后的下一个点播文件;若是,在所述索引文件尾部插入文件切换标签,将所述下一个点播文件确定为所述目标点播文件,并进入所述按照所述目标点播文件的文件流顺序从所述目标点播文件中持续拉取数据的步骤;
当接收到客户端的观看请求时,向所述客户端发送所述索引文件,以便所述客户端根据所述索引文件中的索引下载并播放对应的所述ts文件。
可选的,所述删除所述索引文件中过期ts文件对应的过期索引,包括:
判断目前所述ts文件数量是否大于或等于预设值;
若是,则当所述索引文件中的第一索引对应的所述ts文件为所述过期ts文件时,从所述索引文件中删除所述第一索引;其中,所述第一索引为排列在所述索引文件中第一个的索引。
可选的,所述当所述索引文件中的第一索引对应的所述ts文件为所述过期ts文件时,从所述索引文件中删除所述第一索引,包括:
判断所述索引文件中的所述第一索引对应的所述ts文件的存储时间是否大于所述第一索引对应的所述ts文件的时长;
若是,则将所述第一索引对应的所述ts文件确定为所述过期ts文件,从所述索引文件中删除所述第一索引。
可选的,所述判断所述索引文件中的所述第一索引对应的所述ts文件的存储时间是否大于所述第一索引对应的所述ts文件的时长之后,还包括:
当所述索引文件中所述第一索引对应的所述ts文件的所述存储时间小于所述第一索引对应的所述ts文件的时长时,等待第二预设时间之后,重新进入判断所述索引文件中的所述第一索引对应的所述ts文件的存储时间是否大于所述第一索引对应的所述ts文件的时长的步骤。
可选的,所述直至拉取所述目标点播文件完成之后,还包括:
当接收到重新播放指令,从所述第一个点播文件开始重新执行所述将列表直播任务中第一个点播文件确定为目标点播文件,按照所述目标点播文件的文件流顺序从所述目标点播文件中持续拉取数据的步骤。
可选的,还包括:
接收到终止任务指令时,立即停止目前正在执行的步骤,结束所述目标列表直播任务。
为实现上述目的,本发明还提供一种列表直播装置,包括:
分片模块,用于当接收到开始列表直播任务的指令时,将目标列表直播任务中第一个点播文件确定为目标点播文件,按照所述目标点播文件的文件流顺序从所述目标点播文件中持续拉取数据;其中,每次至少拉取一个完整包含两个关键帧的间距的所述数据,直至所述数据不小于第一预设时间;
删除模块,用于在每次拉取操作后,将拉取到的所述数据保存至对应的ts文件中,并将所述ts文件的索引添加至索引文件尾部,删除所述索引文件中过期ts文件对应的过期索引,直至拉取所述目标点播文件完成;
判断模块,用于判断所述列表直播任务中是否存在所述目标点播文件之后的下一个点播文件;若是,在所述索引文件尾部插入文件切换标签,将所述下一个点播文件确定为所述目标点播文件,并进入所述按照所述目标点播文件的文件流顺序从所述目标点播文件中持续拉取数据的步骤;
播放模块,用于当接收到客户端的观看请求时,向所述客户端发送所述索引文件,以便所述客户端根据所述索引文件中的索引下载并播放对应的所述ts文件。
可选的,所述删除模块,包括:
一级判断单元,用于判断目前所述ts文件数量是否大于或等于预设值;
删除单元,用于若目前所述ts文件数量大于或等于所述预设值,则当所述索引文件中的第一索引对应的所述ts文件为所述过期ts文件时,从所述索引文件中删除所述第一索引;其中,所述第一索引为排列在所述索引文件中第一个的索引。
为实现上述目的,本发明还提供一种列表直播设备,包括:
存储器,用于储存计算机程序;
处理器,用于执行所述计算机程序时实现上述所述列表直播方法。
为实现上述目的,本发明还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时,实现上述所述列表直播方法。
可见,本发明通过本发明通过对点播文件的数据按顺序进行持续拉取,在每次拉取操作后将数据保存成ts文件,将ts文件的索引存入索引文件中,定期删除索引文件中的过期索引;在拉取新点播文件之前将文件切换标签插入索引文件尾部;在接收到客户端的观看请求后,将索引文件发送给客户端,以使客户端根据索引文件中的索引下载并播放对应的ts文件。通过这种方法避免了现有技术中将每个点播文件独立转换为直播流播放和使用RTMP协议进行播放而产生的不能流畅的对不同格式点播文件进行列表直播的缺点。
附图说明
为更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种列表直播方法的流程图;
图2为本发明实施例提供的一种列表直播方法的具体实施例图;
图3为本发明实施例提供的一种列表直播装置的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
HLS(HTTP Live Streaming)是一种基于HTTP(Hyper Text Transfer Protocol,超文本传输协议)的自适应码率流媒体传播协议,它的工作原理是把一段视频流,分成一个个小的基于HTTP的文件来下载。本申请是在HLS协议的框架下实现不同格式的点播文件能够流畅的直播,避免了更换点播文件时卡顿、黑屏、断流等现象。
以下结合图1,图1为本发明实施例提供的一种列表直播方法的流程图,该方法可以包括:
S101:当接收到开始列表直播任务的指令时,将目标列表直播任务中第一个点播文件确定为目标点播文件,按照目标点播文件的文件流顺序从目标点播文件中持续拉取数据;其中,每次至少拉取一个完整包含两个关键帧的间距的数据,直至数据不小于第一预设时间。
可以理解的是,本申请的执行主体可以是服务器,点播文件可以是预先存储在服务器中某个存储设备的音视频文件,在开始前需要预设ts文件的缓存时长,一般默认是15秒,用户可以根据实际情况进行修改,ts文件的总时长不能够超过这个数值。当服务器接收到开始列表直播任务的指令时,可以将目标列表直播任务中第一个点播文件确定为目标点播文件,按照目标点播文件的文件流顺序从目标点播文件中持续拉取数据,拉取操作并不会影响目标点播文件的完整度,为保证拉取的数据能够正常播放,每次至少拉取一个完整包含两个关键帧的间距的所述数据,直至所述数据不小于第一预设时间。
本实施例并不限定第一预设时间的大小,第一预设时间是每个ts文件的最小时长,当第一预设时间越大,列表直播的延迟越大,但对带宽的要求低,受网络波动的影响小;当第一预设时间越小,列表直播的延迟越小,但对带宽的要求高,受网络波动的影响比较大。具体的第一预设时间的数值可以根据实际情况进行设定,本实施例中各ts文件的时长可以不同,只需要满足完整包含两个关键帧的间距的数据,且时长不小于第一预设时间。
本实施例并不限定目标列表直播任务中点播文件的格式,可以是不同封装格式的文件如mp4、flv和m3u8等,也可以是不同分辨率的文件如1080p、720p、480p或其它等、还可以码率、帧率、音频采样率等各种编码参数不相同的文件。进一步,本实施例并不限定列表直播任务中点播文件的数量,也不限定列表直播任务的数量,本实施例并不限定确定目标列表任务的方式,可以是按顺序将第一个列表直播任务确定为目标列表直播任务,还可以是根据开始列表直播任务的指令中携带的信息确定目标列表直播任务。每个列表直播任务可以自由设置,其中的点播文件可以从存储在服务器存储设备中的点播文件中任意挑选。本实施例并不限定发送开始列表直播任务的指令的时机,可以是用户在当前使用时刻发送的指令,也可以通过在服务器中设置时间,定时地发送指令。
S102:在每次拉取操作后,将拉取到的所述数据保存至对应的ts文件中,并将所述ts文件的索引添加至索引文件尾部,删除所述索引文件中过期ts文件对应的过期索引,直至拉取所述目标点播文件完成。
可以理解的是,在每次拉取操作过后,将拉取的数据保存成ts文件,并将ts文件的索引存到索引文件中,索引文件是一种纯文本文件,索引文件并不直接存储ts文件,而是存储ts文件对应的索引,索引是关于ts文件的配置信息和相关路径,通过索引可以找到对应的ts文件,其中索引文件可以是m3u(Moving Picture Experts Group Audio Layer3Uniform Resource Locator)文件,m3u8文件是以UTF-8编码的m3u文件,具体使用根据时间情况确定。删除索引文件中的过期索引是为了保证索引文件中的索引都是最新的ts文件的索引,通过这种方式实现直播的效果,无论客户端何时请求,所获得的ts文件都是最新的,其中,ts文件是一种传输流文件,用于储存从点播文件中拉取的数据。
本实施例并不限定删除索引文件中过期索引的时机,为了更好的列表直播效果,一般可以设置预设值,使ts文件的数量始终在预设值之内,可以是当总的ts文件数量大于或等于该预设值的时候判断索引文件中的第一个索引对应的ts文件是否是过期文件,如果是,则删除该第一索引,其中预设值的大小可以根据实际使用情况进行设置。进一步,本实施例并不限定确定限定第一索引是否过期的方式,一般可以是当第一索引对应的ts文件的存储时间大于该ts文件的时长时,确定该ts文件为过期文件,则确定该ts文件对应的第一索引为过期索引,删除该ts文件对应的第一索引。进一步,本实施例并不限定判断当第一索引对应的ts文件的存储时间是否大于该ts文件的时长的后续操作,一般当第一索引对应的ts文件的存储时间小于该ts文件的时长时,经过第二预设时间之后,再次对该ts文件执行过期判断操作,直至确定该ts文件过期。
进一步,本实施例并不限定拉取目标点播文件完成之后的操作,可以设置重新播放指令,当服务器执行完拉取所有目标列表直播任务中的点播文件之后接收到该指令,则服务器重新执行该目标列表直播任务,在索引文件的尾部添加文件切换标签,将第一个点播文件确定为目标点播文件,重新执行按照目标点播文件的文件流顺序从目标点播文件中持续拉取数据的步骤。
S103:判断所述列表直播任务中是否存在所述目标点播文件之后的下一个点播文件;若是,在所述索引文件尾部插入文件切换标签,将所述下一个点播文件确定为所述目标点播文件,并进入所述按照所述目标点播文件的文件流顺序从所述目标点播文件中持续拉取数据的步骤。
可以理解的是,在拉取完目标点播文件时,若该目标点播文件之后还存在点播文件,将该点播文件确定为新的点播文件,并继续执行按照目标点播文件的文件流顺序从目标点播文件中持续拉取数据的步骤,其中,在拉取目标点播文件最后的数据生成ts文件时,将该ts文件的索引储存在索引文件,并将文件切换标签插入索引文件尾部,文件切换标签具体为EXT-X-DISCONTINUITY,是一种使用在索引文件中用于声明标签之前的索引对应的ts文件和标签之后的索引对应的ts文件是来自不同的点播文件,以达到在两个文件切换时,直播不会出现断流、卡顿或黑屏等现象。该标签在所有MAC和IOS的浏览器上都默认支持,在使用hls.js的其它浏览器中也支持,除了ffplay播放器之外的其它非浏览器的播放器都基本支持,其中,hls.js是一个JavaScript库,实现了HLS客户端。
S104:当接收到客户端的观看请求时,向所述客户端发送所述索引文件,以便所述客户端根据所述索引文件中的索引下载并播放对应的所述ts文件。
可以理解的是,本实施例并不限定客户端的类型,可以是软件,也可以是网页,在服务器端接收到客户端发送的观看请求时,服务器将索引文件发送给客户端,客户端对接收到的索引文件进行解析,获得索引,通过索引从服务器中下载对应的ts文件,以实现观看直播的目的。
进一步,为了方便管理人员进行管理,可以设置终止任务的指令,在执行目标列表直播任务的过程中,无论何时接收到该终止任务指令,服务器立即停止当前正在执行的步骤,并结束目标列表直播任务。
本实施例通过对点播文件的数据按顺序进行持续拉取,在每次拉取操作后将数据保存成ts文件,将ts文件的索引存入索引文件中,定期删除索引文件中的过期索引;在拉取新点播文件之前将文件切换标签插入索引文件尾部;在接收到客户端的观看请求后,将索引文件发送给客户端,以使客户端根据索引文件中的索引下载并播放对应的ts文件。通过这种方法避免了现有技术中将每个点播文件独立转换为直播流播放和使用RTMP协议进行播放而产生的不能流畅的对不同格式点播文件进行列表直播的缺点。
以下结合图2,图2为本发明实施例提供的一种列表直播方法的具体实施例图,其中预设ts文件的缓存时长可以是默认的15秒,列表直播任务中可以设置三个按顺序排列的点播文件file1.flv,file2.mp4,预设值可设为3,第一预设时间可以是3秒,第二预设时间可以是40ms,索引文件可以是m3u8文件该具体实施例可以包括:
1、当服务器接收到开始列表直播任务的指令时,拉取file1.flv的数据,每次至少拉取一个完整包含两个关键帧的间距的数据,直至数据不小于3秒。
2、将数据保存成ts文件,将该ts文件的索引存入m3u8文件尾部。
3、判断目前ts文件的个数是否大于或等于3,若是,对m3u8文件中的第一个索引对应的ts文件进行过期判断;若否,则等待40毫秒之后重新对该ts文件进行过期判断,直至判断该ts文件过期。
4、从索引文件中删除该过期文件对应的索引,并判断file1.flv文件是否拉取完毕,若是,则在m3u8文件尾部插入EXT-X-DISCONTINUITY标签,将file2.mp4文件确定为目标点播文件,重新循环进行拉取file2.mp4的数据的操作。
5、若否,则继续循环拉取file1.flv点播文件的数据的操作。
6、当file2.mp4文件被拉取完成后,判断是否继续重新播放,若是,则在m3u8文件尾部插入EXT-X-DISCONTINUITY标签,并将file1.flv重新确定为目标点播文件,并执行循环拉取file1.flv点播文件的数据的操作。
7、若否,则结束该列表直播任务。
下面对本发明实施例提供的列表直播装置、设备及存储介质进行介绍,下文描述的列表直播装置、设备及存储介质与上文描述的列表直播方法可相互对应参照。
以下结合图3,图3为本发明实施例提供的一种列表直播装置结构框图,该装置可以包括:
分片模块100,用于当接收到开始列表直播任务的指令时,将目标列表直播任务中第一个点播文件确定为目标点播文件,按照目标点播文件的文件流顺序从目标点播文件中持续拉取数据;其中,每次至少拉取一个完整包含两个关键帧的间距的数据,直至数据不小于第一预设时间;
删除模块200,用于在每次拉取操作后,将拉取到的数据保存至对应的ts文件中,并将ts文件的索引添加至索引文件尾部,删除索引文件中过期ts文件对应的过期索引,直至拉取目标点播文件完成;
判断模块300,用于判断列表直播任务中是否存在目标点播文件之后的下一个点播文件;若是,在索引文件尾部插入文件切换标签,将下一个点播文件确定为目标点播文件,并进入按照目标点播文件的文件流顺序从目标点播文件中持续拉取数据的步骤;
播放模块400,用于当接收到客户端的观看请求时,向客户端发送索引文件,以便客户端根据索引文件中的索引下载并播放对应的ts文件。
基于上述实施例,本发明通过对点播文件的数据按顺序进行持续拉取,在每次拉取操作后将数据保存成ts文件,将ts文件的索引存入索引文件中,定期删除索引文件中的过期索引;在拉取新点播文件之前将文件切换标签插入索引文件尾部;在接收到客户端的观看请求后,将索引文件发送给客户端,以使客户端根据索引文件中的索引下载并播放对应的ts文件。避免了现有技术中将每个点播文件独立转换为直播流播放和使用RTMP协议进行播放而产生的不能流畅的对不同格式点播文件进行列表直播的缺点。
基于上述各实施例,删除模块200,包括:
一级判断单元,用于判断目前ts文件数量是否大于或等于预设值;
删除单元,用于若目前ts文件数量大于或等于预设值,则当索引文件中的第一索引对应的ts文件为过期ts文件时,从索引文件中删除第一索引;其中,第一索引为排列在索引文件中第一个的索引。
基于上述各实施例,一级判断单元,包括:
二级判断单元,用于判断索引文件中的第一索引对应的ts文件的存储时间是否大于第一索引对应的ts文件的时长;
确定过期索引单元,用于若是,则将第一索引对应的ts文件确定为过期ts文件,从索引文件中删除第一索引。
基于上述各实施例,二级判断单元,还可以包括:
循环判断过期单元,用于当索引文件中第一索引对应的ts文件的存储时间小于第一索引对应的ts文件的时长时,等待第二预设时间之后,重新进入判断索引文件中的第一索引对应的ts文件的存储时间是否大于第一索引对应的ts文件的时长的步骤。
基于上述各实施例,该装置还可以包括:
重新播放模块,用于当接收到重新播放指令,从第一个点播文件开始重新执行将列表直播任务中第一个点播文件确定为目标点播文件,按照目标点播文件的文件流顺序从目标点播文件中持续拉取数据的步骤。
基于上述各实施例,该装置还可以包括:
终止模块,用于接收到终止任务指令时,立即停止目前正在执行的步骤,结束目标列表直播任务。
基于上述实施例,本发明还提供了一种列表直播设备,该设备可以包括存储器和处理器,其中,该存储器中存有计算机程序,该处理器调用该存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然,该装置还可以包括各种必要的网络接口、电源以及其它零部件等。
本发明还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行终端或处理器执行时可以实现本发明实施例所提供的列表直播方法;该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,且各个实施例间为递进关系,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,可参见对应的方法部分说明。以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种列表直播方法,其特征在于,包括:
当接收到开始列表直播任务的指令时,将目标列表直播任务中第一个点播文件确定为目标点播文件,按照所述目标点播文件的文件流顺序从所述目标点播文件中持续拉取数据;其中,每次至少拉取一个完整包含两个关键帧的间距的所述数据,直至所述数据不小于第一预设时间;
在每次拉取操作后,将拉取到的所述数据保存至对应的ts文件中,并将所述ts文件的索引添加至索引文件尾部,删除所述索引文件中过期ts文件对应的过期索引,直至拉取所述目标点播文件完成;
判断所述列表直播任务中是否存在所述目标点播文件之后的下一个点播文件;若是,在所述索引文件尾部插入文件切换标签,将所述下一个点播文件确定为所述目标点播文件,并进入所述按照所述目标点播文件的文件流顺序从所述目标点播文件中持续拉取数据的步骤;所述文件切换标签为EXT-X-DISCONTINUITY;
当接收到客户端的观看请求时,向所述客户端发送所述索引文件,以便所述客户端根据所述索引文件中的索引下载并播放对应的所述ts文件。
2.根据权利要求1所述方法,其特征在于,所述删除所述索引文件中过期ts文件对应的过期索引,包括:
判断目前所述ts文件数量是否大于或等于预设值;
若是,则当所述索引文件中的第一索引对应的所述ts文件为所述过期ts文件时,从所述索引文件中删除所述第一索引;其中,所述第一索引为排列在所述索引文件中第一个的索引。
3.根据权利要求2所述方法,其特征在于,所述当所述索引文件中的第一索引对应的所述ts文件为所述过期ts文件时,从所述索引文件中删除所述第一索引,包括:
判断所述索引文件中的所述第一索引对应的所述ts文件的存储时间是否大于所述第一索引对应的所述ts文件的时长;
若是,则将所述第一索引对应的所述ts文件确定为所述过期ts文件,从所述索引文件中删除所述第一索引。
4.根据权利要求3所述方法,其特征在于,所述判断所述索引文件中的所述第一索引对应的所述ts文件的存储时间是否大于所述第一索引对应的所述ts文件的时长之后,还包括:
当所述索引文件中所述第一索引对应的所述ts文件的所述存储时间小于所述第一索引对应的所述ts文件的时长时,等待第二预设时间之后,重新进入判断所述索引文件中的所述第一索引对应的所述ts文件的存储时间是否大于所述第一索引对应的所述ts文件的时长的步骤。
5.根据权利要求1所述方法,其特征在于,所述直至拉取所述目标点播文件完成之后,还包括:
当接收到重新播放指令,从所述第一个点播文件开始重新执行所述将列表直播任务中第一个点播文件确定为目标点播文件,按照所述目标点播文件的文件流顺序从所述目标点播文件中持续拉取数据的步骤。
6.根据权利要求1所述方法,其特征在于,还包括:
接收到终止任务指令时,立即停止目前正在执行的步骤,结束所述目标列表直播任务。
7.一种列表直播装置,其特征在于,包括:
分片模块,用于当接收到开始列表直播任务的指令时,将目标列表直播任务中第一个点播文件确定为目标点播文件,按照所述目标点播文件的文件流顺序从所述目标点播文件中持续拉取数据;其中,每次至少拉取一个完整包含两个关键帧的间距的所述数据,直至所述数据不小于第一预设时间;
删除模块,用于在每次拉取操作后,将拉取到的所述数据保存至对应的ts文件中,并将所述ts文件的索引添加至索引文件尾部,删除所述索引文件中过期ts文件对应的过期索引,直至拉取所述目标点播文件完成;
判断模块,用于判断所述列表直播任务中是否存在所述目标点播文件之后的下一个点播文件;若是,在所述索引文件尾部插入文件切换标签,将所述下一个点播文件确定为所述目标点播文件,并进入所述按照所述目标点播文件的文件流顺序从所述目标点播文件中持续拉取数据的步骤;所述文件切换标签为EXT-X-DISCONTINUITY
播放模块,用于当接收到客户端的观看请求时,向所述客户端发送所述索引文件,以便所述客户端根据所述索引文件中的索引下载并播放对应的所述ts文件。
8.根据权利要求7所述装置,其特征在于,所述删除模块,包括:
一级判断单元,用于判断目前所述ts文件数量是否大于或等于预设值;
删除单元,用于若目前所述ts文件数量大于或等于所述预设值,则当所述索引文件中的第一索引对应的所述ts文件为所述过期ts文件时,从所述索引文件中删除所述第一索引;其中,所述第一索引为排列在所述索引文件中第一个的索引。
9.一种列表直播设备,其特征在于,包括:
存储器,用于储存计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述列表直播方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时,实现如权利要求1至6任一项所述列表直播方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211286656.5A CN115623237B (zh) | 2022-10-20 | 2022-10-20 | 一种列表直播方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211286656.5A CN115623237B (zh) | 2022-10-20 | 2022-10-20 | 一种列表直播方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115623237A CN115623237A (zh) | 2023-01-17 |
CN115623237B true CN115623237B (zh) | 2024-03-29 |
Family
ID=84865142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211286656.5A Active CN115623237B (zh) | 2022-10-20 | 2022-10-20 | 一种列表直播方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115623237B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106534878A (zh) * | 2016-11-01 | 2017-03-22 | 乐视控股(北京)有限公司 | 一种直播节目的回看方法、系统和服务器 |
CN107846618A (zh) * | 2017-11-10 | 2018-03-27 | 山东浪潮商用系统有限公司 | 一种单向机顶盒及其业务实现方法 |
CN109587514A (zh) * | 2017-09-28 | 2019-04-05 | 中国移动通信有限公司研究院 | 一种视频播放方法、介质和相关装置 |
CN111787404A (zh) * | 2020-07-26 | 2020-10-16 | 易视腾科技股份有限公司 | 直播流播放方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634610B (zh) * | 2012-08-24 | 2018-02-16 | 中兴通讯股份有限公司 | 直播内容分发系统及方法 |
US10567461B2 (en) * | 2016-08-04 | 2020-02-18 | Twitter, Inc. | Low-latency HTTP live streaming |
-
2022
- 2022-10-20 CN CN202211286656.5A patent/CN115623237B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106534878A (zh) * | 2016-11-01 | 2017-03-22 | 乐视控股(北京)有限公司 | 一种直播节目的回看方法、系统和服务器 |
CN109587514A (zh) * | 2017-09-28 | 2019-04-05 | 中国移动通信有限公司研究院 | 一种视频播放方法、介质和相关装置 |
CN107846618A (zh) * | 2017-11-10 | 2018-03-27 | 山东浪潮商用系统有限公司 | 一种单向机顶盒及其业务实现方法 |
CN111787404A (zh) * | 2020-07-26 | 2020-10-16 | 易视腾科技股份有限公司 | 直播流播放方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115623237A (zh) | 2023-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8837586B2 (en) | Bandwidth-friendly representation switching in adaptive streaming | |
US11729450B2 (en) | Systems and methods for delivery of content via multicast and unicast | |
US9986267B2 (en) | Methods and systems for dynamically editing, encoding, posting and updating live video content | |
CN109328384A (zh) | 用于在特技播放模式中提供可变速度的系统和方法 | |
US11128897B2 (en) | Method for initiating a transmission of a streaming content delivered to a client device and access point for implementing this method | |
CN109587514B (zh) | 一种视频播放方法、介质和相关装置 | |
CN104202684A (zh) | 一种分段网络视频无缝播放方法和装置 | |
CN106791994B (zh) | 一种低延时快速开播方法及装置 | |
JP6257611B2 (ja) | 個人向けのメディア・コンテンツの提供 | |
CN106791988B (zh) | 多媒体数据轮播方法和终端 | |
CN107920258B (zh) | 一种数据处理方法及装置 | |
CN110198494B (zh) | 一种视频播放方法、装置、设备和存储介质 | |
CN113141522B (zh) | 资源传输方法、装置、计算机设备及存储介质 | |
CN107277554A (zh) | 一种时移节目单播转换组播的方法 | |
JP4294933B2 (ja) | マルチメディアコンテンツ編集装置およびマルチメディアコンテンツ再生装置 | |
CN106789976A (zh) | 媒体文件的播放方法、服务端、客户端及系统 | |
CN113727199A (zh) | 一种hls切片快速起播方法 | |
US11102536B2 (en) | Transmission apparatus, reception apparatus, and data processing method | |
US20230164398A1 (en) | Video stream control | |
CN106612462B (zh) | 快进快退的处理方法及终端 | |
US8386632B2 (en) | Method, device, and system for controlling streaming media play | |
CN115623237B (zh) | 一种列表直播方法、装置、设备及计算机可读存储介质 | |
CN106231414B (zh) | 基于iptv的播放模式切换的控制方法及装置 | |
CN107534792B (zh) | 接收设备、发送设备以及数据处理方法 | |
CN114760485B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |