一种基于超文本传输协议流化的容器格式转化方法

文档序号:7792509阅读:398来源:国知局
专利名称:一种基于超文本传输协议流化的容器格式转化方法
技术领域
本发明涉及媒体传输技术领域,特别涉及一种基于HTTP (超文本传输协议)流化的容器格式转化方法。
背景技术
HTTP流化技术是近两年发展起来用于传输媒体流的技术,但该协议制定的最初目的是用来传输文本的协议,涉及的网络流量少。因此,利用HTTP协议传输媒体流,需要按照一定规则把长的媒体流分割为一个个较短的媒体流切片之后再进行传输。相对于传统的 RTSP/RTP流化技术,HTTP流化技术不需要架设专有的服务器,使用一般的WEB服务器即可, 部署成本低,另外,HTTP协议对防火墙/NAT的穿越能力也使得HTTP流化技术在Internet 上的应用前景广阔。容器格式是按照一定规则设计的,适合传输和解码的媒体文件格式。压缩编码后的音视频流放在其中的不同轨道,添加一些信息以方便同时回放。一般所说的媒体文件格式或者媒体文件的后缀名就是媒体文件的容器格式,例如.MP4,.FLV等。容器的作用是把压缩编码后的视频和音频数据尽可能紧凑的排布。容器格式一般应包括以下3个部分Header :标记文件类型,音视频码流的基本属性信息。Index :索引表,视频中贞frame对应的offset (位置),size (大小),timestamp (时间戳)等信息。Stream :真正的视频音频流信息,或者称为音视频裸流。不同的容器格式适应不同视频终端和不同播放器的播放环境,在“三网融合”的大背景下,网络媒体服务器需要对不同的媒体终端的请求响应适应该终端播放的容器格式的媒体文件。于是,基于HTTP流化的多种容器格式的转化是“三网融合”中网络媒体服务器的重要组成功能。

发明内容
技术问题本发明的目的是提供一种基于HTTP (超文本传输协议)流化的容器格式转化方法,解决基于HTTP流化的同一服务器对不同视频终端和不同播放器的兼容问题。技术方案本发明的基于HTTP流化的容器格式转化方法,应用于基于HTTP流化的且支持多种容器格式转化的系统,该方法应用于基于超文本传输协议HTTP流化的且支持容器格式转化的媒体传输系统,所述容器格式,是人为设计规定的,适合传输和解码的媒体文件格式,该方法包括以下步骤服务器接收媒体流,对媒体流进行切片并存储媒体流切片;设计中间过渡媒体形式,该形式包含了封装成各种媒体容器格式需要的参数信息;将媒体流切片中的媒体内容和参数信息写入中间过渡媒体形式中;将中间过渡媒体形式中的媒体内容和参数信息根据需要的容器格式进行容器格式的封装,封装成多种媒体容器格式的媒体流切片,发送给客户端。所述媒体流切片,是按照包含整数个图像组GOP和确定的内容时间长度对媒体流进行分割;其中,所述确定的内容时间长度小于10秒。所述中间过渡媒体形式,是某一种容器格式或者自定义的媒体形式。所述封装成各种媒体容器格式所需要的参数信息,包含从媒体流切片中提取的封装成为其他容器格式所需要的指示信息,至少包括媒体流切片中音视频数据的帧长、位置、时间戳、帧率。所述客户端,是适应各种视频终端的各种媒体播放器软件或者各种网页播放器。所述封装成多种媒体容器格式的媒体流切片,可以是静态方式或者动态方式;其中动态方式是在客户端请求某种容器格式的媒体文件时,服务器封装成该种容器格式的媒体流切片;静态方式是服务器封装成多种容器格式的媒体流切片,等待客户端请求。静态方式是服务器封装成多种容器格式的媒体流切片,等待客户端请求。有益效果本发明提供了一种基于HTTP流化的容器格式转化方法,可以方便,快速的进行媒体容器格式的转化,具有较高的转化效率,解决了网络融合中不同视频终端对应的不同播放器的融合问题,对“三网融合”有较高的参考价值。


