RTP音频AAC封包

过程比较简单:

需要将aac的前7个字节的ADTS去掉;
添加12字节的RTP Header;
添加2字节的AU_HEADER_LENGTH;
添加2字节的AU_HEADER;
从第17字节开始就是payload(去掉ADTS的aac数据)数据了

音频aac封包格式

RTP承载aac的格式由两部分组成: 

2个字节的AU-headers-length 

n个AU-header,每个2字节 

n个AU,是aac去掉adts的载荷

AU-headers-lengthAU-headerAUAU-headerAU

注意:一个RTP包中可以有一个AU-headers-length 和 n个AU-header和 n个AU(AU每包实际音频数据流)

 

1. AU-headers-length

头两个字节表示au-header的长度,单位是bit。 一个AU-header长度是两个字节(16bit)因为可以有多个au-header所以AU-headers-length的值是 16的倍数,一般音频都是单个音频数据流的发送,所以AU-headers-length的值是16

//AU_HEADER_LENGTH

bytes[12] = 0x00; //高位

bytes[13] = 0x10; //低位

因为单位是bit, 除以8就是auHeader的字节长度;又因为单个auheader字节长度2字节,所以再除以2就是auheader的个数。

 

2. AU-header

au-header的高13个bits就是一个au 的字节长度:

//AU_HEADER 

bytes[14] = (byte)((len & 0x1fe0) >> 5); //高位

bytes[15] = (byte)((len & 0x1f) << 3); //低位

这样就能得到多个au的长度

 

3. AU 实际的音频数据 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值