2017-02-13 5 views
0

Я работаю с RTMP. Я захватил RTMP-пакеты в wirehark. Я знаю, как собирать и воспроизводить видеоданные, но не умею играть в аудио. Wireshark говорит мне, что данные находятся в .aac. Но я не понимаю, как я могу играть в нее? Мне нужно обернуть его в контейнер? wireshark captureКак воспроизвести звук из потока RTMP?

ответ

1

AAC можно играть без контейнера. Но каждый кадр должен иметь заголовок ADTS (Google может объяснить вам эту часть), чтобы преобразовать из необработанных фреймов в ADTS, вы должны получить заголовок последовательности с начала потока и конвертировать в ADTS.

+0

Еще раз спасибо за ваш ответ. – rooltex

+0

Но я думаю, что есть что-то еще. С самого начала потока я получаю небольшую часть аудиоданных (0x00 0x14 0x08). И каждый блок после этих данных начинается с байтов 0x01 0x01. Возможно, есть другой способ воспроизвести данные, или я ошибаюсь? – rooltex

+0

Я думаю, что 0x00 - это тип, а 0x1408 - конфигурация AAC. Тогда 0x1408 -> 0001 0100 0000 1000. 00010 - 5 битов для типа объекта (ААС низкой сложности) 1000 -. 4 бита для частоты дискретизации 0001 - 4 бита для канала 0 - бит флага длины кадра 0 - битной for зависит от основного кодера 0 - бит для зависит от основного кодера – rooltex

Смежные вопросы