图I是基于HTTP流化的且支持多种容器格式转化的系统示意图,图2是基于HTTP流化的容器格式转化方法示意图,图3是MP4容器格式示意图。
具体实施例方式服务器接收某种容器格式的媒体流;服务器对该媒体流进行切片和解复用,其中,切片应满足含有整数个GOP的原则, 在该原则下,设定切片的长度约为t秒(O < t < 10)。进一步地,所述对该媒体流进行切片和解复用的过程,因为二者都需要解析媒体流的容器格式,提取参数,所以二者可以同时进行,也可以分别进行;进一步地,所述对该媒体流进行切片的输出结果,是含有某种容器格式的媒体流片断,即媒体流切片;所述对该媒体流进行解复用的结果,是解析了某种容器格式的媒体流,得到去掉容器格式的音视频数据,提取了相关参数,进而解析音视频流。所述相关参数包含从媒体流切片中提取的封装成为其他容器格式所需要的指示信息。所述指示信息应至少包括媒体流切片中音视频数据的帧长、位置、时间戳、帧率。设计一种中间过渡媒体形式,用于存放音视频数据和提取的封装成为其他容器格式所需要的指示信息。服务器通过中间过渡媒体形式,对提取的指示信息和音视频数据按照需要封装的容器格式规则封装成媒体流切片,发送给客户端。
客户端为适应不同视频终端,例如手机,PC(个人计算机)等的不同媒体播放器。进一步地,服务器封装成各种需要的容器格式的媒体流切片可以是静态方式和动态方式。所述动态模式,是在客户端请求某种容器格式的媒体文件时,服务器封装成该种容器格式的媒体流切片;所述静态方式,是服务器封装成多种容器格式的媒体流切片,等待客户端请求。下面结合附图和具体实施方式
对本发明做进一步描述。本例中视频的编码方式为H. 264,每个GOP第一帧为IDR帧且没有B帧;音频编码方式为AAC。如图I是本系统的示意图,其中服务器接收的媒体流为TS流,客户端可以是手机, PC机和连接具有IP功能的机顶盒的电视机。服务器根据客户端需要输出为MP4、FLV、TS 容器格式的媒体流切片的一种或者几种,分别适应不同视频终端的不同播放器环境。其中, MP4容器格式对应手机客户端,TS容器格式对应电视机,这三种容器格式的媒体文件都可以在PC机上进行播放。如图2是本方法的示意图,其中媒体流切片和解复用同时进行,媒体流切片的输出为TS切片,提取的各种参数包括TS切片中的音视频各帧时间戳、大小、帧长、音视频数据,TS切片的比特率、编码方式等。进一步地,输出的TS切片为含有整数个G0P,时长约5秒的切片。设计中间过渡媒体形式,本例中采用在TS切片后加一个用户自定义字段,其格式如下Aligned(8) class DemuxTS { unsigned int(32) seq; //当前切片的顺序号 unsigned int(8) codec—id; //音视频标识 if(codec—id == video)
{
unsigned int(32) bitrate_video; //视频的比特率 unsigned int(32) start—time—video; //视频的开始时间
unsigned int(32) duration_video; //当前切片的视频总时长 unsigned int(32) codec—video; //视频的编码方式,这里为 H.264 unsigned int(32) width; //视频图像的宽 unsigned int(32) height; //视频图像的高 unsigned int(32) sample—size—video[ ]; //视频每一巾贞的大小 unsigned int(32) sample—dura—video[ ]; //视频每一巾贞的时长 unsigned int(8) * stream—video; //视步页流
}
if(codec—id == audio)
{
unsigned int(32) bitrates—audio; //音频的比特率 unsigned int(32) start—time—audio; //音频的开始时间 unsigned int(32) duration_audio;//当前切片的音频总时长 unsigned int(32) codec—audio //音频的编码方式,这里为 AAC unsigned int(32) sample—size—audio; //音步页中贞大,J、 unsigned int(32) sample—dura—audio; //音频巾贞时长 unsigned int(32) channels; //音频的声道数 unsigned int(8) * stream—audio; //音步页流 }
unsigned int(8) *free—data; //补充数据,可根据需要添加
}由于本例中视频编码方式釆用H. 264,补充数据中添加spps (序列参数集和图像参数集)。I.由中间过渡媒体形式转化为FLV容器格式FLV容器格式是由一个个的Tag组成的,分为三种类型audio tag, video tag, script tag。其中 script tag 包含了一种重要的 metadata tag。metadata tag 中包含了媒体流的信息,需要在每个封装的FLV切片提供metadata tag,保证解码播放的正确进行。
权利要求
1.一种基于超文本传输协议流化的容器格式转化方法,其特征在于,该方法应用于基于超文本传输协议HTTP流化的且支持容器格式转化的媒体传输系统,所述容器格式,是人为设计规定的,适合传输和解码的媒体文件格式,该方法包括以下步骤服务器接收媒体流,对媒体流进行切片并存储媒体流切片;设计中间过渡媒体形式,该形式包含了封装成各种媒体容器格式需要的参数信息;将媒体流切片中的媒体内容和参数信息写入中间过渡媒体形式中;将中间过渡媒体形式中的媒体内容和参数信息根据需要的容器格式进行容器格式的封装,封装成多种媒体容器格式的媒体流切片,发送给客户端。
2.根据权利要求I所述的一种基于超文本传输协议流化的容器格式转化方法,其特征在于,所述媒体流切片,是按照包含整数个图像组GOP和确定的内容时间长度对媒体流进行分割;其中,所述确定的内容时间长度小于10秒。
3.根据权利要求I所述的一种基于超文本传输协议流化的容器格式转化方法,其特征在于,所述中间过渡媒体形式,是某一种容器格式或者自定义的媒体形式。
4.根据权利要求I所述的一种基于超文本传输协议流化的容器格式转化方法,其特征在于,所述封装成各种媒体容器格式所需要的参数信息,包含从媒体流切片中提取的封装成为其他容器格式所需要的指示信息,至少包括媒体流切片中音视频数据的帧长、位置、 时间戳、帧率。
5.根据权利要求I所述的一种基于超文本传输协议流化的容器格式转化方法,其特征在于,所述客户端,是适应各种视频终端的各种媒体播放器软件或者各种网页播放器。
6.根据权利要求I所述的一种基于超文本传输协议流化的容器格式转化方法,其特征在于,所述封装成多种媒体容器格式的媒体流切片,可以是静态方式或者动态方式;其中 动态方式是在客户端请求某种容器格式的媒体文件时,服务器封装成该种容器格式的媒体流切片;静态方式是服务器封装成多种容器格式的媒体流切片,等待客户端请求。
全文摘要
本发明公开了一种基于超文本传输协议流化的容器格式转化方法,涉及媒体传输领域。所述方法包括接收媒体流,对其进行切片并解复用,存储为中间过渡媒体形式,所述中间过渡媒体形式包含了封装各种容器格式需要的参数信息。该方法应用于基于HTTP流化的且支持多种容器格式转化的媒体传输系统。本发明解决了基于HTTP流化的同一服务器对不同视频终端和不同播放器的兼容问题,对网络融合有参考价值和推进作用。
文档编号H04L29/06GK102611690SQ20111043543
公开日2012年7月25日 申请日期2011年12月22日 优先权日2011年12月22日
发明者刘峰, 王欣 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1