基于IPTV的直播与时移播放状态切换系统及方法与流程

文档序号:15925536发布日期:2018-11-14 01:06阅读:609来源:国知局

本发明涉及网络机顶盒终端领域,具体涉及一种基于iptv的直播与时移播放状态切换系统和一种基于iptv的直播与时移播放状态切换方法。

背景技术

随着宽带提速和视频业务的发展,用户观看网络视频的需求也日益上升,现在越来越多的用户使用iptv(交互式网络电视)进行直播或视频的观看。直播时移功能是iptv平台上的一个重要的功能,也是用户常用功能,用户可以通过直播功能实时观看直播视频节目,也可以通过时移功能观看当前频道之前已放映并错过了的直播视频节目,也可重复观看已播放过直播视频内容。

通常情况下,iptv的直播是通过组播协议来实现的,平台告知各个直播频道对应的组播地址,当用户需要看哪个频道时,加入对应的组播地址即可观看对应的直播内容。当用户使用时移功能,想观看前一段直播内容时,需要经过离开组播、关闭组播流、建立单播连接、下载新的视频流等一系列过程才能实现从直播状态到时移状态的转换,即便直播通过其他协议实现(例如hls协议、rtsp协议等),从直播转为时移也需要经过离开原来播放地址、与新的时移播放地址建立连接、重新下载视频流等过程,才会完成直播转时移的功能。同理,当用户想要从时移状态转入直播状态时,又需要经过离开单播,关闭单播流、加入组播、下载直播视频流等一系列步骤,才能建立新的连接并下载新的视频流,完成从时移状态至直播状态的切换,故无论是从直播状态切换至时移状态,还是从时移状态切换为直播状态,其过程均极为繁琐,且耗时较多,导致用户的使用体验较差。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种基于iptv的直播与时移播放状态切换系统,能够有效减少直播状态和时移状态切换时用户的等待时间。

为达到以上目的,本发明采取的技术方案是,包括:

缓存模块,其用于在终端设备的存储器中创建视频数据缓存区域,将正在播放的直播的视频数据实时缓存至视频数据缓存区域;

计算模块,其用于实时计算视频数据缓存区域中已缓存视频数据的可播放时长;

第一切换控制模块,其用于当从直播状态切换至时移状态时,判断当前时间与时移目标时间之间的时间差是否大于计算模块计算的可播放时长,若不大于,则定位到视频数据缓存区域中对应于时移目标时间的视频数据处,进行视频播放;若大于,则连接服务器,获取时移目标时间对应视频的播放地址,进行视频播放;

第二切换控制模块,其用于当从时移状态切换至直播状态时,播放视频数据缓存区域中当前实时缓存的视频数据。

在上述技术方案的基础上,该系统还包括解码模块,所述解码模块用于对视频数据缓存区域中已缓存的视频数据进行解码,以及分析视频数据缓存区域中已缓存的视频数据的码流大小。

在上述技术方案的基础上,所述计算模块实时计算视频数据缓存区域中已缓存视频数据的可播放时长,具体过程为:

根据解码模块分析出的视频数据缓存区域中已缓存的视频数据的码流大小,并结合已缓存的视频数据的数据总量,计算视频数据缓存区域中已缓存视频数据的可播放时长。

在上述技术方案的基础上,所述缓存模块还用于在视频数据缓存区域中创建指针,所述指针用于指示视频数据缓存区域中已缓存视频数据的解码位置给解码模块。

在上述技术方案的基础上,当从直播状态切换至时移状态,所述第一切换控制模块的具体执行过程为:

判断当前时间与时移目标时间之间的时间差是否大于计算模块计算的可播放时长,若不大于,则将指针指向数据缓存区域中对应于时移目标时间的视频数据位置处,解码模块按序对指针指向处及时移目标时间之后的视频数据进行解码,然后进行视频播放;若大于,则连接服务器,获取时移目标时间对应视频的播放地址处的视频数据,并解码播放。

本发明还提供一种基于iptv的直播与时移播放状态切换方法,用于在同一频道中进行直播状态和时移状态的切换,包括以下步骤:

s1:在终端设备的存储器中创建视频数据缓存区域,将正在播放的直播的视频数据实时缓存至视频数据缓存区域;

s2:实时计算视频数据缓存区域中已缓存视频数据的可播放时长;

s3:当从直播状态切换至时移状态时,判断当前时间与时移目标时间之间的时间差是否大于计算模块计算的可播放时长,若不大于,则定位到视频数据缓存区域中对应于时移目标时间的视频数据处,进行视频播放;若大于,则连接服务器,获取时移目标时间对应视频的播放地址进行视频播放;当从时移状态切换至直播状态时,播放视频数据缓存区域中当前实时缓存的视频数据。

