Обработка аудиоданных Flex / Flash SPEEX на стороне сервера

Я использую очень простой 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. How should I process or convert the SPEEX to raw data, so that my server side app can use this audio data? My current implementation:
    • I pick up all 43-byte packets (drop all 11-byte packets);
    • Пропустить первый 1 байт;
    • Расшифруйте оставшиеся 42 байта с помощью библиотеки Speex.
  5. Как мне преобразовать необработанные данные обратно в аудиоданные SPEEX?

Спасибо.


person Peter Lee    schedule 04.05.2011    source источник


Ответы (1)


Думаю, я сам в этом разобрался.

Видеть:

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

person Peter Lee    schedule 12.05.2011