У меня есть отдельные видео- и аудиопотоки (с 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) читайте в нашем блоге: