Обработка аудиоданных Flex / Flash SPEEX на стороне сервера - PullRequest
1 голос
/ 04 мая 2011

Я реализую очень простой аудио-RTMP-сервер.

У меня есть мой код клиента, как это:

// get the default mic
var mic:Microphone= Microphone.getMicrophone();

// best quality (picks up all sounds, no transmission interruptions)
mic.setSilenceLevel(0);

// Using SPEEX codec with quality of 5
mic.codec = SoundCodec.SPEEX;
mic.encodeQuality = 5; // Required bit rate: 16.8 kbits/s, 

// Rate is automatically set to 16K Hz if SPEEX codec is set
//mic.rate = 16;

mic.framesPerPacket = 1;

// Attach the mic to the NetStream
ns.attachAudio(mic);

ns.publish("SpeexAudioData", "record");

Затем на сервере я продолжаю получать аудиопакеты размером 43 байта или 11 байтов (другие размеры пока не найдены).

Мои вопросы:

  1. Почему я получаю размер 43 байта или 11 байтов (из кодировки SPEEX?)?
  2. Является ли 43 байта = 1 главный байт + 42 байта данных?
  3. Какой размер 11 байтов?
  4. Как мне обработать или преобразовать SPEEX в необработанные данные, чтобы мое приложение на стороне сервера могло использовать эти аудиоданные? Моя текущая реализация:
    • Я забираю все 43-байтовые пакеты (отбрасываю все 11-байтовые пакеты);
    • Пропустить первый 1 байт;
    • Расшифруйте левые 42 байта, используя библиотеку Speex.
  5. Как мне преобразовать необработанные данные обратно в аудиоданные SPEEX?

Спасибо.

1 Ответ

0 голосов
/ 12 мая 2011

Кажется, я сам все понял.

См .:

http://forums.adobe.com/message/3671858#3671858

...