rtmp封装不同采样率的AAC

参考文章:https://www.cnblogs.com/lidabo/p/7324369.html

flv文件格式:https://www.cnblogs.com/musicfans/archive/2012/11/07/2819291.html

ISO文档:http://read.pudn.com/downloads98/doc/comm/401153/14496/ISO_IEC_14496-3%20Part%203%20Audio/C036083E_SUB1.PDF

 

rtmp封装AAC第一帧数据时,需要音频同步包,里面包含AAC的相关信息。音频同步包大小固定为 4 个字节。前两个字节被称为 [AACDecoderSpecificInfo],用于描述这个音频包应当如何被解析。后两个字节称为 [AudioSpecificConfig],更加详细的指定了音频格式。

下图为前两个字节 0xAF 0x00

wKioL1Qje6_ApXbFAALZEhnUQhw347.jpg

由上图可知,AAC的soundRate固定为3

 

wKiom1Qj3lqRKafiAAKNXyQMvTU565.jpg

由上图可知:

后两个字节需要指定AAC的类型和采样率,

AAC sequence header也就是包含了AudioSpecificConfigAudioSpecificConfig包含着一些更加详细音频的信息,AudioSpecificConfig的定义在ISO14496-31.6.2.1 AudioSpecificConfig,这里就不详细贴了。摘抄自https://www.cnblogs.com/musicfans/archive/2012/11/07/2819291.html

查看ISO文档可知

1.6.3.3 samplingFrequencyIndex

1.5.1 MPEG-4 audio object types:

AAC-LC的type为2

 

根据上述图标,举例:

AAC LC 8000Hz,则第一帧配置为

body[i++] = 0xAF;
body[i++] = 0x00;
body[i++] = 0x15;
body[i++] = 0x90;

后两个字节为

00010 1011 0010 0 0 0

AACLC 8000hz stereo 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值