一种视频点播的方法和系统及局域网网关转让专利

申请号 : CN200610062335.1

文献号 : CN101132518B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 姚立哲

申请人 : 华为技术有限公司

摘要 :

本发明公开了一种视频点播的方法,当局域网中有多个终端设备点播同一个视频节目且多个终端设备的观看时间有重合时,本发明的技术方案通过在局域网本地存储视频节目,使得观看时间在后的终端设备可以利用前一个终端设备观看的部分数据在本地观看部分视频节目,从而在视频点播时减少服务器和局域网之间的带宽占用,同时在使用本地数据观看视频节目时,终端设备还可以根据需要对视频节目进行快进快退等个性化操作。相应地本发明还公开了一种视频点播的系统及局域网网关。

权利要求 :

1.一种视频点播的方法,其特征在于,该方法包括步骤:

收到终端设备一发出视频节目的点播请求;

为所述的点播请求创建终端设备一到视频服务器的连接,判断局域网内部是否有终端设备二正在点播所述的视频节目,如果有则对所述的视频节目在局域网内部进行存储;

计算切换时间点,当到达切换时间点时通知终端设备一由从视频服务器接收所述视频节目切换到从局域网内部的节目数据源接收所述的视频节目。

2.如权利要求1所述的方法,其特征在于,判断局域网内部是否有终端设备二正在点播所述的视频节目,如果没有则终端设备一保持和视频服务器的连接。

3.如权利要求1所述的方法,其特征在于,由局域网网关根据终端设备一的节目开始时间和终端设备二已经开始播放的时间计算切换时间点。

4.如权利要求1所述的方法,其特征在于,当到达所述的切换时间点时通知终端设备一切换的过程如下:局域网网关通知终端设备一切换数据源;

终端设备一接到通知后向局域网网关发起实时流协议RTSP请求;

局域网网关接到RTSP请求后建立实时传输协议RTP连接并向终端设备一返回响应;

终端设备一接到响应后加入RTP会话并向局域网网关请求开始发送,局域网网关接到开始发送的请求后开始向终端设备一发送节目数据。

5.如权利要求1所述的方法,其特征在于,该方法还包括步骤:

收到终端设备一或终端设备二发出的终止点播节目的请求;

判断局域网内部是否有所述的终止点播节目的请求对应的局域网内部的存储,有则判断局域网内部是否有其他终端设备正在使用所述的局域网内部的存储,是,则保留所述的局域网内部的存储,否,则删除所述的局域网内部的存储。

6.如权利要求1至5任一项所述的方法,其特征在于,创建一张节目请求列表来控制所述的切换。

7.如权利要求6所述的方法,其特征在于,所述的请求列表包括字段:节目名称、节目地址、是否首次出现、节目是否被存储、存储起始时间点、存储结束时间点、存储位置、节目开始时间、相对时间切换点、节目源目标位置和当前被使用数。

8.一种视频点播的系统,其特征在于,该系统包括:视频服务器、局域网网关和终端设备,其中:终端设备,用于从视频服务器或局域网网关接收视频节目,接受局域网网关管理和控制,终端设备包括终端设备一和终端设备二;

视频服务器,用于提供视频节目;

局域网网关,用于连接视频服务器和终端设备使终端设备通过局域网网关从视频服务器获得视频节目,当局域网网关收到终端设备一发出视频节目的点播请求;为点播请求创建终端设备一到视频服务器的连接,判断局域网内部是否有终端设备二正在点播所述的视频节目,如果有则对所述的视频节目在局域网内部进行存储;计算切换时间点,当到达切换时间点时通知终端设备一由从视频服务器接收所述视频节目切换到从局域网内部的节目数据源接收所述的视频节目。

9.如权利要求8所述的系统,其特征在于,所述的局域网网关包括:监听模块、控制模块和存储模块,其中:存储模块,用于根据控制模块指示对视频节目进行存储;

监听模块,用于监听终端设备的点播请求和终止点播请求,并将所述点播请求发送至控制模块;

