基于hls协议的播放时移电视的方法、终端及服务器

文档序号:1524357 发布日期:2020-02-11 浏览:26次 >En<

阅读说明:本技术 基于hls协议的播放时移电视的方法、终端及服务器 (HLS protocol-based time-shifted television playing method, terminal and server ) 是由 张宝柱 于 2019-10-21 设计创作,主要内容包括:本发明实施例提供一种基于HLS协议的播放时移电视的方法、终端及服务器,其中方法包括:接收终端周期性发送的时移电视请求,时移电视请求中记录用于表征点播时间和频道的点播信息;根据时移电视请求从数据库中获取对应的视频片段,并作为起始片段,从起始片段开始汇集一定数量的视频片段,以构建直播文件,将直播文件返回至终端,以使得终端下载并播放直播文件中记载的视频片段;其中,视频片段根据录制时间的顺序存储在数据库中;直播文件按照HLS协议中关于M3U8文件的标准定义。本发明实施例使得原本仅支持HLS协议的终端实现了时移电视业务,能够大大降低IPTV的推广难度和推广成本。(The embodiment of the invention provides a method, a terminal and a server for playing a time-shifted television based on an HLS protocol, wherein the method comprises the following steps: receiving a time-shifted television request periodically sent by a terminal, and recording on-demand information for representing on-demand time and channels in the time-shifted television request; acquiring corresponding video segments from a database according to a time-shifted television request, taking the video segments as initial segments, collecting a certain number of video segments from the initial segments to construct a live broadcast file, and returning the live broadcast file to a terminal so that the terminal downloads and plays the video segments recorded in the live broadcast file; wherein, the video clips are stored in a database according to the sequence of the recording time; the live files are defined according to the standard in the HLS protocol for M3U8 files. The embodiment of the invention enables the terminal which originally only supports the HLS protocol to realize the time-shifted television service, and can greatly reduce the popularization difficulty and the popularization cost of the IPTV.)

基于HLS协议的播放时移电视的方法、终端及服务器

技术领域

本发明涉及电视广播技术领域,更具体地,涉及基于HLS协议的播放时移电视的方法、终端及服务器。

背景技术

