一种iptv流媒体文件虚拟分段和使用的方法及系统的制作方法

文档序号:7732441阅读:156来源:国知局
专利名称:一种iptv流媒体文件虚拟分段和使用的方法及系统的制作方法
技术领域
本发明涉及交互式网络电视系统,即IPTV系统,尤其涉及一种实现流媒体文件的虚拟分段的方法及其相关系统。
背景技术
IPTV作为一种视频传媒服务业务,已经取得相当规模的发展。随着3G时代的到来,市场对于三屏融合的需求也越来越强烈,它将让IPTV的用户量和业务市场会有更快的增长,是移动流媒体、特别是IPTV突破目前发展瓶颈的不错尝试。所谓三屏,是指电脑屏,电视屏和手机屏,目前的三屏融合,是从终端角度考虑,实现手机屏、电脑屏、电视屏三个屏幕之间内容的互联互通。当然,这种互联互通并非仅仅指三个屏幕播放相同内容,而是根据三个屏幕各自特点,既有统一又有差异,在三屏之间形成很好的视频资讯传递互补和服务统一,从而推动彼此的价值提升。然而要实现三屏互动,首先要实现IPTV、MVS和WebTV三者之间的不同的媒体存储和媒体服务,由于IPTV、MVS和WfebTV三种业务接入的网络不同,接入的终端类型和接入方式以及业务的呈现形式也不相同,因此多业务融合平台必须完成对多接入终端和网络的自动适配。三网融合关键是内容的融合,内容融合是实现多媒体融合业务的前提,同一个内容需要对应多个媒体文件适应不同码率和分辨率的播放需求,需要根据码率区分不同的媒体文件。如图1所示,对于HTTP的媒体服务来说,HTTP流媒体服务子系统只实现标准的 HTTP服务器功能,即只根据客户端的Get请求,返回相应的文件内容,不要求对文件格式进行解析等操作,从而大大减少对服务端的要求。客户端可以指定文件的字节范围,同时支持相应文件格式的解析。目前,对于IPTV用户、手机用户、WEBTV用户来说,各种媒体服务的类型(包括视频点播服务VOD和直播服务)是不同的,如图2所示。以WEBTV的节目为例,不同的厂家, 其VOD内容组织各不相同,典型的如APPLE、ADOBE、MICROSOFT等等,现分别说明如下1、Apple的媒体文件每个单码率VOD内容中并列存放1个html文件,其中的src字段指向索引文件;1个媒体目录,其中并列存放用于指向TS分段文件的1个格式为m3u8(音视频) 或m3u(纯音频)的索引文件;IfTS目录,TS目录中并列存放多个*.ts分段文件;每个多码率VOD内容中并列存放1个html文件,其中src字段指向主索引文件;1个媒体目录,其中并列存放用于指向各码率的索引文件的1个m3u8(音视频)或 m3u(纯音频)的主索引文件;
多个TS目录,每个TS目录并列存放用于指向TS分段文件的1个m3u8(音视频) 或者m3u(纯音频)的索引文件;多个*. ts分段文件。2、Adobe的媒体文件指定目录adobevod既是Web的根目录,也是媒体的根目录,通过修改配置文件实现。在 adobevod 目录下放置播放器控件,Adobevod/swfs/videoPlayer. swf。所有的播放器均调用该控件,一个节目一个目录,该目录下包括多个不同码率的数据文件*. f4v( —个码率一个.f4v文件)和对这些数据文件的描述文件*. smil和嵌入播放器控件的*. html文件。例如,对于节目filename,其目录结构如下
V0D/filename/data_150kbps. f4v data_500kbps. f4v data_700kbps. f4v data_1000kbps. f4v data_1500kbps. f4v
movie, smil movie, html3、Microsofte 的媒体文件指定目录VOD是Web的根目录,一个节目一个目录,该目录下包括多个不同码率的数据文件*. ismv和对这些数据文件的描述文件*. ism和*. ismc和嵌入播放器控件的 *. html文件和压缩文件*. xap。例如,对于节目filename,目录结构如下
V0D/filename/data_300000. ismv data_427000. ismv data_608000. ismv data_866000. ismv data_1233000. ismv data_2436000. ismv data, ism data, ismc
SmoothStreaming. xap Default, html
微软的编码器能够生成filename目录下的多个文件,只需要将filename目录放在web的根目录下即可。通过以上列举的媒体文件的形式,可以看出目前主流的媒体文件目录结构如图3 所示,其中WEBTV的点播节目均涉及多个媒体文件和索引文件,以及html文件等,且这些文件相互关联/引用。目前这样的媒体文件的结构模型和服务模型,除了需要得到内容提供商的支持外,还带来了以下几个问题1、组成媒体文件的小文件数目巨大,对于文件系统来说是个问题,文件句柄数不够;2、由于文件数目巨大,造成文件系统中对文件的搜索和定位速度缓慢;3、按照上述的文件格式提供流媒体服务的话,没有同步提高软件和服务的空间, 对厂商而言也就是没有增值空间。

