[发明专利]一种基于http协议的流媒体协议封装方法及装置有效
申请号: | 201410101622.3 | 申请日: | 2014-03-18 |
公开(公告)号: | CN103905922B | 公开(公告)日: | 2017-08-25 |
发明(设计)人: | 张磊 | 申请(专利权)人: | 深圳市云宙多媒体技术有限公司 |
主分类号: | H04N21/643 | 分类号: | H04N21/643;H04N21/845;H04N21/83 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518057 广东省深圳市南山区科技园中*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 http 协议 流媒体 封装 方法 装置 | ||
技术领域
本发明涉及互联网通信技术领域,尤其涉及一种基于http协议的流媒体协议封装方法及装置。
背景技术
HTTP(HyperText Transfer Protocol,超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。
HTTP协议的主要特点可概括如下:
1.支持客户/服务器模式。
2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
HLS(HTTP Live Streaming)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含元数据的extended M3U(m3u8)playlist文件,用于寻找可用的媒体流。HLS只请求基本的HTTP报文,与实时传输协议(RTP)不同,HLS可以穿过任何允许HTTP数据通过的防火墙或者代理服务器。它也很容易使用内容分发网络来传输媒体流。
目前HTTP协议在网络应用中无所不在,HTTP协议能被绝大部分的路由器、服务器支持,因此使用HTTP协议作为流媒体的基础协议相对其他比如RTSP具有更好的网络兼容性和亲和性。但是,目前基于HTTP的HLS协议采用MPEG2-TS流作为封装,HLS使用的是mpeg2ts的流封装,每188个字节一个ts包,每个包包含头部,如果不足188字节,还需要填充0xff,额外增加了数据量,在hls索引文件中,每个ts都带有标识信息和绝对的路径信息(HTTP目录信息),每个.ts文件的绝对路径信息都是一样的,不同就是他们文件名字,因此存在大量的冗余信息;ts流的协议开销太大,传输效率不高,所以本发明提出一种新的基于http协议的流媒体协议,可支持流媒体数据的直播和点播。
发明内容
本发明实施例的目的在于提出一种基于http协议的流媒体协议封装方法,旨在解决现有HLS协议过于复杂,协议开销过大,传输效率不高的问题。
本发明实施例是这样实现的,一种基于http协议的流媒体协议封装方法,所述方法包括以下步骤:
预先建立媒体数据的封装文件,所述封装文件定义了媒体数据包的特定封装格式和相应的索引信息,所有视频包和音频包按照输入的时间顺序存放在所述封装文件中;
获取编码后的媒体数据,判断所述媒体数据的类型,
若媒体数据为视频数据,则将所述视频数据中的视频帧按照视频对应的特定封装格式进行封装;
若媒体数据为音频数据,则将所述音频数据中的音频帧按照音频对应的特定封装格式进行封装;若媒体数据为空,则退出;
将封装后的视频包或音频包存储到所述封装文件中;
判断所述封装后的视频包或音频包时间大小是否不小于所述切片时间大小,
若是则同步更新所述封装后的视频包或音频包相应的索引信息;
如否则返回步骤“获取编码后的媒体数据,判断所述媒体数据的类型”。
所述媒体数据包的特定封装格式具体为:
每个媒体数据包头长度为2个字节,2字节头部信息0-15位的格式如下:
第0-2位用于存储版本标记;
第3-5位用于存储负荷类型;
第6位用于存储0或1,其中0表示头后面是4字节的解码时间戳,1表示解码时间戳后面,紧跟4字节的显示时间戳;
第7位为空;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市云宙多媒体技术有限公司,未经深圳市云宙多媒体技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410101622.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:半导体制造装置用构件
- 下一篇:微针熔着法