控制模块,用于当收到终端设备一发出视频节目的点播请求;为点播请求创建终端设备一到视频服务器的连接,判断局域网内部是否有终端设备二正在点播所述的视频节目,如果有则对所述的视频节目在局域网内部进行存储;计算切换时间点,当到达切换时间点时通知终端设备一由从视频服务器接收所述视频节目切换到从局域网内部的节目数据源接收所述的视频节目。

10.如权利要求9所述的系统,其特征在于,

所述的控制模块,用于创建节目请求列表、根据接收到的请求对节目请求列表进行管理,计算切换时间点、指示存储模块对视频节目进行存储、通知终端设备切换数据源。

11.一种视频点播的局域网网关,其特征在于,包括:监听模块、控制模块和存储模块,其中:存储模块,用于根据控制模块指示对视频节目进行存储;

监听模块,用于监听终端设备的点播请求和终止点播请求,并将所述点播请求发送至控制模块;

控制模块,用于当收到终端设备一发出视频节目的点播请求后;为点播请求创建终端设备一到视频服务器的连接,判断局域网内部是否有终端设备二正在点播所述的视频节目,如果有则对所述的视频节目在局域网内部进行存储;计算切换时间点,当到达切换时间点时通知终端设备一由从视频服务器接收所述视频节目切换到从局域网内部的节目数据源接收所述的视频节目。

说明书 :

一种视频点播的方法和系统及局域网网关

技术领域

[0001] 本发明涉及视频点播技术,特别涉及一种视频点播的方法和系统及局域网网关。

背景技术

[0002] 视频点播(Video On Demand,VOD)是近年来方兴未艾的传媒技术,该技术涉及计算机技术、网络通信技术、电视技术、多媒体技术、数字压缩技术等多学科,VOD技术可以使人们根据自己的兴趣,不借助录像机、影碟机而直接在自己的电脑或者电视上点播节目库中自己喜欢的视频节目和信息,VOD技术的本质是信息的使用者根据自己的需求主动获得多媒体信息。
[0003] 家庭网络(Home Network,HN)为家庭内部的一个小型的局域网,图1为家庭网络示意图,家庭网络104中通常存在一个家庭网关102(Home Gateway,HG)和多个终端设备103(Home Network End Device,HNED),终端设备103通过家庭网关102与视频服务器101进行交互,家庭网关102对家庭网络104中的各种终端设备103进行管理并负责它们与外界的通信。
[0004] 目前可以通过单播方式实现VOD,这种方式下当用户点播一个节目时,终端设备就会通过家庭网关与视频服务器建立一个连接用于传输节目数据。当有多个用户同时点播时就同时存在多个连接。在家庭网络中,当有多个终端设备先后点播同一个节目时,该节目需要被下发多次,即使多个终端设备的用户观看节目的时间有重合也无法对之前已经接收过的内容加以利用。
[0005] 由于每下发一次节目数据就要占用一定的带宽,为节省带宽目前通过组播方式实现的VOD有两种方式,一种是由服务器端定时地轮播节目,例如3点进行一次组播,5点又进行一次组播,这种定时轮播节目的方式无法实现真正意义上的VOD,用户无法自由选择播放时间;另一种方式是服务器将时间上相邻的对同一节目的请求(例如30秒内对同一节目的请求)放入一个组播组进行组播,服务器向一个组播地址(如地址范围:224.0.0.0-239.255.255.255)中发送数据,所有加入到这个组播组中的终端设备都能接收到这些节目数据,这样虽然可以节省带宽,但是由于组播中的数据发送是由服务器完全控制的,所有组播组内的终端在相同的时刻收到的都是相同的数据,所以用户无法快进快退。
如果用户想进行快进快退等操作,必须退出组播组转换为单播形式才行。
[0006] 从上述现有的VOD的实现方式可以看出,当出现如下场景时:处于同一个家庭网络中的多个用户点播同一节目,而且他们观看节目的时间有重合,用单播方式下发节目数据,需要为每一个用户下发一次节目数据,这样观看时间在后的用户不能利用观看时间在前的节目数据,而需要再次接收相同的节目数据,占用了服务器和家庭网络之间的大量的带宽;而用组播方式下发节目数据,虽然可以节省带宽,但是用户却不能进行快进快退这些个性化操作,用户体验差,不是真正意义上的VOD。