在上述技术方案的基础上,s2中,实时计算视频数据缓存区域中已缓存视频数据的可播放时长,具体步骤为:

s201:对视频数据缓存区域中已缓存的视频数据进行解码,从而获知视频数据缓存区域中已缓存的视频数据的码流大小;

s202:根据获知的视频数据缓存区域中已缓存的视频数据的码流大小,结合已缓存的视频数据的数据总量,计算得到视频数据缓存区域中已缓存视频数据的可播放时长。

在上述技术方案的基础上,所述视频数据缓存区域中创建有指针,所述指针用于指示视频数据缓存区域中已缓存视频数据的解码位置给解码模块。

在上述技术方案的基础上,s3中,当从直播状态切换至时移状态,具体步骤为:

s301:判断当前时间与时移目标时间之间的时间差是否大于计算模块计算的可播放时长,若不大于,则转到s302,若大于,则转到s303;

s302:将指针指向数据缓存区域中对应于时移目标时间的视频数据位置处,解码模块按序对指针指向处及时移目标时间之后的视频数据进行解码,然后进行视频播放;

s303:连接服务器获取时移目标时间对应视频的播放地址处的视频数据,并解码播放。

在上述技术方案的基础上,当从某一频道切换到其它频道,并进行直播状态和时移状态的切换,具体过程为:清空视频数据缓存区域中缓存的视频数据,然后执行步骤s2和s3。

与现有技术相比,本发明的优点在于:在iptv终端设备中创建视频数据缓存区域,当用户观看直播时,将直播的视频数据缓存到视频数据缓存区域,因此当用户从直播状态切换至时移状态,进行直播内容的回看时,可直接播放视频数据缓存区域已缓存的当前时间之前的视频数据,满足用户的视频回看需求,同时当用户从时移状态切换至直播状态,直接播放视频数据缓存区域中当前实时缓存的视频数据,因此无论是从直播状态切换至时移状态,还是从时移状态切换至直播状态,终端设备均无需额外的与服务器间进行交互步骤来获取视频数据,减少用户的等待时间,从而有效提升用户视频的观看体验。

附图说明

图1为本发明实施例中一种基于iptv的直播与时移播放状态切换系统的结构示意图;

图2为本发明实施例中一种基于iptv的直播与时移播放状态切换方法的流程图。

具体实施方式

以下结合附图及实施例对本发明作进一步详细说明。领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

参见图1所示,本发明实施例提供一种基于iptv的直播与时移播放状态切换系统,用于在同一频道中进行直播状态和时移状态的切换,在直播状态和时移状态切换时,减少iptv终端设备与服务器之间的请求交互,保证用户切换时视频的播放速度。本发明实施例的基于iptv的直播与时移播放状态切换系统包括缓存模块、计算模块、第一切换控制模块和第二切换控制模块。

缓存模块:用于在终端设备的存储器中创建视频数据缓存区域,以及将正在播放的直播的视频数据实时缓存至视频数据缓存区域。终端设备为用于运行iptv的设备,本发明实施例中,终端设备指iptv网络机顶盒。对于创建的视频数据缓存区域的空间大小,可以根据终端设备的存储器的剩余空间大小来灵活决定,例如:存储器的总存储空间为8gb,可用空间剩余4.5gb,故创建的视频数据缓存区域的存储空间大小为500m。创建的视频数据缓存区域为管状结构,其对于视频数据的存储方式为:头端实时填入最新直播的视频数据,并将视频数据缓存区域尾端超出区域的视频数据丢弃,即存入最新数据,丢弃老数据,保证最新直播的视频数据及最新直播之前一段时间段的视频数据存储于视频数据缓存区域中。

在实际应用场景中,当iptv终端设备上电,用户选择某一频道进行视频的观看,此时默认的是播放该频道的直播视频内容,因此,当用户选择某一频道进入后,视频数据缓存区域便开始缓存正在播放的直播的视频数据,以及该频道当前时间点之前的视频数据,基于视频数据缓存区域存储空间的大小,决定缓存的视频数据的长短。

计算模块:用于实时计算视频数据缓存区域中已缓存视频数据的可播放时长。对于缓存的视频数据,实时计算出已缓存视频数据的可播放时长,通过对已缓存视频数据的可播放时长进行计算,从而能够得知已缓存了哪个时间段的视频数据。

第一切换控制模块,其用于当从直播状态切换至时移状态时,判断当前时间与时移目标时间之间的时间差是否大于计算模块计算的可播放时长,若不大于,则定位到视频数据缓存区域中对应于时移目标时间的视频数据处,进行视频播放;若大于,则连接服务器获取时移目标时间对应视频的播放地址进行视频播放。

