基于实时转封装的互联网视频点播方法及系统转让专利

申请号 : CN201410216659.0

文献号 : CN103957469B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 凌飞鹏

申请人 : 百视通网络电视技术发展有限责任公司

摘要 :

本发明提供了一种基于实时转封装的互联网视频点播方法和系统,所述方法包括步骤有:对一种码率的流媒体文件保存选定的源格式流媒体文件;当接收到用户点播请求时,分析出所述用户点播请求对应的所述源格式流媒体文件和目标格式;对所述源格式流媒体文件进行解封装,提取对应的源格式音视频流;根据所述目标格式将所述源格式音视频流封装成目标格式流媒体文件;将所述目标格式流媒体文件发布给播放终端。借此,本发明通过实时视频转封装技术,在存储系统中对一种码率的流媒体文件只保存一种选定的源格式流媒体文件,可大大减少存储开销;并且本发明不需对流媒体文件进行解码及再编码,而只需对封装格式做一次转换,不会带来播放延迟。

权利要求 :

1.一种基于实时转封装的互联网视频点播方法,其特征在于,包括有:存储步骤,对一种码率的流媒体文件保存选定的源格式流媒体文件;

请求接收步骤,当接收到用户点播请求时,分析出所述用户点播请求对应的所述源格式流媒体文件和目标格式;

解封装步骤,对所述源格式流媒体文件进行解封装,提取对应的源格式音视频流;

转封装步骤,根据所述目标格式将所述源格式音视频流封装成目标格式流媒体文件;

发布步骤,将所述目标格式流媒体文件发布给播放终端;

所述源格式流媒体文件保存于内容分发网络的边缘服务器或者视频服务器中;

所述互联网视频点播方法应用于实时转封装服务器,对于有缓存系统的第一内容分发网络,所述实时转封装服务器部署在所述第一内容分发网络后端;

所述请求接收步骤进一步包括:

当接收到所述用户点播请求时,若所述第一内容分发网络的第一边缘服务器不存在所述用户点播请求对应的所述源格式流媒体文件,则所述第一边缘服务器通过回源从所述实时转封装服务器获取所述源格式流媒体文件并缓存在所述缓存系统中,再执行所述解封装步骤;若所述第一内容分发网络的所述第一边缘服务器存在所述用户点播请求对应的所述源格式流媒体文件,则直接执行所述解封装步骤;或者所述互联网视频点播方法应用于实时转封装服务器,对于无缓存系统的第二内容分发网络,所述实时转封装服务器部署在所述第二内容分发网络的第二边缘服务器上;

所述请求接收步骤进一步包括:

当接收到所述用户点播请求时,所述第二边缘服务器在本服务器存储系统查询所述用户点播请求对应的所述源格式流媒体文件,并执行所述解封装步骤。

2.根据权利要求1所述的互联网视频点播方法,其特征在于,所述源格式流媒体文件为MP4格式文件和/或MPEG2-TS格式文件。

3.根据权利要求1所述的互联网视频点播方法,其特征在于,所述解封装步骤进一步包括:对所述源格式流媒体文件进行分析,提取对应的所述源格式音视频流及其媒体信息,所述媒体信息包括媒体文件编码信息、开始时间或序号、选择时间和/或视频帧大小;

所述转封装步骤进一步包括:

根据所述目标格式和所述媒体信息,将所述源格式音视频流封装成所述目标格式流媒体文件。

4.根据权利要求3所述的互联网视频点播方法,其特征在于,所述解封装步骤之后还包括:判断步骤,判断所述用户点播请求是获取所述目标格式流媒体文件还是播放列表文件,若是获取所述目标格式流媒体文件则执行所述转封装步骤,否则执行下述播放列表生成步骤;

播放列表生成步骤,根据所述媒体信息和预定规则生成对应的所述播放列表文件;

所述发布步骤包括:

将所述播放列表文件发布给播放终端。

5.根据权利要求4所述的互联网视频点播方法,其特征在于,所述发布步骤进一步包括:将所述目标格式流媒体文件或者所述播放列表文件进行HTTP响应封装,并发布给所述播放终端。

6.根据权利要求1所述的互联网视频点播方法,其特征在于,所述转封装步骤之后和所述发布步骤之前还包括:加密步骤,对所述目标格式流媒体文件进行加密;

所述发布步骤进一步包括:

将加密后的所述目标格式流媒体文件发布给播放终端。

7.根据权利要求1所述的互联网视频点播方法,其特征在于,所述互联网视频点播方法支持基于HTTP协议的自适应流媒体播放或者渐进式下载视频播放。

