Как я могу мультиплексировать видео и аудио поток?

У меня есть отдельный видео и аудио поток (поступающий с IPWebcam на устройстве Android), и я хотел бы объединить (и, возможно, перекодировать) их в один видеофайл, используя сервер Linux. Как мне этого добиться? Я перепробовал все с VLC, но безрезультатно.

1 ответ

Если у вас есть FFmpeg (который можно и нужно скомпилировать из исходного кода):

ffmpeg -i video.avi -i audio.wav -map 0:0 -map 1:0 -c:v copy -c:a copy output.avi

Это скопирует сырые битовые потоки видео и аудио с video.avi а также audio.wav в output.avi,

Если вы хотите перекодировать видео и аудио, просто передайте c:v а также c:a параметры, например, для чего-то более современного:

ffmpeg -i video.avi -i audio.wav -map 0:0 -map 1:0 -c:v libx264 -crf 21 -c:a libfaac output.mp4

Вот, crf контролирует качество видео с нормальными значениями от 19 (лучше) до 24 (хуже). Вместо этого используется аудио AAC.

Читайте о конвертации видео (с помощью стандартных инструментов или с помощью FFmpeg) в нашем блоге:

Другие вопросы по тегам