Как реализовать программу слияния видео и аудио? - PullRequest
1 голос
/ 23 апреля 2010

Я хочу сделать программу, которая берет видео и аудио и объединяет их. Тип видео или аудио тип не важен для меня. Как я могу это сделать? Существует ли какая-либо библиотека для этого? Я знаю, что есть много программ на эту тему, но я хочу узнать, как реализовать такую ​​программу.

Ответы [ 3 ]

3 голосов
/ 25 апреля 2010

Технический термин для того, что вы пытаетесь сделать, это « мультиплексирование » и обычно называется « muxing » ,

FFmpeg - это многоплатформенный инструмент командной строки, который делает это и является спорным отраслевым стандартом. Многие проекты заключают FFmpeg в библиотеки и графические интерфейсы.

FFmpeg также является открытым исходным кодом, так что вы можете скачать код и посмотреть, как они это сделали. Этот сиад, он очень большой и сложный.

Если вас интересует фактическая механика объединения отдельных аудио и видео файлов в файл назначения, вам потребуется много узнать о форматах контейнеров и Кодеки .

0 голосов
/ 25 апреля 2010

Простой способ мультиплексировать аудио и видео в Linux - это использовать gstreamer . Вот аудио / видео конвейер, который вы можете создать, используя gst-launch в командной строке.

filesrc location=file1.vid ! queue ! mux. filesrc location=file2.aud ! queue ! mux. avimux name=mux ! filesink location=output.avi

Замените file1.vid именем вашего закодированного видеофайла, а file2.aud - именем вашего закодированного аудиофайла. output.avi - это файл контейнера, который вам нужен.

0 голосов
/ 23 апреля 2010

Посмотрите на какую-нибудь оболочку FFMPEG в C #.

...