8.一种基于实时转封装的互联网视频点播系统,其特征在于,包括有:存储模块,用于对一种码率的流媒体文件保存选定的源格式流媒体文件;

请求接收模块,用于当接收到用户点播请求时,分析出所述用户点播请求对应的所述源格式流媒体文件和目标格式;

解封装模块,用于对所述源格式流媒体文件进行解封装,提取对应的源格式音视频流;

转封装模块,用于根据所述目标格式将所述源格式音视频流封装成目标格式流媒体文件;

发布模块,用于将所述目标格式流媒体文件发布给播放终端;

所述源格式流媒体文件保存于内容分发网络的边缘服务器或者视频服务器中;

所述互联网视频点播系统应用于实时转封装服务器,对于有缓存系统的第一内容分发网络,所述实时转封装服务器部署在所述第一内容分发网络后端;

所述请求接收模块用于当接收到所述用户点播请求时,若所述第一内容分发网络的第一边缘服务器不存在所述用户点播请求对应的所述源格式流媒体文件,则所述第一边缘服务器通过回源从所述实时转封装服务器获取所述源格式流媒体文件并缓存在所述缓存系统中,再交由所述解封装模块执行;若所述第一内容分发网络的所述第一边缘服务器存在所述用户点播请求对应的所述源格式流媒体文件,则直接交由所述解封装模块执行;或者所述互联网视频点播系统应用于实时转封装服务器,对于无缓存系统的第二内容分发网络,所述实时转封装服务器部署在所述第二内容分发网络的第二边缘服务器上;

所述请求接收模块用于当接收到所述用户点播请求时,所述第二边缘服务器在本服务器存储系统查询所述用户点播请求对应的所述源格式流媒体文件,并交由所述解封装模块执行。

9.根据权利要求8所述的互联网视频点播系统,其特征在于,所述源格式流媒体文件为MP4格式文件和/或MPEG2-TS格式文件。

10.根据权利要求8所述的互联网视频点播系统,其特征在于,所述解封装模块用于对所述源格式流媒体文件进行分析,提取对应的所述源格式音视频流及其媒体信息,所述媒体信息包括媒体文件编码信息、开始时间或序号、选择时间和/或视频帧大小;

所述转封装模块用于根据所述目标格式和所述媒体信息,将所述源格式音视频流封装成所述目标格式流媒体文件。

11.根据权利要求10所述的互联网视频点播系统,其特征在于,还包括:判断模块,用于判断所述用户点播请求是获取所述目标格式流媒体文件还是播放列表文件,若是获取所述目标格式流媒体文件则交由所述转封装模块执行,否则交由下述播放列表生成模块执行;

播放列表生成模块,用于根据所述媒体信息和预定规则生成对应的所述播放列表文件;

所述发布模块,用于将所述播放列表文件发布给播放终端。

12.根据权利要求11所述的互联网视频点播系统,其特征在于,所述发布模块用于将所述目标格式流媒体文件或者所述播放列表文件进行HTTP响应封装,并发布给所述播放终端。

13.根据权利要求8所述的互联网视频点播系统,其特征在于,还包括:加密模块,用于对所述转封装模块输出的所述目标格式流媒体文件进行加密;

所述发布模块用于将加密后的所述目标格式流媒体文件发布给播放终端。

14.根据权利要求8所述的互联网视频点播系统,其特征在于,所述互联网视频点播系统支持基于HTTP协议的自适应流媒体播放或者渐进式下载视频播放。

说明书 :

基于实时转封装的互联网视频点播方法及系统

技术领域

[0001] 本发明涉及在互联网视频点播及数字媒体技术,尤其涉及一种基于实时转封装的互联网视频点播方法及系统。

背景技术

