Как заменить аудио в видео файл с помощью звукового файла с использованием ffmpeg?
Я представляю, как эта команда выглядит:
ffmpeg -i v.mp4 -i a.wav -MAGIC video-new.mp4
Это очень похоже на https://superuser.com/questions/800234/how-to-replace-an-audio-stream-in-a-video-file-with-multiple-audio-streams но этот вопрос регулирует несколько звуковых дорожек, которая очень сильно осложняет его, делая его неясным, в какой части решение является достаточно для простой аудио своп.
Вы хотите, чтобы скопировать видеопоток без перекодирования сэкономить много времени, но повторного кодирования аудио может помочь для предотвращения несовместимости:
ffmpeg -i v.mp4 -i a.wav -c:v copy -map 0:v:0 -map 1:a:0 new.mp4
-карте 0:в:0
карты первый (индекс "0") прямая трансляция со входа на первый (индекс 0
) поток видео на выходе.
-карте 1:а:0
карты второй (индекс 1
) аудио потока со входа на первый аудио (индекс 0
) потока в выходной.
Если звук длиннее видео, вы хотите, чтобы добавить короткие
до имени выходного файла.
Не записав Аудио кодек, автоматически выберет один рабочий. Можно указать, например, путем добавления -с:A libvorbis были "после" - С:в скопировать
.