无效的ADTS sampling_frequency_index和channel_configuration为什么?

时间:2010-07-21 16:44:59

标签: java aac decoder adts aac+

我希望在我花费大量时间和精力之前,有人可以指引我走上正确的道路。我目前正在尝试解析AAC +帧以获取诸如通道数和采样频率之类的信息。因此,似乎我们可以简单地从ADTS标头获取此信息,但大多数情况下此信息不准确。

所以问题是: - 为什么这些数据不准确? ADTS标头通道和样本频率是什么意思?我应该依靠吗? - 我应该进一步解析框架以获取此信息吗?

仅供参考,AAC +原始数据来自流媒体服务器...

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

ADTS采样率和通道数用于HE-AAC和HE-AACv2,以尝试保持与仅LC解码器的兼容性。好消息是,它们准确无误。 HE-AAC将报告一半的采样率,HE-AACv2将始终报告单声道流。这是因为HE-AAC增加了SBR,其采样率加倍,HE-AACv2将参数立体声添加到SBR和PS,将单声道流转换为立体声图像。 SBR有效载荷位于AAC填充元素内,仅由LC编码器忽略,PS有效载荷存在于SBR有效载荷内。

某些解码器假设SBR,如果采样率<= 24kHz并始终将单声道流解码为立体声,以避免预先检测这些功能。在这种情况下,如果未找到SBR数据,则SBR解码器可以以纯上采样模式运行。

@spender见:http://wiki.multimedia.cx/index.php?title=ADTS