发明内容

[0007] 有鉴于此,本发明提供了一种视频点播的方法和系统及局域网网关,使得当局域网中有多个终端设备点播同一个视频节目且多个终端设备的观看时间有重合时,在局域网内部存储该视频节目,使得观看时间在后的终端设备可以利用前一个终端设备观看的部分视频数据,利用局域网内部的节目数据观看部分视频节目,从而达到在视频点播时减少服务器和局域网之间的带宽占用。
[0008] 为实现上述发明目的,本发明提出的技术方案如下:
[0009] 一种视频点播的方法,该方法包括步骤:
[0010] 收到终端设备一发出视频节目的点播请求;为点播请求创建终端设备一到视频服务器的连接,判断局域网内部是否有终端设备二正在点播所述的视频节目,如果有则对所述的视频节目在局域网内部进行存储;计算切换时间点,当到达切换时间点时通知终端设备一由从视频服务器接收所述视频节目切换到从局域网内部的节目数据源接收所述的视频节目。
[0011] 较佳地,判断局域网内部是否有终端设备二正在点播所述的视频节目,如果没有则终端设备一保持和视频服务器的连接。
[0012] 较佳地,由局域网网关根据终端设备一的节目开始时间和终端设备二已经开始播放的时间计算切换时间点。
[0013] 较佳地,当到达所述的切换时间点时通知终端设备一切换的过程如下:
[0014] 局域网网关通知终端设备一切换数据源;终端设备一接到通知后向局域网网关发起实时流协议RTSP请求;局域网网关接到RTSP请求后建立实时传输协议RTP连接并向终端设备一返回响应;终端设备一接到响应后加入RTP会话并向局域网网关请求开始发送,局域网网关接到开始发送的请求后开始向终端设备一发送节目数据。
[0015] 较佳地,该方法还包括步骤:
[0016] 收到终端设备一或终端设备二发出的终止点播节目的请求;判断局域网内部是否有所述的终止点播节目的请求对应的局域网内部的存储,有则判断局域网内部是否有其他终端设备正在使用所述的局域网内部的存储,是,则保留所述的局域网内部的存储,否,则删除所述的局域网内部的存储。
[0017] 较佳地,创建一张节目请求列表来控制所述的切换。
[0018] 较佳地,所述的请求列表包括字段:节目名称、节目地址、是否首次出现、节目是否被存储、存储起始时间点、存储结束时间点、存储位置、节目开始时间、相对时间切换点、节目源目标位置和当前被使用数。
[0019] 一种视频点播的系统,该系统包括:视频服务器、局域网网关和终端设备,其中:终端设备,用于从视频服务器或局域网网关接收视频节目,接受局域网网关管理和控制,终端设备包括终端设备一和终端设备二;视频服务器,用于提供视频节目;局域网网关,用于连接视频服务器和终端设备使终端设备通过局域网网关从视频服务器获得视频节目,当局域网网关收到终端设备一发出视频节目的点播请求;为点播请求创建终端设备一到视频服务器的连接,判断局域网内部是否有终端设备二正在点播所述的视频节目,如果有则对所述的视频节目在局域网内部进行存储;计算切换时间点,当到达切换时间点时通知终端设备一由从视频服务器接收所述视频节目切换到从局域网内部的节目数据源接收所述的视频节目。
[0020] 较佳地,所述的局域网网关包括:监听模块、控制模块和存储模块,其中:存储模块,用于根据控制模块指示对视频节目进行存储;监听模块,用于监听终端设备的点播请求和终止点播请求,并将所述点播请求发送至控制模块;控制模块,用于当收到终端设备一发出视频节目的点播请求;为点播请求创建终端设备一到视频服务器的连接,判断局域网内部是否有终端设备二正在点播所述的视频节目,如果有则对所述的视频节目在局域网内部进行存储;计算切换时间点,当到达切换时间点时通知终端设备一由从视频服务器接收所述视频节目切换到从局域网内部的节目数据源接收所述的视频节目。
[0021] 较佳地,所述的控制模块,用于创建节目请求列表、根据接收到的请求对节目请求列表进行管理,计算切换时间点、指示存储模块对视频节目进行存储、通知终端设备切换数据源。
[0022] 一种视频点播的局域网网关,包括:监听模块、控制模块和存储模块,其中:
[0023] 存储模块,用于根据控制模块指示对视频节目进行存储;
[0024] 监听模块,用于监听终端设备的点播请求和终止点播请求,并将所述点播请求发送至控制模块;
[0025] 控制模块,用于当收到终端设备一发出视频节目的点播请求后;为点播请求创建终端设备一到视频服务器的连接,判断局域网内部是否有终端设备二正在点播所述的视频节目,如果有则对所述的视频节目在局域网内部进行存储;计算切换时间点,当到达切换时间点时通知终端设备一由从视频服务器接收所述视频节目切换到从局域网内部的节目数据源接收所述的视频节目。
[0026] 本发明能够达到的有益效果如下:
[0027] 当局域网中有多个终端设备点播同一个视频节目且多个终端设备的观看时间有重合时,本发明的技术方案通过在局域网内部存储该视频节目,使得观看时间在后的终端设备可以利用前一个终端设备接收到的部分视频数据进行观看,而不必从外部服务器上重复获得数据,从而达到在视频点播时减少外部服务器和局域网之间的带宽占用,同时在使用局域网内部数据观看视频节目时,终端设备还可以根据需要对视频节目进行快进快退等个性化操作。
[0028] 附图说明
[0029] 图1现有家庭网络示意图;
[0030] 图2本发明的方法的流程示意图;
[0031] 图3本发明方法的接收点播请求后的处理流程示意图;
[0032] 图4本发明方法的切换节目数据源时局域网网关和终端设备之间的信令交互图;
[0033] 图5本发明方法的接收终止点播请求后的处理流程示意图;
[0034] 图6本发明的局域网网关示意图。
[0035] 具体实施方式
[0036] 为了使本发明的发明目的、技术方案更加清楚,下面结合各个附图对本发明方案的主要实现原理及其具体实施方式、以及相应达到的有益效果进行详细的阐述。
[0037] 如图2所示,为本发明的方法的总体流程示意图,其主要实现过程如下:
[0038] 步骤201.收到终端设备一发出视频节目的点播请求;
[0039] 步骤202.判断局域网内部是否有终端设备二正在点播所述的视频节目,如果有则对所述的视频节目在局域网内部进行存储;
[0040] 步骤203.计算切换时间点,当到达切换时间点时通知终端设备一切换到局域网内部的节目数据源接收所述的视频节目。
[0041] 收到终端设备发出的终止点播节目的请求时,局域网网关的处理过程如下:
[0042] 判断局域网内部是否有所述的终止点播节目的请求对应的局域网内部的存储,有则判断局域网内部是否有其他终端设备正在使用所述的局域网内部的存储,是,则保留所述的局域网内部的存储,否,则删除所述的局域网内部的存储。
[0043] 具体实现上述步骤,可以在局域网网内部创建一个节目请求列表对视频节目的点播请求和终止请求进行管理和控制,计算切换时间点,通知终端设备在视频服务器和局域网内部的节目数据源之间进行切换。
[0044] 以下以在局域网内部创建一个节目请求列表为例来详细说明步骤201~步骤203的实现过程:
[0045] 当局域网网关启动的时候在局域网网关内创建一个节目请求列表,局域网网关在节目请求列表中为每个点播请求创建对应的记录,当局域网内部的某个终端设备发出视频节目的点播请求时,局域网网关检索节目请求列表,如果节目请求列表中已经有该记录对应的点播请求的历史记录,则开始在局域网内部存储该点播请求对应的视频节目,并计算该点播请求的切换时间点,当终端设备播放到切换时间点时局域网网关通知该终端设备切换到局域网内部的数据源继续观看视频节目。
[0046] 当局域网网关启动时,首先在局域网网关内创建一张节目请求列表,包括字段:节目名称、节目地址、是否首次出现、节目是否被存储、存储起始时间点n、存储结束时间点n、存储位置n、节目开始时间、相对时间切换点m、节目源目标位置m、当前被使用数。具体的字段名称以及相关说明见下表:
[0047]字段名称 说明
节目名称 节目的名称
[0048]节目地址 节目的地址
是否首次出现 表示该节目的点播请求是否是第一次出现
节目是否被存储 表示该节目的内容是否在局域网内部进行了本地存储,该节目不需要被完整的存储,被存储的内容可以只是整个节目的一部分
存储起始时间点n 表示该节目从何时开始在本地进行存储,可能有多个,n表示第n个,下同
存储结束时间点n 与存储起始时间点相对应,表示该节目何时停止在本地的存储,可能有多个
存储位置n 与存储起始时间点相对应,表示该节目内容在局域网内部存储的位
置,可以是物理位置,如内存位置,也可以是逻辑位置,如路径名/
文件名,可能有多个。
节目开始时间 节目开始播放的时间
相对切换时间点m 表示该节目开始播放多久后可以切换至使用本地数据继续进行播放,可能有多个,m表示第m个,下同
节目源目标位置m 与相对切换时间点m相对应,表示当节目播放到达切换时间点m时将该节目的节目源切换至本地的哪个节目源,可能有多个
当前被使用数 表示该节目的本地存储数据当前被多少节目所使用
[0049] 本领域技术人员可以对上述节目请求列表中的字段做一些适应性修改,比如可以将“相对切换时间点m”改为“绝对切换时间点m”。
[0050] 在创建节目请求列表的情况下,步骤201~202实现的详细过程如下:
[0051] 如图3所示,为本发明方法中局域网网关在接收点播请求后的处理流程示意图,具体阐述如下:
[0052] 步骤301.局域网网关收到终端设备一的点播请求;
[0053] 步骤302.局域网网关为终端设备一的点播请求在节目请求列表中创建记录一;
[0054] 步骤303~步骤308.依据点播请求中的节目名称和节目地址检索节目请求列表,根据检索结果给节目请求列表中的字段赋值,并根据检索结果决定是否在局域网内部存储视频节目:
[0055] 如果节目请求列表中没有点播请求对应的记录,即没有对应的“节目名称”和“节目地址”字段,则为记录一在节目请求列表中的“节目名称”、“节目地址”、“是否首次出现”、“当前被使用次数”字段赋值,由于节目请求列表中没有对应的记录,表明该节目的点播请求是第一次出现,因而将“是否首次出现”字段赋值为“真”、“当前被使用次数”为0;
[0056] 如果节目请求列表中有终端设备二的点播请求对应的记录二,则表明此时正在有终端设备二在点播相同的节目,此时需要为记录一和记录二在节目请求列表中的各字段赋值,具体为:
[0057] 为记录一中的“是否首次出现”、“相对时间切换点m”、“节目源目标位置m”字段赋值,由于点播的节目已经有相应的记录,表明该节目的点播请求不是第一次出现,故“是否首次出现”字段赋值为“假”;
[0058] 由于局域网内已经有终端设备二在点播该节目,故此时开始在局域网内部存储该视频节目,同时为记录二中的“节目是否被存储”、“存储起始时间点n”、“存储结束时间点n”、“存储位置n”字段赋值;
[0059] 步骤309.局域网网关为点播请求创建终端设备到视频服务器的连接,每一个点播请求开始后,都是先直接和视频服务器连接的,只有当终端设备播放视频节目到达切换时间点时局域网网关才通知终端设备切换到本地观看点播的视频节目。在每次建立连接以及切换数据源与实际的开始播放之间都可能存在一个缓冲过程,例如当终端与服务器建立连接后,终端上的播放器会将接收到的数据先放入缓冲区中,然后再从缓冲区中读取数据进行播放,这样做的目的是为了保证播放质量避免因为网络问题造成的播放质量下降;
[0060] 步骤310.当记录一对应的视频节目开始播放时,给记录一中的“节目开始时间”字段赋值;
[0061] 以上步骤302和步骤309没有先后顺序的要求或限制;
[0062] 在创建节目请求列表的情况下,步骤203实现的详细过程如下:根据记录一的“节目开始时间”和“相对切换时间点m”计算记录一对应的视频节目的切换时间点,切换时间点为“节目开始时间”加上“相对切换时间点m”的值;当记录一对应的视频节目播放到切换时间点时切换到记录二对应的本地数据源观看记录一对应的节目,并且对记录二中的“当前被使用数”加1。
[0063] 参见图4,为本发明方法的切换节目数据源时局域网网关和终端设备之间的信令交互图:
[0064] 当终端设备播放视频节目到达切换时间点时,首先局域网网关通知终端设备切换数据源,终端设备接到通知后向局域网网关发起实时流协议(Real TimeStreaming Protocol,RTSP)请求,局域网网关接到RTSP请求后建立实时传输协议(The Real-time Transport Protocol,RTP)连接并向终端设备返回响应,终端设备接到响应后加入RTP会话并向局域网网关请求开始发送,局域网网关接到请求后开始向终端设备发送节目数据。
[0065] 其中通知终端设备切换数据源的消息中包含了新数据源的地址,如果是从视频服务器切换到局域网内的本地数据,该地址就是局域网的IP地址+文件路径名,如果是从局域网内的本地数据切换到视频服务器,该地址就是视频服务器域名+文件路径名。
[0066] 以上步骤201~203是局域网网关接收到视频节目的点播请求时的处理过程。
[0067] 当局域网网关接收到视频节目的终止点播请求时的处理过程,参见图5,为本发明方法提供的接收终止点播请求后的处理流程示意图,具体为:
[0068] 步骤501~步骤502.检索节目请求列表查到终止点播请求对应的记录,如果该记录为首次出现,则“是否首次出现”字段值为“真”,进入步骤503,如果该记录不是首次出现,则“是否首次出现”字段值为“假”,则进入步骤509;
[0069] 步骤503.检查“节目是否被存储”字段,如果该视频节目已经在本地存储则其值为“是”则进入步骤504,如果该视频节目在本地没有存储则其值为“否”,则进入步骤506;
[0070] 步骤504~步骤505.根据“当前被使用次数”字段判断是否有其他请求正在使用终止点播请求对应的视频节目的本地存储,“当前被使用次数”为零,则表明该本地存储没有被其他终端设备所使用,则进入步骤506,否则保留该记录;
[0071] 步骤506.删除所述的记录;
[0072] 步骤507~步骤508.判断是否有与所述的记录对应的本地存储数据,是,则删除所述的本地数据,否,则进入步骤512;
[0073] 步骤509.判断该终止请求是否正在使用其他节目的本地存储,“是”则进入步骤510,“否”则进入步骤511;
[0074] 步骤510.对正在被使用的节目的记录的“当前被使用次数”字段减1;
[0075] 步骤511.删除所述的记录,进入步骤512;
[0076] 步骤512.结束。
[0077] 下面结合具体应用场景,对本发明的方法进行阐述:
[0078] 例一:
[0079] 当局域网网关启动时,首先在局域网网关内创建一张节目请求列表,包括字段:节目名称、节目地址、是否首次出现、节目是否被存储、存储起始时间点n、存储结束时间点n、存储位置n、节目开始时间、相对时间切换点m、节目源目标位置m、当前被使用数,具体的字段名称以及相关说明与步骤201之前的表相同。
[0080] 机顶盒1(Set Top Box,STB1)在12:00点播了节目A,A的长度为90分钟,STB2在12:35也点播该节目,STB3在1:00开始点播该节目。
[0081] 12:00,HG接收到STB1的点播请求,为STB1在节目请求列表中创建STB1的记录,根据STB1点播的节目名称和节目地址检索节目请求列表,根据检索结果给STB1在节目请求列表中的字段赋值,由于节目请求列表中没有点播请求对应的记录,即没有对应的“节目名称”和“节目地址”字段,则为STB1的记录在节目请求列表中的“节目名称”、“节目地址”、“是否首次出现”、“当前被使用次数”字段赋值:“节目名称”赋值为“疯狂的石头”、“节目地址”赋值为“rtp://for.com/movies/疯狂的石头.mpg”由于节目请求列表中没有对应的记录,表明该节目的点播请求是第一次出现,因而将“是否首次出现”字段赋值为“真”、“当前被使用次数”为0;
[0082] HG为STB1的点播请求创建STB1到视频服务器的连接;
[0083] 当STB1对应的视频节目开始播放时,给STB2的记录中的“节目开始时间”字段赋值为“12:00”;
[0084] 12:35,HG接收到STB2的点播请求,为STB2在节目请求列表中创建STB2的记录,根据STB2点播的节目名称和节目地址检索节目请求列表,根据检索结果给STB2在节目请求列表中的字段赋值,由于节目请求列表中已经有STB1的记录,则表明此时HG内部正有终端设备在点播相同的节目,此时需要为STB1的记录和STB2的记录在节目请求列表中的各字段赋值,具体为:
[0085] 由于HG内已经有STB1在点播该节目,故此时开始在HG内部存储该视频节目,同时为STB1的记录中的“节目是否被存储”赋值为“是”、“存储起始时间点1”赋值为“35分钟”、“存储位置1”赋值为“d:/storage/stb1/movies/001.mp4”,由于是第一次存储,所以“存储起始时间点n”、“存储位置n”中的n取值为1,下文中的n以及m的取值也是如此。
[0086] 为STB2的记录中的“是否首次出现”、“相对时间切换点1”、“节目源目标位置1”字段赋值,由于点播的节目已经有相应的记录,表明该节目的点播请求不是第一次出现,故“是否首次出现”字段赋值为“假”,“相对时间切换点1”赋值为“35分钟”,“节目源目标位置1”为“d:/storage/stb1/movies/001.mp4”;
[0087] HG为STB2的点播请求创建STB2到视频服务器的连接,因为每一个点播请求开始后,都是先直接和视频服务器连接的,只有当终端设备播放视频节目到达切换时间点时局域网网关才通知终端设备切换到HG内部观看点播的视频节目;
[0088] 当STB2对应的视频节目开始播放时,给STB2的记录中的“节目开始时间”字段赋值为“12:35”;
[0089] 1:00,HG接收到STB3的点播请求,为STB1和STB2以及STB3的记录中的各字段赋值,计算STB3的“相对切换时间点1”为35分;
[0090] 1:10,即当STB2观看到35分钟时HG通知STB2切换到HG内部的数据源观看节目,并将STB1中的“当前被使用数”加1;
[0091] 1:30,即STB1观看了90分钟后终止了点播请求,由于STB1的记录中的“是否首次出现”字段值为“真”,检索其“节目是否被存储”字段为“是”并且“当前被使用数”为1,说明HG内正有其他的终端设备即STB2正在使用本地存储,所以STB1的记录不删除;
[0092] 1:35,即STB3观看到35分钟时HG通知STB3切换到HG内部的数据源观看节目,并将STB1中的“当前被使用数”加1,此时STB1中的“当前被使用数”为2;
[0093] 2:05,即STB2观看了90分钟后终止了点播请求,由于STB2的点播请求不是首次出现的请求,而且STB2使用了STB1存储的本地数据,此时需将STB1的记录中的“当前被使用次数”减1,然后删除STB2的记录,此时STB1中的“当前被使用数”为1;
[0094] 2:30,即STB3观看了90分钟后终止了点播请求,由于STB3的点播请求不是首次出现的请求,而且STB3使用了STB1存储的本地数据,此时需将STB1的记录中的“当前被使用次数”减1,然后删除STB3的记录,此时STB1中的“当前被使用数”为0,由于系统会定期的检查记录如果发现“当前被使用数”为0的记录并且没有与之相对应的连接(表示对该节目的点播已经终止)就删除掉该记录,因而此时STB1的记录也被删除。
[0095] 例二:
[0096] STB1在12:00点播了节目A,A的长度为90分钟,STB2在12:35也点播该节目,此时HG开始对A进行本地存储,并计算STB2的相对切换时间点为35分。
[0097] 1:00,STB1终止了对A的点播,此时HG也终止了对A的存储;
[0098] 1:10,即当STB2观看到35分钟时HG通知STB2切换到HG内部的数据源观看节目;
[0099] 1:35,本地数据用尽,HG通知STB2切换到视频服务器继续观看节目A。
[0100] 例三:
[0101] STB1在12:00点播了节目A,A的长度为90分钟,STB2在12:35也点播该节目,此时HG开始对A进行本地存储,并计算STB2的相对切换时间点为35分。
[0102] 1:10,即当STB2观看到35分钟时HG通知STB2切换到HG内部的数据源观看节目;
[0103] 1:15,STB1快进至A的85分处观看,此时HG也从85分处开始进行存储;
[0104] 1:50,当STB2看至75分钟时,没有本地数据可用,它切换至视频服务器继续观看;
[0105] 2:00,当STB2看到85分钟时,再切换回使用HG内部的数据继续观看。
[0106] 例四:
[0107] STB1在12:00点播了节目A,A的长度为90分钟,STB2在12:35也点播该节目,此时HG开始在HG内部对A进行存储,并计算STB2的相对切换时间点为35分。
[0108] 12:40,STB2快进至A的35分处开始观看,此时它开始使用HG内部的数据;
[0109] 本发明的系统,其主要设计思想是利用局域网网关监听局域网网内部的终端设备的请求,并管理控制终端设备的请求,当监听到终端设备一和终端设备二点播的视频节目相同且观看时间有重合的时候,在局域网内部存储该视频节目,局域网网关计算切换时间点,当到达切换时间点时由局域网网关通知终端设备一切换到本地数据源来继续观看视频节目。具体而言,本发明的系统包括:视频服务器、局域网网关、终端设备,其中:
[0110] 视频服务器,用于提供视频节目;
[0111] 局域网网关,用于连接视频服务器和终端设备使终端设备通过局域网网关从视频服务器获得视频节目,监听和管理终端设备的请求,存储视频节目,计算切换时间点、控制终端设备的切换;
[0112] 终端设备,用于从视频服务器或局域网网关接收视频节目,接受局域网网关的管理和控制。
[0113] 局域网网关包括:监听模块、控制模块、存储模块,其中:
[0114] 监听模块,用于监听终端设备的点播请求和终止点播请求,并将所述的请求发送至控制模块;
[0115] 控制模块,用于对从监听模块接收到的请求进行管理控制,计算切换时间点、控制终端设备的切换,即用于创建节目请求列表、根据接收到的请求对节目请求进行管理,计算切换时间点、指示存储模块对视频节目进行存储、通知终端设备切换数据源。
[0116] 存储模块,用于根据控制模块的指令对视频节目进行存储。
[0117] 值得注意的是:局域网网关中的控制模块和存储模块所执行的功能,可以由局域网来完成,也可以分别由单独的设备完成,也可以由一个共同的局域网网关外部的设备来完成。
[0118] 本发明还提供了一种局域网网关,其主要设计思想是能根据终端设备的请求,在局域网内部存储视频节目,以使得后点播的终端设备能够直接在局域网内部观看部分视频节目。
[0119] 参见图6,为本发明的局域网网关的示意图,局域网网关601包括:监听模块6011、控制模块6012、存储模块6013,其中:
[0120] 监听模块6011,用于监听终端设备的点播请求和终止点播请求,并将所述的请求发送至控制模块。控制模块6012,用于对从监听模块接收到的请求进行管理控制,计算切换时间点、控制终端设备的切换,具体而言即创建节目请求列表、根据接收到的请求对节目请求列表进行管理,计算切换时间点、指示存储模块对视频节目进行存储、通知终端设备切换数据。存储模块6013,用于根据控制模块的指令对视频节目进行存储。
[0121] 在上述局域网网关601中,控制模块6012和存储模块6013还可以位于局域网网关601的外部,分别为独立的本地存储设备,控制模块6012和存储模块6013也可以为一个共同的独立设备。
[0122] 本发明提出的视频点播的技术方案的使用领域包括但不限于数字电视(Digital Television,DTV)领域和IP电视(IP Television,IPTV)领域。
[0123] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。