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