发明内容
本发明的目的在于提供一种IPTV流媒体文件虚拟分段和使用的方法及系统,用于解决HTTP媒体服务的媒体文件存储问题,为三网融合的真正实现扫清一个技术障碍。根据本发明的一个方面,提供的一种IPTV流媒体文件虚拟分段和使用的方法,包括在IPTV系统中设置一个预处理装置,并执行以下步骤A)将收到的待分段的媒体流或媒体文件进行分割,得到多个分片文件;B)在所述多个分片文件中分别插入用于索引的关键帧或标识;C)将插有关键帧或标识的分片文件合并,形成虚拟分段媒体文件,并保存至文件系统中;D)建立包含所述关键帧或标识信息的虚拟分段媒体文件的索引文件;E)根据客户端的播放请求,利用所述索引文件从所述文件系统中读取所述虚拟分段媒体文件中的分片文件,并将所述分片文件发送至客户端。所述步骤A)包括预处理装置的中间件根据客户端经由HTTP服务器发送的媒体文件请求,在线获取文件系统中的待分段的媒体文件;将所述媒体文件进行分割处理,得到多个分片文件并保存。所述步骤A)包括预处理装置的流媒体分段器根据接收的实时传输协议(RTP)包,获取待分段的直播媒体流;将所述媒体流进行分割处理,得到多个分片文件,并保存至预处理装置的中间件。所述步骤A)包括预处理装置的预处理器离线读入待分段的媒体文件;将所述媒体文件进行分割处理,得到多个分片文件,并保存至预处理装置的中间件。所述步骤D)还包括预处理装置的中间件在建立所述虚拟分段媒体文件的索引文件后,每将一个插有关键帧或标识的分片文件合并追加至同一虚拟分段媒体文件中,更新一次所述索引文件。
所述步骤E)包括HTTP服务器根据客户端的播放请求,向客户端响应虚拟分段媒体文件的索引文件;预处理装置的中间件经由HTTP服务器接收客户端的包含所述索引文件的媒体文件请求;预处理装置的中间件利用所述索引文件从所述文件系统中读取所述虚拟分段媒体文件中的分片文件,并经由HTTP服务器发送至客户端。根据本发明的另一个方面,提供的一种IPTV流媒体文件虚拟分段和使用的系统包括在IPTV系统中设置的预处理装置,用于将收到的待分段的媒体流或媒体文件进行分割,得到多个分片文件,在所述多个分片文件中分别插入用于索引的关键帧或标识,将插有关键帧或标识的分片文件合并,形成虚拟分段媒体文件,建立包含所述关键帧或标识信息的虚拟分段媒体文件的索引文件,并根据客户端的播放请求,利用所述索引文件从所述文件系统中读取所述虚拟分段媒体文件中的分片文件,并将所述分片文件发送至客户端;文件系统,用于保存所述虚拟分段媒体文件。所述预处理装置包括中间件,用于根据客户端经由HTTP服务器发送的媒体文件请求,在线获取文件系统中待分段的媒体文件,将所述媒体文件进行分割处理,得到多个分片文件;流媒体分段器,用于根据接收的实时传输协议(RTP)包,获取待分段的直播媒体流,并将所述媒体流进行分割处理,得到多个分片文件及其索引文件;预处理器,用于离线读入待分段的媒体文件,并将所述媒体文件进行分割处理,得到分片文件。所述中间件还用于在建立所述虚拟分段媒体文件的索引文件后,每将一个插有关键帧或标识的分片文件合并追加至同一虚拟分段媒体文件中,更新一次所述索引文件。所述系统还包括HTTP服务器,用于将客户端的包含所述索引文件的媒体文件请求发送至所述中间件,并将所述中间件从所述文件系统中读取的所述虚拟分段媒体文件中的分片文件发送至
客户端。与现有技术相比,本发明的有益效果在于,本发明通过在IPTV系统中设置一个用来对待处理的媒体文件进行预处理的预处理装置,实现了 IPTV流媒体文件虚拟分段,有效解决了 HTTP媒体服务的文件存储问题,既提高了媒体文件搜索和定位的速度,又满足了多媒体融合业务对内容融合的要求,为三屏融合的真正实现扫清了一个技术障碍。


