一种音视频流传输方法技术

技术编号:13186327 阅读:36 留言:0更新日期:2016-05-11 16:41
本发明专利技术涉及一种音视频流传输方法,该方法目的是在系统资源不足的音视频流传输系统中,不使用庞大复杂的完整RTP协议,实现基于RTP协议的音视频流实时传输。该方法包括:RTP协议的简易实现方法和音视频流基于该简易RTP协议进行传输的实现方法。该方法既能够实现RTP协议的网络传输功能又能大量节省系统资源。

【技术实现步骤摘要】

本专利技术属于计算机网络应用领域,设及。
技术介绍
RTP是针对Internet上多媒体数据流的一个传输协议。被定义为在一对一或一对 多的传输情况下工作,其目的是提供时间信息和实现流同步。RTP协议在音视频流实时传输 中被广泛应用。虽然RTP协议是一个成熟的传输协议,但是其代码很庞大并且数据处理很复 杂,需要占用大量的系统资源,所W在许多资源有限的系统中,要实现RTP协议的功能是很 困难的。
技术实现思路
为了解决在系统资源不足的音视频流传输系统中,不使用庞大复杂的完整RTP协 议的技术问,本专利技术提供,实现基于RTP协议的音视频流实时传输。 本专利技术的技术解决方案: -种音视频流传输方法,音视频流基于RTP协议进行传输,具体包括W下步骤: 1)建立RTP协议首部的数据结构; 建立RTP协议定义的字段;RTP协议定义的字段包括版本号(V)、填充位(P)、扩展位 (X)、CSRC计数器(CC)、标记位(M)、载荷类型(PT)、序列号(SN)、时间戳、同步源标识符 (SSRC)和贡献源列表(CSRC List);[000引 2)准备发送: 2.1)对音视频数据进行分类得到视频数据和音频数据; 2.2)根据用户需求将视频数据或音频数据分成大小合适的包后; 2.3)步骤1)建立的字段赋值后封装在待发送数据包的前端; 3)用UDP/IP协议找对封装好的音视频数据进行发送; 4)接收端接收到数据后,根据RTP协议对数据带有的封装字段进行解析。 上述步骤4)具体为: 4.1)建立RTP协议首部的数据结构; 4.2)每次接收到数据后,用RTP首部的数据结构获取数据包的RTP首部数据并进行 解析; 4.3)根据解析的数据如下操作: 根据载荷类型,进行视频数据包、音频数据包和非音视频数据包分类; 根据序列号和标记位,进行视频帖和音频帖的重组; 根据时间戳,进行音视频的同步和实时。 步骤2.3)具体为: 载荷类型(PT):用来判断视频数据包和音频数据包; 序列号(SN):用来调整数据包顺序和判断数据包是否丢失; 时间戳(Timestamp):保证实时性W及音频和视频的同步; 标记位(M):标记一帖的开始或结束,用来进行一帖完整数据的重组。本专利技术所具有的有益效果: 1、本专利技术音视频流传输方法在系统资源不足的音视频流传输系统中,不使用庞大 复杂的完整RTP协议,实现基于RTP协议的音视频流实时传输。 2、本专利技术音视频流传输方法提供了 RTP协议的简易实现方法和音视频流基于该简 易RTP协议进行传输的实现方法,运样既能够实现RTP协议的网络传输功能又能大量节省系 统资源,与利用原始RTP协议进行传输的方法占用系统资源相对比,结果如下表所示,其中 代码总量下降了 94.3 %,代码运行占用空间下降了 66.7 %。 表1资源占用比较表 【附图说明】图1为简易的音视频流传输方法流程图; 图2为RTP协议首部格式。【具体实施方式】 下面对本专利技术做进一步详细描述: ,包括:RTP协议的简易实现方法和音视频流基于简易RTP 协议进行传输的实现方法。 所述RTP协议的简易实现方法中,RTP协议的目的是保证音视频流在传输时的实时 和同步。 RTP协议封装如图2所示。具体含义如下: 版本号(V):化k特,用来标志使用的RTP版本。 填充位(P) :1比特,如果该位置位,则该RTP包的尾部就包含附加的填充字节。 扩展位(X) :1比特,如果该位置位,则RTP固定头部后面就跟有一个扩展头部。 CSRC计数器(CC) :4比特,含有固定头部后面跟着的CSRC的数目。 标记位(M): 1比特,标志的解释由具体协议规定。它用来在比特流中标记重要的事 件,如帖边界。 载荷类型(PT) :7比特,标识了RTP载荷的类型。 序列号(SN): 16比特,发送方在每发送完一个RTP包后就将该域的值增加1,接收方 可W由该域检测包的丢失及恢复包序列。序列号的初始值是随机的。 时间戳:32比特,记录了该包中数据的第一个字节的采样时刻。在一次会话开始 时,时间戳初始化成一个初始值。即使在没有信号发送时,时间戳的数值也要随时间而不断 地增加。时间戳是去除抖动和实现同步不可缺少的。 同步源标识符(SSRC): 32比特,同步源就是指RTP包流的来源。在同一个RTP会话中 不能有两个相同的SSRC值。该标识符是随机选取的。 贡献源列表(CSRC List) :0~15项,每项32比特,用来标志对一个RTP混合器产生 的新包有贡献的所有RTP包的源。由混合器将运些有贡献的SSRC标识符插入表中。SSRC标识 符都被列出来,W便接收端能正确指出交谈双方的身份。 在使用时,将W上数据字段封装成数据结构,再给数据结构附上正确的值,然后封 装在要发送数据的前端,进行发送,接收端接收到数据后,根据RTP封装各字段含义进行解 析即可,运样就可W简易的实现RTP协议的基本功能,并且相较于原始RTP协议能够节省大 量的系统资源。 所述音视频流基于简易RTP协议进行传输的实现方法中,RTP协议的各字段是可W 灵活应用的。进行音视频流的传输时,其中主要字段具体应用如下: 载荷类型(PT):用来判断视频包和音频包。例如:0b0000000表示音频包, ObOOOOOO 1表示视频。 序列号(SN):用来调整包顺序和判断包是否丢失。在发送端,各种类型的数据包每 发送一次,其各自的序列号加1;在接收端,根据收到包的序列号重组数据。 时间戳(Timestamp):保证其实时性和音视频的同步。每个数据包在发送时都加上 当前系统时间,接收到数据包后根据该字段进行音视频同步和判断是否实时。 标记位(M):标记一帖的开始或结束,用来进行一帖完整数据的重组。一般用化1表 示一帖音频数据或一帖视频数据的起始包,用化0表示普通音视频数据包。 根据W上各字段的具体应用,再结合RTP协议的简易实现方法,就可W实现音视频 数据基于RTP协议进行传输。具体步骤如下: 发送端: 步骤1、建立RTP首部的数据结构后; 步骤2、对音视频数据进行分类和分包,把一视频或音频数据分成大小合适的包 后,进行发送; 步骤3、每次发送数据时,在RTP首部的数据结构中填上正确值,然后对数据包进行 封装;[005引步骤4、用UDP/IP协议找对封装好的数据进行发送。[00别接收端: 步骤1、建立RTP首部的数据结构; 步骤2、每次接收到数据后,用RTP首部的数据结构获取数据包的RTP首部数据并进 行解析; 步骤3、根据解析的数据实现如下功能:根据载荷类型,判别视频包和音频包或其 他包;根据序列号和标记位,实现视频帖和音频帖的重组;根据时间戳,实现音视频的同步 和实时。【主权项】1. ,其特征在于:音视频流基于RTP协议进行传输,具体包括以 下步骤: 1) 建立RTP协议首部的数据结构; 建立RTP协议定义的字段;RTP协议定义的字段包括版本号(V)、填充位(P)、扩展位(X)、 CSRC计数器(CC)、标记位(M)、载荷类型(PT)、序列号(SN)、时间戳、同步源标识符(SSRC)和 贡献源列表(CSRC List); 2) 准备发送: 2.1) 对音视频数据进行分类得到视频数据和音频数据; 2.2) 根据用户需求将本文档来自技高网...

【技术保护点】
一种音视频流传输方法,其特征在于:音视频流基于RTP协议进行传输,具体包括以下步骤:1)建立RTP协议首部的数据结构;建立RTP协议定义的字段;RTP协议定义的字段包括版本号(V)、填充位(P)、扩展位(X)、CSRC计数器(CC)、标记位(M)、载荷类型(PT)、序列号(SN)、时间戳、同步源标识符(SSRC)和贡献源列表(CSRC List);2)准备发送:2.1)对音视频数据进行分类得到视频数据和音频数据;2.2)根据用户需求将视频数据或音频数据分成大小合适的包后;2.3)步骤1)建立的字段赋值后封装在待发送数据包的前端;3)用UDP/IP协议栈对封装好的音视频数据进行发送;4)接收端接收到数据后,根据RTP协议对数据带有的封装字段进行解析。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈佳田泽黎小玉曹朋朋王绮卉陈威宇
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1