2011-07-18 4 views
5

Я работаю над проектом C++ с openCV. Это простое приложение для веб-камеры с основными функциями, такими как захват изображений и видео. Я уже смог сохранить видео (без аудио). Поскольку openCV не поддерживает обработку аудио, мне было интересно, есть ли способ записать звук отдельно в другом файле, а затем объединить их вместе, чтобы получить один видеофайл. Во время поиска в Интернете я слышал что-то об использовании ffmpeg с openCV. Но я просто не могу понять, как это сделать ..... .....объединение отдельных аудио- и видеофайлов в один файл C++

Можете ли вы, ребята, помочь мне? Я был бы очень благодарен ... Спасибо!

P.S. Я использовал openCV и QT (для GUI)

ответ

4

Как вы уже сказали, opencv сам по себе не занимается аудио. Однако, как только вы получите отдельный аудио- и видеофайл, вы можете комбинировать их с помощью метода, который называется muxing. Существует много способов сделать это. Я использую VirtualDub для большинства моих потребностей мультиплексирования, хотя это только окна (не уверен, что это проблема). Я знаю, что ffmpeg также способен мультиплексировать (через интерфейс командной строки), я не могу вспомнить, что это за команда. Там также есть mplayer и множество других программ для этого.

+0

Спасибо, Крис. Я изучил документацию openCV для использования ffmpeg. Я нашел некоторые команды для мультиплексирования. Итак, будет ли он работать, если я запустил эти команды из функции system()? –

+0

@Aashish Shrestha: до тех пор, пока параметры, которые вы передаете ffmpeg, верны (т. Е. Вам нужно сначала запустить его вручную, чтобы дважды проверить), тогда да, он должен работать с командой 'system'. –

+0

Спасибо Крису! Вы были настоящей помощью! :) –

1

Насколько я знаю, openCV хорош для обработки видео/изображений. Для поддержки обработки звука вы можете использовать другие библиотеки, например. PortAudio или C-sound.

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