[0002] 现在数字媒体内容在数字电视,网络电视和手机电视等领域已经得到了广泛的应用。但是在传输技术上面存在许多的标准。在最近几年,因为仅需使用普通的HTTP(HyperText Transport Protocol,互联网传输协议)服务器,以HTTP协议为基础的流媒体点播技术得到了极大的发展。其主要分为两大类,一是HTTP渐进式下载,另一是HTTP自适应流媒体技术。而HTTP自适应流媒体技术因为其支持多码率切换,能更好的适应播放网络,带来更好的用户体验而得到广泛应用。
[0003] 目前HTTP自适应流媒体协议主要有苹果的HLS(HTTP live Streaming,超文本直播流),微软的MSS(Microsoft Smooth Streaming),ADOBE的HDS(HTTP Dynamic Streaming)以及后来的MPEG DASH(Dynamic Adaptive Streaming over HTTP),而其中又以HLS的应用最为广泛。在网络和终端不断融合的今天,要求视频格式及传输协议随应用环境的不同而采用不同标准的要求变得越来越迫切。用户希望随时随地接入并观看视频,因此要求视频格式及传输协议在异构网络中自由转换。现在的普遍做法是视频编码成不同码率,不同封装格式的文件保存在服务器中,在用户请求的时候,直接从HTTP服务器获取平面文件。如果要支持不同的协议或不同的格式,就需保存同一码率文件的多份拷贝。这种做法虽然有效,却带来了极大的存储开销。从互联网视频格式互通的发展趋势来看,开发一种高效的实时转封装技术以适应不同的应用环境十分有必要,有广泛的应用前景。
[0004] 综上可知,现有技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。

发明内容

