Неверные ADTS sampling_frequency_index и channel_configuration почему?

Я надеюсь, что кто-то может направить меня на правильный путь, прежде чем я потрачу на это много времени и сил. В настоящее время я пытаюсь проанализировать кадр AAC+, чтобы получить информацию, такую ​​как количество каналов и частоту дискретизации. Таким образом, кажется, что мы можем просто получить эту информацию из заголовка ADTS, но в большинстве случаев эта информация является неточной.

Вопрос в том, почему эти данные неточны? Что означает канал заголовка ADTS и образец частоты? Стоит ли на это полагаться? -Могу ли я разобрать дальше, чтобы получить эту информацию?

К вашему сведению, необработанные данные AAC+ поступают с потоковых серверов...

Спасибо за помощь!

1 ответ

Решение

Частоты дискретизации ADTS и количество каналов предназначены для HE-AAC и HE-AACv2, чтобы поддерживать совместимость с декодерами только LC. Хорошей новостью является то, что они точны в точности. HE-AAC сообщает о половине частоты дискретизации, а HE-AACv2 всегда сообщает о монопотоке. Это связано с тем, что HE-AAC добавляет SBR, который удваивает частоту дискретизации, а HE-AACv2 добавляет параметрическое стерео в SBR и PS, превращая монопоток в стереоизображение. Полезная нагрузка SBR живет внутри элемента заполнения AAC, который игнорируется только кодером LC, а полезная нагрузка PS живет внутри полезной нагрузки SBR.

Некоторые декодеры принимают SBR, если частота дискретизации <= 24 кГц, и всегда декодируют монопотоки в стерео, чтобы избежать обнаружения этих функций заранее. В этом случае SBR-декодер может быть запущен в режиме повышенной дискретизации, если данные SBR не найдены.

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

Другие вопросы по тегам