因iptv终端设备上电后,默认播放的是直播视频内容,因此,用户开启终端设备进行视频观看,对于第一次切换,仅是从直播状态切换至时移状态时,故此时判断当前时间与时移目标时间之间的时间差是否大于计算模块计算的可播放时长,例如,若当前时间是13点30分,用户选择的时移目标时间是13点20分,即用户想要回看13点20分时的直播视频,当前时间与时移目标时间之间的时间差为10分钟,若计算模块计算的已缓存视频数据的可播放时长为30分钟,相当于缓存了13点至13点30分之间的直播视频数据,因此此时当前时间与时移目标时间之间的时间差小于计算模块计算的可播放时长,说明用户当前想要回看的视频内容已被缓存,因此可直接播放视频数据缓存区域中13点20分出的视频内容,此时iptv终端设备无需和服务器间额外发送请求进行交互获取视频数据内容,减少用户的等待时间,使得用户从直播状态切换至时移状态时,可直接播放时移目标时间处的视频数据。

当然,当当前时间与时移目标时间之间的时间差大于计算模块计算的可播放时长,说明时移目标时间处对应的视频数据未缓存在视频数据缓存区域中,此时进行正常的终端设备与服务器进行交互,按照常规手段获取时移目标时间对应视频的播放地址进行视频播放。

第二切换控制模块:用于当从时移状态切换至直播状态时,播放视频数据缓存区域中当前实时缓存的视频数据。因为当前时间直播的视频数据会实时缓存至视频数据缓存区域,因此当用户从时移状态切换至直播状态时,直接播放视频数据缓存区域中当前实时缓存的视频数据,即视频数据缓存区域中的头端视频数据,同样的,此时iptv终端设备无需和服务器间额外发送请求进行交互获取视频数据内容,减少用户的等待时间,使得用户从时移状态切换至直播状态时,可直接播放时移目标时间处的视频数据。

在现有技术方案中,用户使用时移功能,想观看前一段直播内容时,需要经过离开组播、关闭组播流、建立单播连接、下载新的视频流等一系列过程;当用户想要从时移状态转入直播状态时,又需要经过离开单播,关闭单播流、加入组播、下载直播视频流等一系列步骤,本发明实施例中,对于直播状态和时移状态之间的切换,只需要1步即可完成,不需要如上状态切换时的额外其他请求。

本发明实施例的基于iptv的直播与时移播放状态切换系统,在iptv终端设备中创建视频数据缓存区域,当用户观看直播时,将直播的视频数据缓存到视频数据缓存区域,因此当用户从直播状态切换至时移状态,进行直播内容的回看时,可直接播放视频数据缓存区域已缓存的当前时间之前的视频数据,满足用户的视频回看需求,同时当用户从时移状态切换至直播状态,直接播放视频数据缓存区域中当前实时缓存的视频数据,因此无论是从直播状态切换至时移状态,还是从时移状态切换至直播状态,终端设备均无需额外的与服务器间进行交互步骤来获取视频数据,减少用户的等待时间,从而有效提升用户视频的观看体验。

实施例2

在实施例1的基础上,该基于iptv的直播与时移播放状态切换系统还包括解码模块,解码模块用于对视频数据缓存区域中已缓存的视频数据进行解码,以及分析视频数据缓存区域中已缓存的视频数据的码流大小。视频数据以视频流的形式在视频数据缓存区域中进行缓存,因此对视频数据缓存区域中的视频数据进行播放时,需要先使用解码模块进行解码,然后才能进行播放。同时,解码模块还用于分析视频数据缓存区域中已缓存的视频数据的码流大小,码流的单位为mb/s,故计算模块实时计算视频数据缓存区域中已缓存视频数据的可播放时长,具体过程为:

根据解码模块分析出的视频数据缓存区域中已缓存的视频数据的码流大小,并结合已缓存的视频数据的数据总量,计算视频数据缓存区域中已缓存视频数据的可播放时长。

实施例3

在实施例2的基础上,缓存模块还用于在视频数据缓存区域中创建指针,指针用于指示视频数据缓存区域中已缓存视频数据的解码位置给解码模块,如用户从直播状态切换至时移状态,观看13点20分时的直播内容,则指针指示视频数据缓存区域中13点20分处视频内容给解码模块解码播放,此时指针指示的解码位置即为13点20分处的视频内容。

进一步的,当用户在时移状态下观看视频,并进行快进时,指针同样的指示快进后的解码位置给解码模块,如用户的时移目标时间是13点20分,需快进至13点25分观看13点25分时的视频内容,则此时指针指示的解码位置进行移动,移动到13点25分处,并指示给解码模块,由解码模块进行解码并播放。