[0005] 针对上述的缺陷,本发明的目的在于提供一种基于实时转封装的互联网视频点播方法及系统,其在存储系统中对一种码率的流媒体文件只保存一种选定的源格式流媒体文件,可大大减少存储开销;并且本发明不需对流媒体文件进行解码及再编码,而只需对封装格式做一次转换,不会带来播放延迟。
[0006] 为了实现上述目的,本发明提供一种基于实时转封装的互联网视频点播方法,包括有:
[0007] 存储步骤,对一种码率的流媒体文件保存选定的源格式流媒体文件;
[0008] 请求接收步骤,当接收到用户点播请求时,分析出所述用户点播请求对应的所述源格式流媒体文件和目标格式;
[0009] 解封装步骤,对所述源格式流媒体文件进行解封装,提取对应的源格式音视频流;
[0010] 转封装步骤,根据所述目标格式将所述源格式音视频流封装成目标格式流媒体文件;
[0011] 发布步骤,将所述目标格式流媒体文件发布给播放终端。
[0012] 根据本发明所述的互联网视频点播方法,所述源格式流媒体文件为MP4格式文件和/或MPEG2-TS格式文件。
[0013] 根据本发明所述的互联网视频点播方法,所述解封装步骤进一步包括:
[0014] 对所述源格式流媒体文件进行分析,提取对应的所述源格式音视频流及其媒体信息,所述媒体信息包括媒体文件编码信息、开始时间或序号、选择时间和/或视频帧大小;
[0015] 所述转封装步骤进一步包括:
[0016] 根据所述目标格式和所述媒体信息,将所述源格式音视频流封装成所述目标格式流媒体文件。
[0017] 根据本发明所述的互联网视频点播方法,所述解封装步骤之后还包括:
[0018] 判断步骤,判断所述用户点播请求是获取所述目标格式流媒体文件还是播放列表文件,若是获取所述目标格式流媒体文件则执行所述转封装步骤,否则执行下述播放列表生成步骤;
[0019] 播放列表生成步骤,根据所述媒体信息和预定规则生成对应的所述播放列表文件;
[0020] 所述发布步骤包括:
[0021] 将所述播放列表文件发布给播放终端。
[0022] 根据本发明所述的互联网视频点播方法,所述发布步骤进一步包括:
[0023] 将所述目标格式流媒体文件或者所述播放列表文件进行HTTP响应封装,并发布给所述播放终端。
[0024] 根据权利要求1所述的互联网视频点播方法,其特征在于,所述转封装步骤之后和所述发布步骤之前还包括:
[0025] 加密步骤,对所述目标格式流媒体文件进行加密;
[0026] 所述发布步骤进一步包括:
[0027] 将加密后的所述目标格式流媒体文件发布给播放终端。
[0028] 根据本发明所述的互联网视频点播方法,所述互联网视频点播方法支持基于HTTP协议的自适应流媒体播放或者渐进式下载视频播放。
[0029] 根据本发明所述的互联网视频点播方法,所述源格式流媒体文件保存于内容分发网络的边缘服务器或者视频服务器中。
[0030] 根据本发明所述的互联网视频点播方法,所述互联网视频点播方法应用于实时转封装服务器,对于有缓存系统的第一内容分发网络,所述实时转封装服务器部署在所述第一内容分发网络后端;
[0031] 所述请求接收步骤进一步包括:
[0032] 当接收到所述用户点播请求时,若所述第一内容分发网络的第一边缘服务器不存在所述用户点播请求对应的所述源格式流媒体文件,则所述第一边缘服务器通过回源从所述实时转封装服务器获取所述源格式流媒体文件并缓存在所述缓存系统中,再执行所述解封装步骤;若所述第一内容分发网络的所述第一边缘服务器存在所述用户点播请求对应的所述源格式流媒体文件,则直接执行所述解封装步骤。
[0033] 根据本发明所述的互联网视频点播方法,所述互联网视频点播方法应用于实时转封装服务器,对于无缓存系统的第二内容分发网络,所述实时转封装服务器部署在所述第二内容分发网络的第二边缘服务器上;
[0034] 所述请求接收步骤进一步包括:
[0035] 当接收到所述用户点播请求时,所述第二边缘服务器在本服务器存储系统查询所述用户点播请求对应的所述源格式流媒体文件,并执行所述解封装步骤。
[0036] 本发明还提供一种基于实时转封装的互联网互联网视频点播系统,包括有:
[0037] 存储模块,用于对一种码率的流媒体文件保存选定的源格式流媒体文件;
[0038] 请求接收模块,用于当接收到用户点播请求时,分析出所述用户点播请求对应的所述源格式流媒体文件和目标格式;
[0039] 解封装模块,用于对所述源格式流媒体文件进行解封装,提取对应的源格式音视频流;
[0040] 转封装模块,用于根据所述目标格式将所述源格式音视频流封装成目标格式流媒体文件;
[0041] 发布模块,用于将所述目标格式流媒体文件发布给播放终端。
[0042] 根据本分所述的互联网互联网视频点播系统,所述源格式流媒体文件为MP4格式文件和/或MPEG2-TS格式文件。
[0043] 根据本分所述的互联网互联网视频点播系统,所述解封装模块用于对所述源格式流媒体文件进行分析,提取对应的所述源格式音视频流及其媒体信息,所述媒体信息包括媒体文件编码信息、开始时间或序号、选择时间和/或视频帧大小;
[0044] 所述转封装模块用于根据所述目标格式和所述媒体信息,将所述源格式音视频流封装成所述目标格式流媒体文件。
[0045] 根据本分所述的互联网互联网视频点播系统,还包括:
[0046] 判断模块,用于判断所述用户点播请求是获取所述目标格式流媒体文件还是播放列表文件,若是获取所述目标格式流媒体文件则交由所述转封装模块执行,否则交由下述播放列表生成模块执行;
[0047] 播放列表生成模块,用于根据所述媒体信息和预定规则生成对应的所述播放列表文件;
[0048] 所述发布模块,用于将所述播放列表文件发布给播放终端。
[0049] 根据本分所述的互联网互联网视频点播系统,所述发布模块用于将所述目标格式流媒体文件或者所述播放列表文件进行HTTP响应封装,并发布给所述播放终端。
[0050] 根据本分所述的互联网互联网视频点播系统,还包括:
[0051] 加密模块,用于对所述转封装模块输出的所述目标格式流媒体文件进行加密;
[0052] 所述发布模块用于将加密后的所述目标格式流媒体文件发布给播放终端。
[0053] 根据本分所述的互联网互联网视频点播系统,所述互联网互联网视频点播系统支持基于HTTP协议的自适应流媒体播放或者渐进式下载视频播放。
[0054] 根据本分所述的互联网互联网视频点播系统,所述源格式流媒体文件保存于内容分发网络的边缘服务器或者视频服务器中。
[0055] 根据本分所述的互联网互联网视频点播系统,所述互联网互联网视频点播系统应用于实时转封装服务器,对于有缓存系统的第一内容分发网络,所述实时转封装服务器部署在所述第一内容分发网络后端;
[0056] 所述请求接收模块用于当接收到所述用户点播请求时,若所述第一内容分发网络的第一边缘服务器不存在所述用户点播请求对应的所述源格式流媒体文件,则所述第一边缘服务器通过回源从所述实时转封装服务器获取所述源格式流媒体文件并缓存在所述缓存系统中,再交由所述解封装模块执行;若所述第一内容分发网络的所述第一边缘服务器存在所述用户点播请求对应的所述源格式流媒体文件,则直接交由所述解封装模块执行。
[0057] 根据本分所述的互联网互联网视频点播系统,所述互联网互联网视频点播系统应用于实时转封装服务器,对于无缓存系统的第二内容分发网络,所述实时转封装服务器部署在所述第二内容分发网络的第二边缘服务器上;
[0058] 所述请求接收模块用于当接收到所述用户点播请求时,所述第二边缘服务器在本服务器存储系统查询所述用户点播请求对应的所述源格式流媒体文件,并交由所述解封装模块执行。
[0059] 本发明在存储系统中对一种码率的流媒体文件只保存一种选定的源格式流媒体文件,当收到用户点播请求时,分析出用户点播请求对应的源格式流媒体文件和目标格式,将源格式流媒体文件进行解封装成源格式音视频流,再将源格式音视频流转分装成目标格式流媒体文件后发布给用户。借此,本发明通过实时视频转封装技术,在存储系统中对一种码率的流媒体文件只保存一种选定的源格式流媒体文件,可大大减少存储开销;并且与实时转码技术不同的是,本发明不需对流媒体文件进行解码及再编码,而只需对封装格式做一次转换,相对转码的计算量要少很多,不会带来播放延迟。本发明同时支持以HTTP协议为基础的渐进式下载视频播放及自适应流媒体播放。

