CN102611690A - 一种基于超文本传输协议流化的容器格式转化方法 - Google Patents
一种基于超文本传输协议流化的容器格式转化方法 Download PDFInfo
- Publication number
- CN102611690A CN102611690A CN2011104354317A CN201110435431A CN102611690A CN 102611690 A CN102611690 A CN 102611690A CN 2011104354317 A CN2011104354317 A CN 2011104354317A CN 201110435431 A CN201110435431 A CN 201110435431A CN 102611690 A CN102611690 A CN 102611690A
- Authority
- CN
- China
- Prior art keywords
- media
- container
- format
- container format
- http
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种基于超文本传输协议流化的容器格式转化方法,涉及媒体传输领域。所述方法包括:接收媒体流,对其进行切片并解复用,存储为中间过渡媒体形式,所述中间过渡媒体形式包含了封装各种容器格式需要的参数信息。该方法应用于基于HTTP流化的且支持多种容器格式转化的媒体传输系统。本发明解决了基于HTTP流化的同一服务器对不同视频终端和不同播放器的兼容问题,对网络融合有参考价值和推进作用。
Description
技术领域
本发明涉及媒体传输技术领域,特别涉及一种基于HTTP(超文本传输协议)流化的容器格式转化方法。
背景技术
HTTP流化技术是近两年发展起来用于传输媒体流的技术,但该协议制定的最初目的是用来传输文本的协议,涉及的网络流量少。因此,利用HTTP协议传输媒体流,需要按照一定规则把长的媒体流分割为一个个较短的媒体流切片之后再进行传输。相对于传统的RTSP/RTP流化技术,HTTP流化技术不需要架设专有的服务器,使用一般的WEB服务器即可,部署成本低,另外,HTTP协议对防火墙/NAT的穿越能力也使得HTTP流化技术在Internet上的应用前景广阔。容器格式是按照一定规则设计的,适合传输和解码的媒体文件格式。压缩编码后的音视频流放在其中的不同轨道,添加一些信息以方便同时回放。一般所说的媒体文件格式或者媒体文件的后缀名就是媒体文件的容器格式,例如.MP4,.FLV等。容器的作用是把压缩编码后的视频和音频数据尽可能紧凑的排布。
容器格式一般应包括以下3个部分:
Header:标记文件类型,音视频码流的基本属性信息。
Index:索引表,视频帧frame对应的offset(位置),size(大小),timestamp(时[0007]间戳)等信息。
Stream:真正的视频音频流信息,或者称为音视频裸流。
不同的容器格式适应不同视频终端和不同播放器的播放环境,在“三网融合”的大背景下,网络媒体服务器需要对不同的媒体终端的请求响应适应该终端播放的容器格式的媒体文件。于是,基于HTTP流化的多种容器格式的转化是“三网融合”中网络媒体服务器的重要组成功能。
发明内容
技术问题:本发明的目的是提供一种基于HTTP(超文本传输协议)流化的容器格式转化方法,解决基于HTTP流化的同一服务器对不同视频终端和不同播放器的兼容问题。
技术方案:本发明的基于HTTP流化的容器格式转化方法,应用于基于HTTP流化的且支持多种容器格式转化的系统,该方法应用于基于超文本传输协议HTTP流化的且支持容器格式转化的媒体传输系统,所述容器格式,是人为设计规定的,适合传输和解码的媒体文件格式,该方法包括以下步骤:
服务器接收媒体流,对媒体流进行切片并存储媒体流切片;
设计中间过渡媒体形式,该形式包含了封装成各种媒体容器格式需要的参数信息;
将媒体流切片中的媒体内容和参数信息写入中间过渡媒体形式中;
将中间过渡媒体形式中的媒体内容和参数信息根据需要的容器格式进行容器格式的封装,封装成多种媒体容器格式的媒体流切片,发送给客户端。
所述媒体流切片,是按照包含整数个图像组GOP和确定的内容时间长度对媒体流进行分割;其中,所述确定的内容时间长度小于10秒。
所述中间过渡媒体形式,是某一种容器格式或者自定义的媒体形式。
所述封装成各种媒体容器格式所需要的参数信息,包含从媒体流切片中提取的封装成为其他容器格式所需要的指示信息,至少包括:媒体流切片中音视频数据的帧长、位置、时间戳、帧率。
所述客户端,是适应各种视频终端的各种媒体播放器软件或者各种网页播放器。
所述封装成多种媒体容器格式的媒体流切片,可以是静态方式或者动态方式;其中:
动态方式是在客户端请求某种容器格式的媒体文件时,服务器封装成该种容器格式的媒体流切片;
静态方式是服务器封装成多种容器格式的媒体流切片,等待客户端请求。
静态方式是服务器封装成多种容器格式的媒体流切片,等待客户端请求。
有益效果:本发明提供了一种基于HTTP流化的容器格式转化方法,可以方便,快速的进行媒体容器格式的转化,具有较高的转化效率,解决了网络融合中不同视频终端对应的不同播放器的融合问题,对“三网融合”有较高的参考价值。
附图说明
图1是基于HTTP流化的且支持多种容器格式转化的系统示意图,
图2是基于HTTP流化的容器格式转化方法示意图,
图3是MP4容器格式示意图。
具体实施方式
服务器接收某种容器格式的媒体流;
服务器对该媒体流进行切片和解复用,其中,切片应满足含有整数个GOP的原则,在该原则下,设定切片的长度约为t秒(0<t<10)。
进一步地,所述对该媒体流进行切片和解复用的过程,因为二者都需要解析媒体流的容器格式,提取参数,所以二者可以同时进行,也可以分别进行;
进一步地,所述对该媒体流进行切片的输出结果,是含有某种容器格式的媒体流片断,即媒体流切片;所述对该媒体流进行解复用的结果,是解析了某种容器格式的媒体流,得到去掉容器格式的音视频数据,提取了相关参数,进而解析音视频流。
所述相关参数包含从媒体流切片中提取的封装成为其他容器格式所需要的指示信息。
所述指示信息应至少包括:媒体流切片中音视频数据的帧长、位置、时间戳、帧率。
设计一种中间过渡媒体形式,用于存放音视频数据和提取的封装成为其他容器格式所需要的指示信息。
服务器通过中间过渡媒体形式,对提取的指示信息和音视频数据按照需要封装的容器格式规则封装成媒体流切片,发送给客户端。
客户端为适应不同视频终端,例如手机,PC(个人计算机)等的不同媒体播放器。
进一步地,服务器封装成各种需要的容器格式的媒体流切片可以是静态方式和动态方式。
所述动态模式,是在客户端请求某种容器格式的媒体文件时,服务器封装成该种容器格式的媒体流切片;所述静态方式,是服务器封装成多种容器格式的媒体流切片,等待客户端请求。
下面结合附图和具体实施方式对本发明做进一步描述。
本例中视频的编码方式为H.264,每个GOP第一帧为IDR帧且没有B帧;音频编码方式为AAC。
如图1是本系统的示意图,其中服务器接收的媒体流为TS流,客户端可以是手机,PC机和连接具有IP功能的机顶盒的电视机。服务器根据客户端需要输出为MP4、FLV、TS容器格式的媒体流切片的一种或者几种,分别适应不同视频终端的不同播放器环境。其中,MP4容器格式对应手机客户端,TS容器格式对应电视机,这三种容器格式的媒体文件都可以在PC机上进行播放。
如图2是本方法的示意图,其中媒体流切片和解复用同时进行,媒体流切片的输出为TS切片,提取的各种参数包括TS切片中的音视频各帧时间戳、大小、帧长、音视频数据,TS切片的比特率、编码方式等。
进一步地,输出的TS切片为含有整数个GOP,时长约5秒的切片。
设计中间过渡媒体形式,本例中采用在TS切片后加一个用户自定义字段,其格式如下:
由于本例中视频编码方式采用H.264,补充数据中添加spps(序列参数集和图像参数集)。
1.由中间过渡媒体形式转化为FLV容器格式
FLV容器格式是由一个个的Tag组成的,分为三种类型:audio tag,video tag,script tag。其中script tag包含了一种重要的metadata tag。metadata tag中包含了媒体流的信息,需要在每个封装的FLV切片提供metadata tag,保证解码播放的正确进行。
Metadata tag | 中间过渡媒体形式 |
hasvideo | if(duration_video>0)has video=1 |
hasaudio | if(duration_audio>0)has audio=1 |
width | width |
height | height |
videodatarate | bitrate_video |
framerate | 可从补充数据中的spps获得 |
audiosamplerate | bitrates_audio |
audiosamplesize | sample_size |
stereo | channels |
filesize | 可在封装完该切片后计算得出 |
表1FLV metadata封装与中间过渡媒体形式的对应关系
表1是metadata tag中的信息与中间过渡媒体形式中变量的对应关系,由这个对应关系,按照FLV容器的格式,可以封装出metadata tag。
[0073]video tag和audio tag中需要填充时间戳和音视频数据,一般一个tag中包含一帧或者几帧音视频信息。其中视频的时间戳可以由中间过渡媒体形式的start_time和sample_dura_video[]得出,视频流由*stream_video的数据填充,对于H.264视频流来说,需要将起始码00 00 00 01或者00 00 01转换为数据的大小;音频的时间戳可以由start_time和sample_dura_audio得出,音频流由*stream_audio的数据填充,对于AAC音频流来说,需要去除adts头信息。除了以上需要填充的信息,封装FLV容器格式还有一些固定的头信息,这些只需要根据FLV容器格式的规定进行封装即可。
2.由中间过渡媒体形式转化为MP4容器格式
下边是关于MP4容器格式一些基本概念。
sample:video sample即为一帧视频,或一组连续视频帧,audio sample即为一段连续的压缩音频,它们统称sample;
track:表示一些sample的集合,对于媒体数据来说,track表示一个视频或音频序列;
chunk:一个track的几个sample组成的单元。
MP4容器格式是一种逐级套嵌的容器格式。MP4容器格式是由若干个box组成,每个box有类型和长度,可以填充不同的信息或者数据。box可以理解为一个数据对象块,有些box中可以包含其他box。每个box都有固定的格式和需要填充的信息,其中填充信息和数据比较多且比较重要的box为stbl box(sample tablebox),该box包含了sample所有时间和位置的信息,以及sample的编解码等信息,是MP4最复杂的box,可以含有stsd,stts,stsz等下一级box。
stsd(sample description box):该box必不可少,包含了数据类型信息和编码的信息,其中视频的编码类型可由中间过渡媒体形式的codec_video得出,宽高分别由width和height得出;音频的声道由channels得出,音频编码方式由codec_audio得出。
stts(Time To Sample Box):存储了sample的时长信息,描述了sample时序的映射方法,我们通过它可以找到任何时间的sample。其中sample的时长信息可以由中间过渡媒体形式的sample_dura_video[]或者sample_dura_audio得出。
stsz(Sample Size Box):包含每个sample的大小信息,可以由sample_size_video[]或者sample_size_audio得出。
另外,mdat box中存储的是音视频流,对于H.264视频流来说,需要将起始码00 00 00 01或者00 00 01转换为数据的大小;对于AAC音频流来说,需要去除adts头信息。
其他box中除了一些固定的头信息的box外,包含一些映射表或者映射关系,这需要根据MP4容器格式的规定进行封装即可。
以上为本发明的一个实例,其中设计的中间过渡媒体形式为接收媒体流容器格式的切片后附加用户自定义字段,存储封装其他容器格式需要的信息,除此之外,本发明还可以有其他实施方案。
本实例为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围内。
Claims (6)
1.一种基于超文本传输协议流化的容器格式转化方法,其特征在于,该方法应用于基于超文本传输协议HTTP流化的且支持容器格式转化的媒体传输系统,所述容器格式,是人为设计规定的,适合传输和解码的媒体文件格式,该方法包括以下步骤:
服务器接收媒体流,对媒体流进行切片并存储媒体流切片;
设计中间过渡媒体形式,该形式包含了封装成各种媒体容器格式需要的参数信息;
将媒体流切片中的媒体内容和参数信息写入中间过渡媒体形式中;
将中间过渡媒体形式中的媒体内容和参数信息根据需要的容器格式进行容器格式的封装,封装成多种媒体容器格式的媒体流切片,发送给客户端。
2.根据权利要求1所述的一种基于超文本传输协议流化的容器格式转化方法,其特征在于,所述媒体流切片,是按照包含整数个图像组GOP和确定的内容时间长度对媒体流进行分割;其中,所述确定的内容时间长度小于10秒。
3.根据权利要求1所述的一种基于超文本传输协议流化的容器格式转化方法,其特征在于,所述中间过渡媒体形式,是某一种容器格式或者自定义的媒体形式。
4.根据权利要求1所述的一种基于超文本传输协议流化的容器格式转化方法,其特征在于,所述封装成各种媒体容器格式所需要的参数信息,包含从媒体流切片中提取的封装成为其他容器格式所需要的指示信息,至少包括:媒体流切片中音视频数据的帧长、位置、时间戳、帧率。
5.根据权利要求1所述的一种基于超文本传输协议流化的容器格式转化方法,其特征在于,所述客户端,是适应各种视频终端的各种媒体播放器软件或者各种网页播放器。
6.根据权利要求1所述的一种基于超文本传输协议流化的容器格式转化方法,其特征在于,所述封装成多种媒体容器格式的媒体流切片,可以是静态方式或者动态方式;其中:动态方式是在客户端请求某种容器格式的媒体文件时,服务器封装成该种容器格式的媒体流切片;
静态方式是服务器封装成多种容器格式的媒体流切片,等待客户端请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104354317A CN102611690A (zh) | 2011-12-22 | 2011-12-22 | 一种基于超文本传输协议流化的容器格式转化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104354317A CN102611690A (zh) | 2011-12-22 | 2011-12-22 | 一种基于超文本传输协议流化的容器格式转化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102611690A true CN102611690A (zh) | 2012-07-25 |
Family
ID=46528846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104354317A Pending CN102611690A (zh) | 2011-12-22 | 2011-12-22 | 一种基于超文本传输协议流化的容器格式转化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102611690A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103024528A (zh) * | 2013-01-07 | 2013-04-03 | 杭州浦禾通信技术有限公司 | 在移动终端上实现流媒体数据发送的方法及移动终端 |
WO2014183478A1 (en) * | 2013-05-17 | 2014-11-20 | Tencent Technology (Shenzhen) Company Limited | Video encoding method and apparatus |
CN105357229A (zh) * | 2015-12-22 | 2016-02-24 | 深圳市科漫达智能管理科技有限公司 | 一种视频处理方法及装置 |
CN105704581A (zh) * | 2016-01-25 | 2016-06-22 | 互联天下科技发展(深圳)有限公司 | 基于mp4文件格式的http实时视频传输方法 |
WO2017167194A1 (zh) * | 2016-03-29 | 2017-10-05 | 万维数码有限公司 | 一种提升视频分辨率和视频质量的方法、编码器及解码器 |
CN107483471A (zh) * | 2017-09-05 | 2017-12-15 | 成都索贝数码科技股份有限公司 | 一种适用于异地协作的多媒体数据传输系统 |
CN107809684A (zh) * | 2017-10-27 | 2018-03-16 | 广东省南方数字电视无线传播有限公司 | 视频切片生成方法和装置、缓存服务器 |
US9936266B2 (en) | 2013-05-17 | 2018-04-03 | Tencent Technology (Shenzhen) Company Limited | Video encoding method and apparatus |
CN107888941A (zh) * | 2017-10-27 | 2018-04-06 | 广东省南方数字电视无线传播有限公司 | 视频切片传输方法、装置和系统 |
CN109076261A (zh) * | 2016-02-16 | 2018-12-21 | 诺基亚技术有限公司 | 媒体封装和解封装 |
CN110545471A (zh) * | 2018-05-29 | 2019-12-06 | 北京字节跳动网络技术有限公司 | 基于离线转换的播放控制方法、装置及存储介质 |
CN111866602A (zh) * | 2020-06-19 | 2020-10-30 | 成都东方盛行电子有限责任公司 | 一种无损高精度的流采集方法 |
CN113949567A (zh) * | 2016-04-15 | 2022-01-18 | 瑞典爱立信有限公司 | 用户设备容器和网络切片 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1868184A (zh) * | 2003-10-17 | 2006-11-22 | 艾利森电话股份有限公司 | 用于多媒体显示的容器格式 |
CN101984619A (zh) * | 2010-10-12 | 2011-03-09 | 中兴通讯股份有限公司 | 一种流媒体业务的实现方法及系统 |
CN102131106A (zh) * | 2010-12-22 | 2011-07-20 | 华为技术有限公司 | 流媒体内容的播放方法、装置及系统 |
-
2011
- 2011-12-22 CN CN2011104354317A patent/CN102611690A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1868184A (zh) * | 2003-10-17 | 2006-11-22 | 艾利森电话股份有限公司 | 用于多媒体显示的容器格式 |
CN101984619A (zh) * | 2010-10-12 | 2011-03-09 | 中兴通讯股份有限公司 | 一种流媒体业务的实现方法及系统 |
CN102131106A (zh) * | 2010-12-22 | 2011-07-20 | 华为技术有限公司 | 流媒体内容的播放方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
HAAKON RIISER 等: "Low Overhead Container Format for Adaptive Streaming", 《MMSYS’10 PROCEEDINGS OF THE FIRST ANNUAL ACM SIGMM CONFERENCE ON MULTIMEDIA SYSTEM》, 23 February 2010 (2010-02-23) * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103024528A (zh) * | 2013-01-07 | 2013-04-03 | 杭州浦禾通信技术有限公司 | 在移动终端上实现流媒体数据发送的方法及移动终端 |
WO2014183478A1 (en) * | 2013-05-17 | 2014-11-20 | Tencent Technology (Shenzhen) Company Limited | Video encoding method and apparatus |
US9936266B2 (en) | 2013-05-17 | 2018-04-03 | Tencent Technology (Shenzhen) Company Limited | Video encoding method and apparatus |
CN105357229A (zh) * | 2015-12-22 | 2016-02-24 | 深圳市科漫达智能管理科技有限公司 | 一种视频处理方法及装置 |
CN105704581A (zh) * | 2016-01-25 | 2016-06-22 | 互联天下科技发展(深圳)有限公司 | 基于mp4文件格式的http实时视频传输方法 |
CN109076261A (zh) * | 2016-02-16 | 2018-12-21 | 诺基亚技术有限公司 | 媒体封装和解封装 |
WO2017167194A1 (zh) * | 2016-03-29 | 2017-10-05 | 万维数码有限公司 | 一种提升视频分辨率和视频质量的方法、编码器及解码器 |
US11051080B2 (en) | 2016-03-29 | 2021-06-29 | Marvel Digital Limited | Method for improving video resolution and video quality, encoder, and decoder |
CN113949567B (zh) * | 2016-04-15 | 2023-10-13 | 瑞典爱立信有限公司 | 用户设备容器和网络切片 |
CN113949567A (zh) * | 2016-04-15 | 2022-01-18 | 瑞典爱立信有限公司 | 用户设备容器和网络切片 |
CN107483471B (zh) * | 2017-09-05 | 2021-03-02 | 成都索贝数码科技股份有限公司 | 一种适用于异地协作的多媒体数据传输系统 |
CN107483471A (zh) * | 2017-09-05 | 2017-12-15 | 成都索贝数码科技股份有限公司 | 一种适用于异地协作的多媒体数据传输系统 |
CN107888941A (zh) * | 2017-10-27 | 2018-04-06 | 广东省南方数字电视无线传播有限公司 | 视频切片传输方法、装置和系统 |
CN107809684B (zh) * | 2017-10-27 | 2018-10-09 | 广东省南方数字电视无线传播有限公司 | 视频切片生成方法和装置、缓存服务器 |
CN107888941B (zh) * | 2017-10-27 | 2018-10-09 | 广东省南方数字电视无线传播有限公司 | 视频切片传输方法、装置和系统 |
CN107809684A (zh) * | 2017-10-27 | 2018-03-16 | 广东省南方数字电视无线传播有限公司 | 视频切片生成方法和装置、缓存服务器 |
CN110545471A (zh) * | 2018-05-29 | 2019-12-06 | 北京字节跳动网络技术有限公司 | 基于离线转换的播放控制方法、装置及存储介质 |
CN110545471B (zh) * | 2018-05-29 | 2021-12-14 | 北京字节跳动网络技术有限公司 | 基于离线转换的播放控制方法、装置及存储介质 |
CN111866602A (zh) * | 2020-06-19 | 2020-10-30 | 成都东方盛行电子有限责任公司 | 一种无损高精度的流采集方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102611690A (zh) | 一种基于超文本传输协议流化的容器格式转化方法 | |
CN102859933B (zh) | 用于提供特技播放服务的方法和装置 | |
JP2023138806A (ja) | ハイパーテキスト転送プロトコルを使用してMatroskaコンテナファイル中に記憶されるメディアの適応型ビットレートストリーミング | |
US10425666B2 (en) | Method and apparatus for adaptive streaming using segmentation | |
KR101594351B1 (ko) | 다수의 소스들로부터의 멀티미디어 데이터의 스트리밍 | |
AU2018244288A1 (en) | Signaling important video information in network video streaming using mime type parameters | |
CN109076229A (zh) | 在图片中最感兴趣的区域 | |
CN103765914A (zh) | 经译码视频数据的网络流式传输 | |
CN101802823A (zh) | 用于流式多媒体数据的分段的元数据和位标 | |
JP7099510B2 (ja) | 受信装置および受信方法 | |
CN102771081A (zh) | 发送和接收数据的方法和装置 | |
CN105230006A (zh) | 保存方法、再现方法、保存装置及再现装置 | |
KR20200024207A (ko) | 파일 포맷 박스들에 대한 제네릭 디스크립터를 사용한 미디어 데이터의 프로세싱 | |
JP7238948B2 (ja) | 情報処理装置および情報処理方法 | |
CN105208440A (zh) | 一种mp4格式视频在线播放的方法及系统 | |
CN104602105A (zh) | 视频文件的播放方法及用户设备 | |
WO2004086765A1 (ja) | データ送信装置 | |
CN103905922A (zh) | 一种基于http协议的流媒体协议封装方法及装置 | |
CN102723104A (zh) | 基于mp4文件封装格式的多媒体录播系统 | |
CN107615768A (zh) | 发送装置、发送方法、接收装置和接收方法 | |
CN105704581A (zh) | 基于mp4文件格式的http实时视频传输方法 | |
JP2021197584A (ja) | 多重信号変換装置及びそのプログラム、並びに、受信機 | |
CN104618735A (zh) | 编码或解码jpeg 2000视频的传输系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120725 |