Мое приложение C++ использует openframeworks для записи видео с веб-камеры в формате.mov и стороннего приложения для записи звука приложения в отдельный.wav файл. В конце выполнения мне нужно объединить как видео, так и аудио файлы в один. Есть ли библиотека или API, которые это делают?
Поблагодарили бы за помощь, спасибо!
Как и здесь, здесь цитируются следующие цитаты:
После того, как вы получите отдельный аудио- и видеофайл, вы можете объединить их с помощью технологии muxing. Существует много способов сделать это. Я использую VirtualDub для большинства моих задач мультиплексирования, хотя это только окна (не уверен, что это проблема). Я знаю, что ffmpeg также способен мультиплексировать (через интерфейс командной строки), я не могу вспомнить, что это за команда. Там также есть mplayer и множество других программ для этого.
Изменить: два способа использования ffmpeg
:
Используйте API C/C++
: ознакомьтесь со следующими замечательными учебниками ffmpeg
Используйте системные вызовы: ознакомьтесь здесь с исходным кодом (командами) скрипта о том, как объединить аудио и видео файлы.
ffmpeg
- это один из инструментов, который вы можете изучить. Существует такжеlibavcodec
который используетffmpeg
. Но вам нужно только «мультиплексирование» (упаковка потоков в контейнер), а не «кодирование».ffmpeg
может сделать это, но я не знаю как (если он используетlibavcodec
для этого).ffmpeg
использует для муксинга, называетсяlibavformat
. Похоже, решение этой задачи.