Вопрос

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

Это было полезно?

Решение

Технический термин для обозначения того, что вы пытаетесь сделать, таков:мультиплексирование', и обычно называемый 'мультиплексирование'.

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

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

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

Другие советы

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

Простой способ мультиплексировать аудио и видео в 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 — это файл-контейнер, который вам нужен.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top