2012-02-25 8 views
1

Следуя моим другим post, я удивляюсь, можно ли сделать какой-то процесс, например, извлечение MFCC на декодированных аудиопакетах. Код, который я использую, декодирует аудио и видео из файла mpeg-2 с помощью ffmpeg. Процесс на видео выполняется с помощью opencv, так как эта библиотека позволяет захватывать кадры одним. Мне нужно обработать соответствующие образцы звука в одно и то же время.Обработать аудиопакеты, декодированные с помощью ffmpeg

Спасибо.

+0

Должен ли я добавить более подробную информацию? – Eric

ответ

1

Я создал звуковой движок C++ под названием «Crosstalk».

Хотя это называется «звуковой движок», это действительно просто процессор обработки данных C++ (в режиме реального времени). Перекрестные помехи позволяют создавать и маршрутизировать системы во время разработки и в режиме реального времени. В основном, двигатель заботится обо всех маршрутах данных и дает вам простую платформу для создания компонентов, через которые обрабатываются данные (например, ваш компонент «Аудио-канал», подключенный параллельно с компонентом «Видеопоток»). Пока ваши ветви имеют равную общую длину буфера, они будут идеально синхронизированы.

Это очень простой в использовании. Вот пример того, как настроить систему для воспроизведения mp3-файл (Компоненты, используемые здесь снабжены двигателем):

XtSystem system; 
XtMp3Decoder mp3Decoder; 
XtAudioDevice audioDevice; 

long md = system.addComponent(&mp3Decoder); 
long ad = system.addComponent(&audioDevice); 

system.connOutToIn(md,0,ad,0); 
system.connOutToIn(md,1,ad,1); 

mp3Decoder.loadFile("../05 Tchaikovski-Swan Lake-Scene.mp3"); 
mp3Decoder.play(); 

Вы можете проверить API документацию и лицензионные детали здесь: http://www.adaptaudio.com/Crosstalk

EDIT (12.01.2012):

Перекрестные помехи заменены проектом с открытым исходным кодом под названием «DSPatch». DSPatch - это, по сути, обновленная версия движка маршрутизации Crosstalk, которая больше не ограничивается только обработкой звука. DSPatch позволяет вам создавать и направлять практически любые типы цепочек процессов, которые можно себе представить, и бесплатно для личного и частного использования :)

+0

Спасибо за ссылку. Я уже использую mencoder (более стабильный, чем ffmpeg) для декодирования потоков, но я сосредоточусь на вашей lib. – Eric