rtmp数据封装四-音频(AAC&G711)

本文详细介绍了RTMP协议中AAC和G.711音频数据的头部封装过程,包括AAC sequence header的4个字节和其他帧的AAC raw data的构成,以及G.711U和G.711A的头部信息。内容涵盖了音频编码参数、采样率、采样长度和声道信息等关键细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前面文章《rtmp数据封装一-块(chunk)》中讲到rtmp传输媒体数据时是把一整帧数据拆分成chunk的形式发送的。其实一帧媒体数据在拆分成chunk之前还需要进行必要的头部信息封装,本文介绍rtmp协议中AAC/G.711音频数据的头部信息封装。

第一个byte包含音频的编码参数:

  • 1-4bit: audioCodeId
  • 5-6bit: 采样率 00 5.5KHZ, 01 11KHZ, 10 22KHZ, 11 44KHZ
  • 7 bit: 采样长度 0 8bit, 1 16bit
  • 8 bit: 立体声 0 单声道, 1 双声道

AAC rtmp头部信息封装

第一帧 AAC sequence header

第一帧共4个byte:

1) 第1个byte : audioCodeId=10,如果是44KHZ、16bit、双声道,第一个byte是0xAF。如果实际采样率不是5.5KHZ、11KHZ、22KHZ、44KHZ,就选一个接近的。

2) 第2个byte : 0x00 表示是sequence header

3) 第3-4个byte : 0x14,0x10

其他帧 AAC raw data

1) 第1个byte : audioCodeId=10,如果是44KHZ、16bit、双声道,第一个byte是0xAF。如果实际采样率不是5.5KHZ、11KHZ、22KHZ、44KHZ,就选一个接近的。

2) 第2个byte : 0x01 表示是raw data

3) 第3byte开始 : 去掉前7个byte的AAC头之后的AAC数据。

G.711U rtmp头部信息封装

1) 第1个byte : audioCodeId=8,如果是11KHZ、16bit、单声道,第一个

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值