图1是现有技术中HTTP的媒体服务系统结构图;图2是现有技术中的各种媒体服务的类型图;图3是现有技术中的媒体文件的结构示意图;图4是本发明提供的一种IPTV流媒体文件虚拟分段和使用的方法流程图5是本发明提供的一种IPTV流媒体文件虚拟分段和使用的系统的媒体服务示意图;图6是图5所示B+树结构的索引文件和媒体文件组织示意图;图7是本发明实施例提供的IPTV流媒体文件虚拟分段的直播发布流程图;图8是本发明实施例提供的IPTV流媒体文件虚拟分段的离线点播发布流程图;图9是本发明实施例提供的IPTV流媒体文件虚拟分段的在线点播发布流程图;图10是本发明实施例提供的HTTP流媒体服务的流程示意11是本发明提供的一种IPTV流媒体文件虚拟分段和使用的系统结构示意图。
具体实施例方式以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限制本发明。图4显示了本发明提供的一种IPTV流媒体文件虚拟分段和使用的方法流程图,如图4所示,步骤包括步骤401 在IPTV系统中设置一个预处理装置;步骤402 将收到的待分段的媒体流或媒体文件进行分割,得到多个分片文件;步骤403 在所述多个分片文件中分别插入用于索引的关键帧或标识;步骤404 将插有关键帧或标识的分片文件合并,形成虚拟分段媒体文件,并保存至文件系统中;步骤405 建立包含所述关键帧或标识信息的虚拟分段媒体文件的索引文件;步骤406 根据客户端的播放请求,利用所述索引文件从所述文件系统中读取所述虚拟分段媒体文件中的分片文件,并将所述分片文件发送至客户端。所述步骤402包括预处理装置的中间件根据客户端经由HTTP服务器发送的媒体文件请求,在线获取文件系统中的待分段的媒体文件;将所述媒体文件进行分割处理,得到多个分片文件并保存。所述步骤402还包括预处理装置的流媒体分段器根据接收的实时传输协议 (RTP)包,获取待分段的直播媒体流;将所述媒体流进行分割处理,得到多个分片文件,并保存至预处理装置的中间件。所述步骤402还包括预处理装置的预处理器离线读入待分段的媒体文件;将所述媒体文件进行分割处理,得到多个分片文件,并保存至预处理装置的中间件。所述步骤405还包括预处理装置的中间件在建立所述虚拟分段媒体文件的索引文件后,每将一个插有关键帧或标识的分片文件合并追加至同一虚拟分段媒体文件中,更新一次所述索引文件。所述步骤406包括HTTP服务器根据客户端的播放请求,向客户端响应虚拟分段媒体文件的索引文件;预处理装置的中间件经由HTTP服务器接收客户端的包含所述索引文件的媒体文件请求;预处理装置的中间件利用所述索引文件从所述文件系统中读取所述虚拟分段媒体文件中的分片文件,并经由HTTP服务器发送至客户端。从文件系统的角度说,本发明在文件系统之上实现一个中间层,即中间件,用于对媒体文件进行分段,同时生成一个或多个索引文件。如图5所示。HTTP服务器根据客户端的视频请求,向中间件发送提取媒体文件请求;中间件根据所述媒体文件请求中的索引文件和计算的偏离量,从文件系统中找到对应的分片文件,并经由HTTP服务器发送至客户端。本发明在文件系统之上,增加了一个预处理装置,进一步说,增加了中间层 (Middle Ware),或称之为中间件,用来对待存储媒体文件进行预处理,即对媒体文件进行逻辑上的分割,媒体文件采用虚拟分片的方式,即物理上,多个媒体分片是包含在一个媒体文件中,但同时带有该文件的一个索引文件(可以是多个),类似于INDEX. M3U8、F4M等这样的索引文件,其索引文件和媒体文件组织结构采用B+树结构,如图6所示。为了尽量缩短客户端的启动时间,优选的,对于每个节目,有一个主索引描述文件,其中描述有哪些码率,以及每个码率对应的描述文件的URL。客户端可以根据自己的带宽,选择相应码率的索引文件下载,解析后,再下载相应的分段内容。图7显示了本发明实施例提供的IPTV流媒体文件虚拟分段的直播发布流程图,如图7所示,步骤包括步骤701 直播码流通过RTP包的形式从前端编码器引入到中心节点或提供直播服务的边缘节点;步骤702 流媒体分段器将RTP包解封装后,将媒体流按照序列生成多个分片文件及其索引文件;步骤703 将所述多个分片文件及其索引文件保存至中间件;步骤704 中间件在每个分片文件中插入用于索引的标识或关键帧;步骤705 中间件使用write函数,将插有标识或关键帧的分片文件写入文件系统中,此时,中间件提供的函数将会将分片文件合并追加到同一个虚拟分段媒体文件中;步骤706 中间件调用底层文件系统的功能,保存所述虚拟分段媒体文件;步骤707 文件系统向中间件发送存储结果;步骤708 中间件建立或更新所述虚拟分段媒体文件的索引文件。当分片文件足够大时,索引文件中记录分片文件关键帧的帧ID,否则,记录分片文件的标识,以供查找和定位分片文件。对于VOD的处理,考虑有两种方式,一种是离线处理,一种是在线处理,如图8和图 9所示。图8显示了本发明实施例提供的IPTV流媒体文件虚拟分段的离线点播发布流程图,如图8所示,步骤包括步骤801 预处理器离线读入待分段的媒体文件;步骤802 预处理器将所述媒体文件进行分片,形成TS分片,即多个分片文件;步骤803 将所述多个分片文件保存至中间件;步骤804 中间件在每个分片文件中插入用于索引的标识或关键帧;步骤805 中间件使用write函数,将插有标识或关键帧的分片文件写入文件系统中,此时,中间件提供的函数将会将分片文件合并追加到同一个虚拟分段媒体文件中;步骤806 中间件调用底层文件系统的功能,保存所述虚拟分段媒体文件;步骤807 文件系统向中间件发送存储结果;步骤808 中间件建立或更新所述虚拟分段媒体文件的索引文件。图9显示了本发明实施例提供的IPTV流媒体文件虚拟分段的在线点播发布流程图,如图9所示,步骤包括步骤901 客户端经由HTTP服务器向中间件发送媒体文件请求;步骤902 中间件根据所述媒体文件请求,从文件系统中读取媒体文件;步骤903 中间件打开媒体文件后进行分割处理,得到多个分片文件,并在每个分片文件中插入用于索引的标识或关键帧;步骤904 中间件将分片文件经由HTTP服务器发送至客户端,进行媒体服务,并中间件使用write函数,将插有标识或关键帧的分片文件写入文件系统中,此时,中间件提供的函数将会将分片文件合并追加到同一个虚拟分段媒体文件中;步骤905 中间件调用底层文件系统的功能,保存所述虚拟分段媒体文件;步骤906 文件系统向中间件发送存储结果;步骤907 中间件建立或更新所述虚拟分段媒体文件的索引文件。步骤908 后续再有其他客户端请求媒体服务时,直接使用索引文件对虚拟分段媒体文件进行定位,获取其分片文件即可。图10显示了本发明实施例提供的HTTP流媒体服务的流程示意图,如图10所示, 步骤包括步骤1001 客户端向HTTP服务器(下载服务器)发送包含内容编号的媒体文件的播放请求,以获取索引文件;步骤1002 :HTTP服务器根据所述内容编号,获取索引文件;步骤1003 =HTTP服务器向客户端响应所述索引文件;步骤1004 客户端经由HTTP服务器向中间件发送媒体文件请求;步骤1005 中间件根据所述媒体文件请求,计算偏移量和时长;步骤1006 中间件从文件系统中获取数据分段文件,即分片文件,并将所述分片文件经由HTTP服务器发送至客户端;步骤1007 客户端向前拖到进度条后,继续经由HTTP服务器向中间件发送媒体文件请求,以获取下一个分片文件。图11显示了本发明提供的一种IPTV流媒体文件虚拟分段和使用的系统结构示意图,如图11所示,系统包括在IPTV系统中设置的预处理装置,用于将收到的待分段的媒体流或媒体文件进行分割,得到多个分片文件,在所述多个分片文件中分别插入用于索引的关键帧或标识,将插有关键帧或标识的分片文件合并,形成虚拟分段媒体文件,建立包含所述关键帧或标识信息的虚拟分段媒体文件的索引文件,并根据客户端的播放请求,利用所述索引文件从所述文件系统中读取所述虚拟分段媒体文件中的分片文件,并将所述分片文件发送至客户端;文件系统,用于保存所述虚拟分段媒体文件。所述预处理装置包括中间件,用于根据客户端经由HTTP服务器发送的媒体文件请求,在线获取文件系统中待分段的媒体文件,将所述媒体文件进行分割处理,得到多个分片文件;流媒体分段器,用于根据接收的实时传输协议(RTP)包,获取待分段的直播媒体流,并将所述媒体流进行分割处理,得到多个分片文件及其索引文件;
预处理器,用于离线读入待分段的媒体文件,并将所述媒体文件进行分割处理,得到分片文件。所述中间件还用于在建立所述虚拟分段媒体文件的索引文件后,每将一个插有关键帧或标识的分片文件合并追加至同一虚拟分段媒体文件中,更新一次所述索引文件。所述系统还包括HTTP服务器,用于将客户端的包含所述索引文件的媒体文件请求发送至所述中间件,并将所述中间件从所述文件系统中读取的所述虚拟分段媒体文件中的分片文件发送至
客户端。其中,所述文件系统可以设置在HTTP的媒体服务系统的存储设备上;所述中间件可以设置在HTTP的媒体服务系统的内容服务子系统HCG上。尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所做的修改,都应当理解为落入本发明的保护范围。
权利要求
1.一种IPTV流媒体文件虚拟分段和使用的方法,其特征在于,在IPTV系统中设置一个预处理装置,并执行以下步骤A)将收到的待分段的媒体流或媒体文件进行分割,得到多个分片文件;B)在所述多个分片文件中分别插入用于索引的关键帧或标识;C)将插有关键帧或标识的分片文件合并,形成虚拟分段媒体文件,并保存至文件系统中;D)建立包含所述关键帧或标识信息的虚拟分段媒体文件的索引文件;E)根据客户端的播放请求,利用所述索引文件从所述文件系统中读取所述虚拟分段媒体文件中的分片文件,并将所述分片文件发送至客户端。
2.根据权利要求1所述的方法,其特征在于,所述步骤A)包括预处理装置的中间件根据客户端经由HTTP服务器发送的媒体文件请求,在线获取文件系统中的待分段的媒体文件;将所述媒体文件进行分割处理,得到多个分片文件并保存。
3.根据权利要求1所述的方法,其特征在于,所述步骤A)包括预处理装置的流媒体分段器根据接收的实时传输协议(RTP)包,获取待分段的直播媒体流;将所述媒体流进行分割处理,得到多个分片文件,并保存至预处理装置的中间件。
4.根据权利要求1所述的方法,其特征在于,所述步骤A)包括 预处理装置的预处理器离线读入待分段的媒体文件;将所述媒体文件进行分割处理,得到多个分片文件,并保存至预处理装置的中间件。
5.根据权利要求1所述的方法,其特征在于,所述步骤D)还包括预处理装置的中间件在建立所述虚拟分段媒体文件的索引文件后,每将一个插有关键帧或标识的分片文件合并追加至同一虚拟分段媒体文件中,更新一次所述索引文件。
6.根据权利要求1所述的方法,其特征在于,所述步骤E)包括HTTP服务器根据客户端的播放请求,向客户端响应虚拟分段媒体文件的索引文件; 预处理装置的中间件经由HTTP服务器接收客户端的包含所述索引文件的媒体文件请求;预处理装置的中间件利用所述索引文件从所述文件系统中读取所述虚拟分段媒体文件中的分片文件,并经由HTTP服务器发送至客户端。
7.—种IPTV流媒体文件虚拟分段和使用的系统,其特征在于,包括在IPTV系统中设置的预处理装置,用于将收到的待分段的媒体流或媒体文件进行分割,得到多个分片文件,在所述多个分片文件中分别插入用于索引的关键帧或标识,将插有关键帧或标识的分片文件合并,形成虚拟分段媒体文件,建立包含所述关键帧或标识信息的虚拟分段媒体文件的索引文件,并根据客户端的播放请求,利用所述索引文件从所述文件系统中读取所述虚拟分段媒体文件中的分片文件,并将所述分片文件发送至客户端; 文件系统,用于保存所述虚拟分段媒体文件。
8.根据权利要求6所述的系统,其特征在于,所述预处理装置包括中间件,用于根据客户端经由HTTP服务器发送的媒体文件请求,在线获取文件系统中待分段的媒体文件,将所述媒体文件进行分割处理,得到多个分片文件;流媒体分段器,用于根据接收的实时传输协议(RTP)包,获取待分段的直播媒体流,并将所述媒体流进行分割处理,得到多个分片文件及其索引文件;预处理器,用于离线读入待分段的媒体文件,并将所述媒体文件进行分割处理,得到分片文件。
9.根据权利要求8所述的系统,其特征在于,所述中间件还用于在建立所述虚拟分段媒体文件的索引文件后,每将一个插有关键帧或标识的分片文件合并追加至同一虚拟分段媒体文件中,更新一次所述索引文件。
10.根据权利要求8所述的系统,其特征在于,所述系统还包括HTTP服务器,用于将客户端的包含所述索引文件的媒体文件请求发送至所述中间件, 并将所述中间件从所述文件系统中读取的所述虚拟分段媒体文件中的分片文件发送至客户端。
全文摘要
本发明公开了一种IPTV流媒体文件虚拟分段和使用的方法及系统,方法包括在IPTV系统中设置一个预处理装置,并执行以下步骤将收到的待分段的媒体流或媒体文件进行分割,得到多个分片文件;在所述多个分片文件中分别插入用于索引的关键帧或标识;将插有关键帧或标识的分片文件合并,形成虚拟分段媒体文件,并保存至文件系统中;建立包含所述关键帧或标识信息的虚拟分段媒体文件的索引文件;根据客户端的播放请求,利用所述索引文件从所述文件系统中读取所述虚拟分段媒体文件中的分片文件,并将所述分片文件发送至客户端。本发明解决了HTTP媒体服务的媒体文件存储问题,为三屏融合的真正实现扫清了一个技术障碍。
文档编号H04N21/845GK102238434SQ20111020842
公开日2011年11月9日 申请日期2011年7月22日 优先权日2011年7月22日
发明者张宇 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1