在IPTV(交互式网络电视)系统领域中,通常采用HLS(HTTP Live Streaming)协议实现直播和点播业务,HLS(协议通过将整条流切割成一个小的可以通过HTTP(HyperTextTransfer Protocol)下载的媒体文件,然后提供一个配套的媒体列表文件,提供给客户端,让客户端有顺序地拉取这些媒体文件播放,来实现看上去是在播放一条流的效果。

时移电视是指观众在观看DVB(Digital Video Broadcasting)数字电视节目时,可以通过时移菜单进入时移节目列表选择之前漏看的电视节目,也可以通过在电视直播过程中按遥控器“后退/快进”键进行时移,也可以选择几天前的电视节目。

目前实现时移电视通常采用RTSP(Real Time Streaming Protocol)协议,无法采用HLS协议,因此如果能够使支持HLS协议的机顶盒,在不进行实质性改造的情况下,即可直接支持时移电视业务,将大大降低IPTV的推广难度和推广成本。

发明内容

本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的基于HLS协议的播放时移电视的方法、服务器以及终端。

第一个方面,本发明实施例提供一种基于HLS协议的播放时移电视的方法,应用于服务器端,所述方法包括:

接收终端周期性发送的时移电视请求,所述时移电视请求中记录用于表征点播时间和频道的点播信息;

根据所述时移电视请求从数据库中获取对应的视频片段,并作为起始片段,从所述起始片段开始汇集一定数量的视频片段,以构建直播文件,将所述直播文件返回至终端,以使得终端下载并播放直播文件中记载的视频片段;

其中,所述视频片段根据录制时间的顺序存储在所述数据库中;所述直播文件按照HLS协议中关于M3U8文件的标准定义。

优选地,所述直播文件中记录视频片段的时长,以使得所述终端控制发送时移电视请求的周期小于视频片段的时长。

优选地,所述接收时移电视请求,之前还包括:

接收频道的直播源码流,以录制视频;

按照预设时长对所述视频进行片段,获得若干个视频片段,每个视频片段的名称与视频片段的录制时间相关;

根据视频片段的名称建立索引表。

优选地,所述时移电视请求中包括频道以及时间偏移时间,所述时间偏移时间为一段时间差;

相应地,所述根据所述时移电视请求从数据库中获取对应的视频片段,具体为:

将当前时间回退所述时移电视请求中记录的时间偏移时间,获得点播时间;

根据所述点播时间和频道获得对应的视频片段。

优选地,所述根据所述点播时间和频道获得对应的视频片段,具体为:

获取所述频道的历史视频片段,若所述历史视频片段中存在一个视频片段,使得所述点播时间处于所述视频片段的时间范围内,则将所述视频片段作为与点播时间和频道对应的视频片段。

第二个方面,本发明实施例提供一种基于HLS协议的播放时移电视的方法,应用于终端,所述方法包括:

周期性发送时移电视请求,所述时移电视请求中记录用于表征点播时间和频道的点播信息;

接收服务器根据所述时移电视请求发送的直播文件,并根据所述直播文件下载视频片段;

其中,所述直播文件按照HLS协议中关于M3U8文件的标准定义。

优选地,所述终端发送示意电视请求的周期为所述直播文件中记录的视频片段的时长的一半。

优选地,所述根据所述直播文件下载视频片段,具体为:

将当前周期获得的直播文件与上一周期获得的直播文件进行比对,若当前周期获得直播文件中的视频片段存在更新,则下载更新的视频片段。

第三方面,本发明实施例提供一种服务器,包括:

请求接收模块,用于接收终端周期性发送的时移电视请求,所述时移电视请求中记录用于表征点播时间和频道的点播信息;

文件发送模块,用于根据所述时移电视请求从数据库中获取对应的视频片段,并作为起始片段,从所述起始片段开始汇集一定数量的视频片段,以构建直播文件,将所述直播文件返回至终端,以使得终端下载并播放直播文件中记载的视频片段;

其中,所述视频片段根据录制时间的顺序存储在所述数据库中;所述直播文件按照HLS协议中关于M3U8文件的标准定义。

第四个方面,本发明实施例提供一种终端,包括:

请求发送模块,用于周期性发送时移电视请求,所述时移电视请求中记录用于表征点播时间和频道的点播信息;

文件接收模块,用于接收服务器根据所述时移电视请求发送的直播文件,并根据所述直播文件下载视频片段;

其中,所述直播文件按照HLS协议中关于M3U8文件的标准定义。

第五方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一或二方面所提供的方法的步骤。

第六方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一或二方面所提供的方法的步骤。

本发明实施例提供的基于HLS协议的播放时移电视的方法、终端及服务器,通过将录制的视频片段按时序存储在数据库中,当接收终端周期性发送的时移电视请求时,利用HLS协议将点播信息对应的视频片段以HLS协议的方式记录在M3U8文件中,以使得终端下载相关的视频片段,使得原本仅支持HLS协议的终端实现了时移电视业务,即没有进行协议的扩展,也没有重新定义新的协议,能够大大降低IPTV的推广难度和推广成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的基于HLS协议的播放时移电视的方法在服务器侧的流程示意图;

图2为本发明实施例的基于HLS协议的播放时移电视的方法在终端侧的流程示意图;

图3为本发明实施例提供的服务器的结构示意图,;

图4为本发明实施例提供的终端的结构示意图;

图5为本发明实施例提供的电子设备的实体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例的基于HLS协议的播放时移电视的方法在服务器侧的流程示意图,如图1所示,该方法包括S101和S102,具体地:

S101、接收终端周期性发送的时移电视请求,所述时移电视请求中记录用于表征点播时间和频道的点播信息。

需要说明的是,本发明实施例的服务器接收由终端周期性发送的时移电视请求,终端通过发送时移电视请求,达到向服务器告知希望播放时移电视的目的。可以理解的是,点播时间是一个历史时间,例如当前时间是2019年10月11日9点00分00秒,点播时间就是在当前时间之前的一个时间,频道是指电视节目的频道,例如CCTV-1、、CCTV-5、湖南卫视、星空卫视都属于频道,服务器通过接收时移电视请求,即可获知终端希望播放具体时间的具体频道。

S102、根据所述时移电视请求从数据库中获取对应的视频片段,并作为起始片段,从所述起始片段开始汇集一定数量的视频片段,以构建直播文件,将所述直播文件返回至终端,以使得终端下载并播放直播文件中记载的视频片段。

需要说明的是,本发明实施例的视频片段根据录制时间的顺序存储在数据库中,可以理解的是,每一个视频片段都对应着录制时的一个时刻,因此通过时移电视请求获知终端所需的点播时间,再根据点播时间寻找相应时间的视频片段,即可获得起始片段,然后从起始片段开始汇集一定数量的视频片段,以构建直播文件。例如,通过时移电视请求获知点播时间为2019年10月1日10点00分00秒,在数据库中查找到一个最接近的视频片段的开始时间为2019年10月1日9点59分55秒,结束时间是2019年10月1日10点01分05秒,那么该视频片段就可以作为起始片段,并从该视频片段开始,按照时序汇集5个视频片段,即构建出直播文件。

本发明实施例的直播文件按照HLS协议中关于M3U8文件的标准定义。HLS的M3U8文件记录了TS(Transport Stream)包的列表,也就是告诉终端可以播放这些TS包,同时M3U8文件也是一个地址,终端通过该地址即可下载相关的TS包。在本发明实施例在,一个视频片段即一个TS包。

本发明实施例通过将录制的视频片段按时序存储在数据库中,当接收终端周期性发送的时移电视请求时,利用HLS协议将点播信息对应的视频片段以HLS协议的方式记录在M3U8文件中,以使得终端下载相关的视频片段,使得原本仅支持HLS协议的终端实现了时移电视业务,即没有进行协议的扩展,也没有重新定义新的协议,能够大大降低IPTV的推广难度和推广成本。

在上述各实施例的基础上,作为一种可选实施例,直播文件中记录视频片段的时长,以使得所述终端控制发送时移电视请求的周期小于视频片段的时长。

需要说明的是,在现有利用HLS协议进行直播和点播业务时,终端通常是基于预设的周期向服务器发送请求,预设的周期并不会随着服务器录播时生成的视频片段的时长变化而改变。如果视频片段的时长大于预设的周期通常不会出现事故,但如果视频片段的长度小于预设的周期,就会出现视频片段播放完毕终端都还没用请求到下一个视频片段,进而播放终端的事故。因此,本发明实施例通过根据视频片段的时长确定发送时移电视请求的周期,并且发送时移电视请求的周期小于视频片段的时长,能够避免上述事故的发生。

在上述各实施例的基础上,作为一种可选实施例,在接收时移电视请求之前还包括:

接收频道的直播源码流,以录制视频;

按照预设时长对所述视频进行片段,获得若干个视频片段,每个视频片段的名称与视频片段的录制时间相关;

根据视频片段的名称建立索引表。

需要说明的是,本发明实施例的服务器将录制的视频进行分段,为实现基于HLS协议实现时移电视提供了基础,并且每个视频片段的名称与视频片段的录制时间相关,例如可以以每个视频片段的第一个视频帧的录制时间作为该视频片段的名称。

在上述各实施例的基础上,作为一种可选实施例,,所述时移电视请求中包括频道以及时间偏移时间,所述时间偏移时间为一段时间差。

需要说明的是,时间偏移时间是一段时间差,即一段相对时间。比如时间偏移时间为5000秒,即表示想要获取在某时刻之前5000秒的视频。

相应地,所述根据所述时移电视请求从数据库中获取对应的视频片段,具体为:

将当前时间回退所述时移电视请求中记录的时间偏移时间,获得点播时间;

根据所述点播时间和频道获得对应的视频片段。

需要说明的是,由于时移电视请求是不断发送至服务器的,因此服务器每次获取的当前时间都会发生变化,从而使得点播时间也在发生变化。

在一个可选实施例中,根据所述点播时间和频道获得对应的视频片段,具体为:获取所述频道的历史视频片段,若所述历史视频片段中存在一个视频片段,使得所述点播时间处于所述视频片段的时间范围内,则将所述视频片段作为与点播时间和频道对应的视频片段。

例如,视频片段1的时间是2019年10月14日17:14:10秒,视频片段1的下一个视频片段,视频片段2的时间是17:14:20秒,如果当前时间减去时间偏移后的时间是17:14:5秒时,返回从视频片段1开始的连续5个视频片段,如果当前时间减去时间偏移后的时间是17:14:21秒时,返回的是从视频片段2开始的连续5个视频片段。

在上述各实施例的基础上,所述录制视频具体为:确定直播源码流中的关键帧,从关键帧开始录制视频。

需要说明的是,本发明实施例录制视频是从关键帧开始录制视频的,本发明实施例并不限制关键帧的选取标准,例如可以是I帧也可以IDR帧。

图2为本发明实施例的基于HLS协议的播放时移电视的方法在终端侧的流程示意图,如图2所示,包括S201和S202,具体地:

S201、周期性发送时移电视请求,所述时移电视请求中记录用于表征点播时间和频道的点播信息。

需要说明的是,本发明实施例的终端周期性发送的时移电视请求,终端通过发送时移电视请求,达到向服务器告知希望播放时移电视的目的。可以理解的是,点播时间是一个历史时间,例如当前时间是2019年10月11日9点00分00秒,点播时间就是在当前时间之前的一个时间,频道是指电视节目的频道,例如CCTV-1、、CCTV-5、湖南卫视、星空卫视都属于频道,服务器通过接收时移电视请求,即可获知终端希望播放具体时间的具体频道。

S202、接收服务器根据所述时移电视请求发送的直播文件,并根据所述直播文件下载视频片段;

其中,所述直播文件按照HLS协议中关于M3U8文件的标准定义。

需要说明的是,本发明实施例的视频片段根据录制时间的顺序存储在数据库中,可以理解的是,每一个视频片段都对应着录制时的一个时刻,因此通过时移电视请求获知终端所需的点播时间,再根据点播时间寻找相应时间的视频片段,即可获得起始片段,然后从起始片段开始汇集一定数量的视频片段,以构建直播文件。例如,通过时移电视请求获知点播时间为2019年10月1日10点00分00秒,在数据库中查找到一个最接近的视频片段的开始时间为2019年10月1日9点59分55秒,结束时间是2019年10月1日10点01分05秒,那么该视频片段就可以作为起始片段,并从该视频片段开始,按照时序汇集5个视频片段,即构建出直播文件。

本发明实施例的直播文件按照HLS协议中关于M3U8文件的标准定义。HLS的M3U8文件记录了TS(Transport Stream)包的列表,也就是告诉终端可以播放这些TS包,同时M3U8文件也是一个地址,终端通过该地址即可下载相关的TS包。在本发明实施例在,一个视频片段即一个TS包。

本发明实施例的服务器利用HLS协议将点播信息对应的视频片段以HLS协议的方式记录在M3U8文件中,以使得终端下载相关的视频片段,使得原本仅支持HLS协议的终端实现了时移电视业务,即没有进行协议的扩展,也没有重新定义新的协议,能够大大降低IPTV的推广难度和推广成本。

在上述各实施例的基础上,所述终端发送示意电视请求的周期为所述直播文件中记录的视频片段的时长的一半。

需要说明的是,在现有利用HLS协议进行直播和点播业务时,终端通常是基于预设的周期向服务器发送请求,预设的周期并不会随着服务器录播时生成的视频片段的时长变化而改变。如果视频片段的时长大于预设的周期通常不会出现事故,但如果视频片段的长度小于预设的周期,就会出现视频片段播放完毕终端都还没用请求到下一个视频片段,进而播放终端的事故。因此,本发明实施例通过根据视频片段的时长确定发送时移电视请求的周期,并且发送时移电视请求的周期小于视频片段的时长,能够避免上述事故的发生。

在上述各实施例的基础上,作为一种可选实施例,所述根据所述直播文件下载视频片段,具体为:

将当前周期获得的直播文件与上一周期获得的直播文件进行比对,若当前周期获得直播文件中的视频片段存在更新,则下载更新的视频片段。

需要说明的是,本发明实施例的直播文件的更新由服务器决定,但由终端根据接收到的直播文件判断是否进行下载。

图3为本发明实施例提供的服务器的结构示意图,如图3所示,该服务器包括:请求接收模块301和文件发送模块302,其中:

请求接收模块301,接收终端周期性发送的时移电视请求,所述时移电视请求中记录用于表征点播时间和频道的点播信息;

文件发送模块302,根据所述时移电视请求从数据库中获取对应的视频片段,并作为起始片段,从所述起始片段开始汇集一定数量的视频片段,以构建直播文件,将所述直播文件返回至终端,以使得终端下载并播放直播文件中记载的视频片段;

其中,所述视频片段根据录制时间的顺序存储在所述数据库中;所述直播文件按照HLS协议中关于M3U8文件的标准定义。

本发明实施例提供的服务器,具体执行上述各基于HLS协议的播放时移电视的方法在服务器侧的实施例流程,具体请详见上述各基于HLS协议的播放时移电视的方法在服务器侧的实施例的内容,在此不再赘述。本发明实施例提供的服务器将录制的视频片段按时序存储在数据库中,当接收终端周期性发送的时移电视请求时,利用HLS协议将点播信息对应的视频片段以HLS协议的方式记录在M3U8文件中,以使得终端下载相关的视频片段,使得原本仅支持HLS协议的终端实现了时移电视业务,即没有进行协议的扩展,也没有重新定义新的协议,能够大大降低IPTV的推广难度和推广成本。

图4为本发明实施例提供的终端的结构示意图,如图4所示,该终端包括:请求发送模块401和文件接收模块402,其中:

请求发送模块401,用于周期性发送时移电视请求,所述时移电视请求中记录用于表征点播时间和频道的点播信息;

文件接收模块402,用于接收服务器根据所述时移电视请求发送的直播文件,并根据所述直播文件下载视频片段;

其中,所述直播文件按照HLS协议中关于M3U8文件的标准定义。

本发明实施例提供的终端,具体执行上述各基于HLS协议的播放时移电视的方法在终端侧的实施例流程,具体请详见上述各基于HLS协议的播放时移电视的方法在终端侧的实施例的内容,在此不再赘述。

图5为本发明实施例提供的电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储在存储器530上并可在处理器510上运行的计算机程序,以执行上述各实施例提供的基于HLS协议的播放时移电视的方法,例如包括:接收终端周期性发送的时移电视请求,所述时移电视请求中记录用于表征点播时间和频道的点播信息;根据所述时移电视请求从数据库中获取对应的视频片段,并作为起始片段,从所述起始片段开始汇集一定数量的视频片段,以构建直播文件,将所述直播文件返回至终端,以使得终端下载并播放直播文件中记载的视频片段;其中,所述视频片段根据录制时间的顺序存储在所述数据库中;所述直播文件按照HLS协议中关于M3U8文件的标准定义。

此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的基于HLS协议的播放时移电视的方法,例如包括:接收终端周期性发送的时移电视请求,所述时移电视请求中记录用于表征点播时间和频道的点播信息;根据所述时移电视请求从数据库中获取对应的视频片段,并作为起始片段,从所述起始片段开始汇集一定数量的视频片段,以构建直播文件,将所述直播文件返回至终端,以使得终端下载并播放直播文件中记载的视频片段;其中,所述视频片段根据录制时间的顺序存储在所述数据库中;所述直播文件按照HLS协议中关于M3U8文件的标准定义。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:体素稀疏表示

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类