附图说明

[0060] 图1是本发明基于实时转封装的互联网视频点播系统的结构示意图;
[0061] 图2是本发明优选基于实时转封装的互联网视频点播系统的结构示意图;
[0062] 图3为本发明互联网视频点播系统应用在有缓存CDN系统的架构示意图;
[0063] 图4为本发明互联网视频点播系统应用在无缓存CDN系统的架构示意图;
[0064] 图5是本发明基于实时转封装的互联网视频点播方法的流程图;
[0065] 图6是本发明优选基于实时转封装的互联网视频点播方法的流程图。

具体实施方式

[0066] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0067] 图1是本发明基于实时转封装的互联网视频点播系统的结构示意图,所述互联网视频点播系统100支持基于HTTP(HyperText Transfer Protocol,超文件传输协议)协议的自适应流媒体播放或者渐进式下载视频播放。所述互联网视频点播系统100包括有存储模块10、请求接收模块20、解封装模块30、转封装模块40以及发布模块50,其中:
[0068] 存储模块10,用于对一种码率的流媒体文件保存选定的源格式流媒体文件。优选的是,所述源格式流媒体文件为MP4(MPEG-4Part14)格式文件和/或MPEG2(Moving Pictures Experts Group2,动态图象专家组2)-TS(Timestamp,时间戳)格式文件。更好的是,源格式流媒体文件保存于CDN(Content Delivery Network,内容分发网络)的边缘服务器或者视频服务器中。
[0069] 请求接收模块20,用于当接收到用户点播请求时,分析出用户点播请求对应的源格式流媒体文件和目标格式。
[0070] 解封装模块30,用于对源格式流媒体文件进行解封装,提取对应的源格式音视频流。优选的是,解封装模块30用于对源格式流媒体文件进行分析,提取对应的源格式音视频流及其媒体信息,所述媒体信息包括媒体文件编码信息、开始时间或序号、选择时间和/或视频帧大小等。
[0071] 转封装模块40,用于根据目标格式将源格式音视频流封装成目标格式流媒体文件。优选的是,转封装模块40用于根据目标格式和媒体信息,将源格式音视频流封装成目标格式流媒体文件。根据所选流媒体播放协议不同,再封装媒体文件格式会有不同。例如,苹果HLS采用MPEG2TS文件格式,微软MSS和ADOBE HAD采用MP4文件格式。
[0072] 发布模块50,用于将目标格式流媒体文件发布给用户的播放终端,所述播放终端可以是手机、电视机、平板电脑等。优选的是,发布模块50用于将目标格式流媒体文件或者播放列表文件进行HTTP响应封装,并发布给播放终端。
[0073] 本发明的重点是在仅在存储设备上保存一份媒体文件拷贝,并能提供多种流媒体协议播放的支持,并能有效的减少网络播放延迟。本发明的实时转封装服务,工作于HTTP服务器内部。本发明可有效降低系统存储消耗,并能同时支持以HTTP协议为基础的渐进式下载视频播放及自适应流媒体播放。本发明提出一种实时转封装技术,在存储系统中对一种码率的流媒体文件只保存一种选定的源格式,达到节约存储的目的,通过实时转封装,支持HTTP自适应流媒体协议播放。该方法不同于实时转码,不需对流媒体文件进行解码及再编码,只需对封装格式做一次转换,相对转码计算量要少很多,不会带来播放延迟。
[0074] 图2是本发明优选基于实时转封装的互联网视频点播系统的结构示意图,所述互联网视频点播系统100支持基于HTTP协议的自适应流媒体播放或者渐进式下载视频播放。所述互联网视频点播系统100包括有存储模块10、请求接收模块20、解封装模块30、转封装模块40、发布模块50、判断模块60和播放列表生成模块70,其中:
[0075] 存储模块10,用于对一种码率的流媒体文件保存选定的源格式流媒体文件。优选的是,所述源格式流媒体文件为MP4格式文件和/或MPEG2-TS格式文件。更好的是,源格式流媒体文件保存于CDN的边缘服务器或者视频服务器中。
[0076] 选择视频服务器或CDN的边缘服务器上保存的选定的源格式文件,要求包括:1、实时计算简单;2、包含流描述的元数据;3、常用格式,有相关的创建于统计工具。根据以上三个要求,有以下两种常用格式可选择,MP4文件格式和MPEG2-TS文件格式。这两种文件格式各有优势,对于渐进式下载播放,支持MP4文件格式的终端更多,而且前者对于多码率的支持相对更好,而MPET2-TS文件格式能更好的保存用户元数据,对以TS切片为基础的HLS协议来说,实时计算更简单。
[0077] 请求接收模块20,用于当接收到用户点播请求时,分析出用户点播请求对应的源格式流媒体文件和目标格式。
[0078] 解封装模块30,用于对源格式流媒体文件进行解封装,提取对应的源格式音视频流。优选的是,解封装模块30用于对源格式流媒体文件进行分析,提取对应的源格式音视频流及其媒体信息,媒体信息包括媒体文件编码信息、开始时间或序号、选择时间和/或视频帧大小等。
[0079] 判断模块60,用于判断用户点播请求是获取目标格式流媒体文件还是播放列表文件,若是获取目标格式流媒体文件则交由转封装模块40执行,否则交由下述播放列表生成模块70执行。
[0080] 播放列表生成模块70,用于根据媒体信息和预定规则生成对应的播放列表文件。根据所选流媒体播放协议不同,播放列表内容有所不同。苹果HLS使用M3U8,微软MSS和ADOBE HAD使用manifest文件。为了提高播放效率,减少网络延迟,同时由于播放列表文件很小,一般可预先生成。由于HTTP自适应类流媒体协议的多码率自适应特性,流描述信息一般由节目发布者生成,流媒体服务器不会生产,仅提供内容播放列表信息,即某种码率的播放列表文件。
[0081] 转封装模块40,用于根据目标格式将源格式音视频流封装成目标格式流媒体文件。优选的是,转封装模块40用于根据目标格式和媒体信息,将源格式音视频流封装成目标格式流媒体文件。
[0082] 发布模块50,用于将目标格式流媒体文件和/或播放列表文件发布给播放终端。优选的是,发布模块50用于将目标格式流媒体文件或者播放列表文件进行HTTP响应封装,并发布给用户的播放终端。
[0083] 更好的是,所述互联网视频点播系统还可选择地包括有加密模块80,所述加密模块80用于对转封装模块输出的目标格式流媒体文件进行加密,实现DRM(Digital Right Management,数字版权管理)。
[0084] 所述发布模块50用于将加密后的目标格式流媒体文件发布给播放终端。
[0085] 图3为本发明互联网视频点播系统应用在有缓存CDN系统的架构示意图。互联网视频点播系统100应用于实时转封装服务器,对于有缓存系统的第一CDN,实时转封装服务器部署在第一CDN后端。互联网视频点播系统100的请求接收模块20用于当接收到用户点播请求时,若第一CDN的第一边缘服务器不存在用户点播请求对应的源格式流媒体文件或播放列表文件,则第一边缘服务器通过回源从实时转封装服务器获取源格式流媒体文件或播放列表文件并缓存在缓存系统中,再交由解封装模块30执行。若第一CDN的第一边缘服务器存在用户点播请求对应的源格式流媒体文件,则直接交由解封装模块30执行。
[0086] 图4为本发明互联网视频点播系统应用在无缓存CDN系统的架构示意图。互联网视频点播系统100应用于实时转封装服务器,对于无缓存系统的第二CDN,实时转封装服务器部署在第二CDN的第二边缘服务器上。互联网视频点播系统100的请求接收模块20用于当接收到用户点播请求时,第二边缘服务器在本服务器存储系统查询用户点播请求对应的源格式流媒体文件,并交由解封装模块30执行。例如,当用户发起点播请求,边缘服务器在本服务器存储系统中寻找MP4文件,并转封装成MPEG-TS切片提供服务。
[0087] 本发明实时转封装相比现有预生成多种格式的视频文件的优势如下:
[0088] 1、节约存储:当多种HTTP流媒体格式被支持时,每一种流媒体格式必须在存储系统中保存独立的拷贝,相应带来极大的存储开销。而使用实时转封装技术,只需在存储系统中对每一个码率的文件保存一种选定的源格式文件。特别是在无缓存的CDN系统中,只需在边缘服务器中保存一份内容拷贝,将极大的减少存储开销。
[0089] 2、更好的协议扩展:当需对新的HTTP流媒体协议进行支持时,不需对所有文件进行再封装或重编码,仅需在HTTP服务器上增加相应的转封装模块。
[0090] 3、更好的CDN支持:无论CDN(Content Delivery Network,内容传输网络)系统是否支持内容缓存,实时转封装技术都可很好支持。对于支持缓存的CDN系统,可在CDN后端增加实时转封装服务器做为源服务器,经过转封装后的内容进入CDN系统,能使CDN获得更加高效的内容分发能力。对无缓存的CDN系统,则可在CDN边缘服务器上保存选定的源格式文件,并在边缘服务器上增加实时转封装模块。
[0091] 4、DRM支持:由于HTTP流媒体协议的单播特性,可把DRM集成到实时转封装服务中,动态加密请求内容。
[0092] 5、无需实时转码,不会带来播放延迟:不同于实时转码,不需对流媒体文件进行解码及再编码,只需对封装格式做一次转换,相对转码计算量要少很多,不会带来播放延迟。
[0093] 图5是本发明基于实时转封装的互联网视频点播方法的流程图,互联网视频点播方法支持基于HTTP协议的自适应流媒体播放或者渐进式下载视频播放。其可通过如图1或图2所示的互联网视频点播系统100实现,包括步骤有:
[0094] 步骤S501,存储步骤,对一种码率的流媒体文件保存选定的源格式流媒体文件。优选的是,源格式流媒体文件为MP4格式文件和/或MPEG2-TS格式文件。
[0095] 步骤S502,请求接收步骤,当接收到用户点播请求时,分析出用户点播请求对应的源格式流媒体文件和目标格式。
[0096] 步骤S503,解封装步骤,对源格式流媒体文件进行解封装,提取对应的源格式音视频流。本步骤优选的是,对源格式流媒体文件进行分析,提取对应的源格式音视频流及其媒体信息,媒体信息包括媒体文件编码信息、开始时间或序号、选择时间和/或视频帧大小。
[0097] 步骤S504,转封装步骤,根据目标格式将源格式音视频流封装成目标格式流媒体文件。本步骤优选的是,根据目标格式和媒体信息,将源格式音视频流封装成目标格式流媒体文件。根据所选流媒体播放协议不同,再封装媒体文件格式会有不同。例如,苹果HLS采用MPEG2TS文件格式,微软MSS和ADOBE HAD采用MP4文件格式。
[0098] 步骤S505,发布步骤,将目标格式流媒体文件发布给播放终端。优选的是,将目标格式流媒体文件或者播放列表文件进行HTTP响应封装,并发布给播放终端。
[0099] 图6是本发明优选基于实时转封装的互联网视频点播方法的流程图,互联网视频点播方法支持基于HTTP协议的自适应流媒体播放或者渐进式下载视频播放,其可通过如图2所示的互联网视频点播系统100实现,包括步骤有:
[0100] 步骤S601,存储步骤,对一种码率的流媒体文件保存选定的源格式流媒体文件。优选的是,源格式流媒体文件为MP4格式文件和/或MPEG2-TS格式文件。
[0101] 选择视频服务器或CDN的边缘服务器上保存的选定的源格式文件,要求包括:1、实时计算简单;2、包含流描述的元数据;3、常用格式,有相关的创建于统计工具。根据以上三个要求,有以下两种常用格式可选择,MP4文件格式和MPEG2-TS文件格式。这两种文件格式各有优势,对于渐进式下载播放,支持MP4文件格式的终端更多,而且前者对于多码率的支持相对更好,而MPET2-TS文件格式能更好的保存用户元数据,对以TS切片为基础的HLS协议来说,实时计算更简单。
[0102] 步骤S602,请求接收步骤,当接收到用户点播请求时,分析出用户点播请求对应的源格式流媒体文件和目标格式。
[0103] 步骤S603,解封装步骤,对源格式流媒体文件进行解封装,提取对应的源格式音视频流。本步骤优选的是,对源格式流媒体文件进行分析,提取对应的源格式音视频流及其媒体信息,媒体信息包括媒体文件编码信息、开始时间或序号、选择时间和/或视频帧大小。
[0104] 步骤S604,判断步骤,判断用户点播请求是获取目标格式流媒体文件还是播放列表文件,若是获取目标格式流媒体文件则执行转封装步骤S605,否则执行下述播放列表生成步骤S607。
[0105] 步骤S605,转封装步骤,根据目标格式将源格式音视频流封装成目标格式流媒体文件。本步骤优选的是,根据目标格式和媒体信息,将源格式音视频流封装成目标格式流媒体文件。
[0106] 步骤S606,加密步骤,对目标格式流媒体文件进行加密。
[0107] 步骤S607,播放列表生成步骤,根据媒体信息和预定规则生成对应的播放列表文件。根据所选流媒体播放协议不同,播放列表内容有所不同。苹果HLS使用M3U8,微软MSS和ADOBE HAD使用manifest文件。为了提高播放效率,减少网络延迟,同时由于播放列表文件很小,一般可预先生成。由于HTTP自适应类流媒体协议的多码率自适应特性,流描述信息一般由节目发布者生成,流媒体服务器不会生产,仅提供内容播放列表信息,即某种码率的播放列表文件。
[0108] 步骤S608,发布步骤,将加密后的目标格式流媒体文件或者播放列表文件发布给播放终端。
[0109] 在本发明一实施例中,互联网视频点播方法应用于实时转封装服务器,对于有缓存系统的第一内容分发网络,实时转封装服务器部署在第一内容分发网络后端。所述请求接收步骤S502或S602进一步包括:
[0110] 当接收到用户点播请求时,若第一内容分发网络的第一边缘服务器不存在用户点播请求对应的源格式流媒体文件,则第一边缘服务器通过回源从实时转封装服务器获取源格式流媒体文件并缓存在缓存系统中,再执行解封装步骤。若第一内容分发网络的第一边缘服务器存在用户点播请求对应的源格式流媒体文件,则直接执行解封装步骤。
[0111] 在本发明另一实施例中,互联网视频点播方法应用于实时转封装服务器,对于无缓存系统的第二内容分发网络,实时转封装服务器部署在第二内容分发网络的第二边缘服务器上。所述请求接收步骤S502或S602进一步包括:
[0112] 当接收到用户点播请求时,第二边缘服务器在本服务器存储系统查询用户点播请求对应的源格式流媒体文件,并执行解封装步骤。
[0113] 下面以一个商业应用描述本发明的具体实施方案。在这个应用中,为同时支持MP4渐进式下载播放及HLS播放,源格式文件采用MP4,转封装服务器实现从MP4文件到TS切片的格式转换并输出HTTP响应,具体包括如下步骤:
[0114] 1、服务器的HTTP模块接收用户提出的点播请求后,分析用户的请求URL(Uniform Resoure Locator:统一资源定位符),从URL中获取播放信息,包括源格式(MP4)文件名,切片开始时间或切片开始序号,目标格式文件类型(TS),可选的播放列表文件类型。
[0115] 2、解封装模块对源格式文件(MP4)进行分析,提取媒体信息,包括媒体文件编码信息,时长及视频帧大小,开始时间,是否关键帧,在MP4文件中开始位置等信息。
[0116] 3、判断请求是获取目标格式文件(TS切片)还是播放列表文件,并采取相应的步骤进行下一步处理。
[0117] 4、根据用户请求切片开始时间或序号,封装模块选择时间及时长内的音视频帧并封装成MPEG-TS文件。
[0118] 5、可选的播放列表模块根据步骤2获取的媒体信息,并根据一定的规则生成播放列表文件。
[0119] 6、根据用户请求对MPEG-TS切片内容进行加密,加密模块获取加密密钥,并进行AES(Advanced Encryption Standard,高级加密标准)加密。
[0120] 7、HTTP服务模块对生成的内容进行HTTP响应封装,并发送给用户。
[0121] 综上所述,本发明在存储系统中对一种码率的流媒体文件只保存一种选定的源格式流媒体文件,当收到用户点播请求时,分析出用户点播请求对应的源格式流媒体文件和目标格式,将源格式流媒体文件进行解封装成源格式音视频流,再将源格式音视频流转分装成目标格式流媒体文件后发布给用户。借此,本发明通过实时视频转封装技术,在存储系统中对一种码率的流媒体文件只保存一种选定的源格式流媒体文件,可大大减少存储开销;并且与实时转码技术不同的是,本发明不需对流媒体文件进行解码及再编码,而只需对封装格式做一次转换,相对转码的计算量要少很多,不会带来播放延迟。本发明同时支持以HTTP协议为基础的渐进式下载视频播放及自适应流媒体播放。
[0122] 当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。