实施例4

在实施例3的基础上,当从直播状态切换至时移状态,所述第一切换控制模块的具体执行过程为:

判断当前时间与时移目标时间之间的时间差是否大于计算模块计算的可播放时长,若不大于,则将指针指向数据缓存区域中对应于时移目标时间的视频数据位置处,解码模块按序对指针指向处及时移目标时间之后的视频数据进行解码,然后进行视频播放;若大于,则连接服务器获取时移目标时间对应视频的播放地址处的视频数据,并解码播放。

在一种情形中,若用户从直播状态切换至时移状态时,时间差不大于可播放时长,此时用户选择暂停,经过一段时间,当用户选择播放时,此时暂停处对应的视频数据时间和当前时间间的时间差大于可播放时长,则此时直接连接服务器获取继续播放处时间对应的视频数据进行解码播放。

实施例5

参见图2所示,本发明实施例提供一种基于iptv的直播与时移播放状态切换方法,用于在同一频道中进行直播状态和时移状态的切换,该方法具体包括以下步骤:

s1:在终端设备的存储器中创建视频数据缓存区域,将正在播放的直播的视频数据实时缓存至视频数据缓存区域;

s2:实时计算视频数据缓存区域中已缓存视频数据的可播放时长。

s3:当从直播状态切换至时移状态时,判断当前时间与时移目标时间之间的时间差是否大于计算模块计算的可播放时长,若不大于,则定位到视频数据缓存区域中对应于时移目标时间的视频数据处,进行视频播放;若大于,则连接服务器获取时移目标时间对应视频的播放地址进行视频播放;当从时移状态切换至直播状态时,播放视频数据缓存区域中当前实时缓存的视频数据。

本发明实施例的基于iptv的直播与时移播放状态切换方法,在iptv终端设备中创建视频数据缓存区域,当用户观看直播时,将直播的视频数据缓存到视频数据缓存区域,因此当用户从直播状态切换至时移状态,进行直播内容的回看时,可直接播放视频数据缓存区域已缓存的当前时间之前的视频数据,满足用户的视频回看需求,同时当用户从时移状态切换至直播状态,直接播放视频数据缓存区域中当前实时缓存的视频数据,因此无论是从直播状态切换至时移状态,还是从时移状态切换至直播状态,终端设备均无需额外的与服务器间进行交互步骤来获取视频数据,减少用户的等待时间,从而有效提升用户视频的观看体验。

实施例6

在实施例5的基础上,实时计算视频数据缓存区域中已缓存视频数据的可播放时长,具体步骤为:

s201:对视频数据缓存区域中已缓存的视频数据进行解码,从而获知视频数据缓存区域中已缓存的视频数据的码流大小;

s202:根据获知的视频数据缓存区域中已缓存的视频数据的码流大小,结合已缓存的视频数据的数据总量,计算得到视频数据缓存区域中已缓存视频数据的可播放时长。

视频数据缓存区域中创建有指针,所述指针用于指示视频数据缓存区域中已缓存视频数据的解码位置给解码模块。当从直播状态切换至时移状态,具体步骤为:

s301:判断当前时间与时移目标时间之间的时间差是否大于计算模块计算的可播放时长,若不大于,则转到s302,若大于,则转到s303;

s302:将指针指向数据缓存区域中对应于时移目标时间的视频数据位置处,解码模块按序对指针指向处及时移目标时间之后的视频数据进行解码,然后进行视频播放;

s303:连接服务器获取时移目标时间对应视频的播放地址处的视频数据,并解码播放。

实施例7

在实施例5的基础上,当从某一频道切换到其它频道,并进行直播状态和时移状态的切换,具体过程为:清空视频数据缓存区域中缓存的视频数据,然后执行步骤s2和s3。当从某一频道切换到其它频道,当进入另一频道时,进入后此时播放的是另一频道的直播视频数据,当进行直播状态和时移状态的切换时,清空视频数据缓存区域中缓存的视频数据,再次执行s2和s3中的将正在播放的直播的视频数据实时缓存至视频数据缓存区域,同时实时计算视频数据缓存区域中已缓存视频数据的可播放时长;当从直播状态切换至时移状态时,判断当前时间与时移目标时间之间的时间差是否大于计算模块计算的可播放时长,若不大于,则定位到视频数据缓存区域中对应于时移目标时间的视频数据处,进行视频播放;若大于,则连接服务器获取时移目标时间对应视频的播放地址进行视频播放;当从时移状态切换至直播状态时,播放视频数据缓存区域中当前实时缓存的视频数据。从而满足从某一频道切换到其它频道,并进行直播状态和时移状态的切换,减少用户等待时间,提升用户的使用体验。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1