Синглеровская линия FFMPEG cmd для объединения видео/аудио и сохранения обоих аудиофайлов

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

Есть ли одна команда FFMPEG для достижения этой цели с использованием параметров копирования и -map?

Видео форма, которую я буду использовать, - это либо flv, либо mp4. Формат аудиофайла будет mp3

Ответ 1

Это может быть достигнуто и без использования карты.

ffmpeg -i video.mp4 -i audio.mp3 output.mp4

Если вы хотите, чтобы output.mp4 остановился, как только один из входных остановок (аудио/видео), используйте

-shortest

Например: ffmpeg -i video.mp4 -i audio.mp3 -shortest output.mp4

Это гарантирует, что выход прекратится, когда и когда какой-либо один из входов будет завершен.

Поскольку вы попросили, чтобы вы сделали это с картой. так вы это делаете:

ffmpeg -i video.mp4 -i audio.mp3 -map 0:0 -map 1:0 -shortest output.mp4

Теперь, поскольку вы хотите сохранить звук видеофайла, считайте, что хотите объединить audio.mp3 и video.mp4. Это следующие шаги:

  1. Извлечение аудио из видео.mp4

ffmpeg -i video.mp4 1.mp3

  1. Объедините оба звука.mp3 и 1.mp3

ffmpeg -i audio.mp3 -i 1.mp3 -filter_complex amerge -c:a libmp3lame -q:a 4 audiofinal.mp3

  1. Удалите аудио с video.mp4 (этот шаг не требуется, а просто для этого)

ffmpeg -i video.mp4 -an videofinal.mp4

  1. Теперь слияние audiofinal.mp3 и videofinal.mp4

ffmpeg -i videofinal.mp4 -i audiofinal.mp3 -shortest final.mp4

примечание: в последней версии ffmpeg будет предложено использовать '-strict -2', если он это использует:

ffmpeg -i videofinal.mp4 -i audiofinal.mp3 -shortest -strict -2 final.mp4

надеюсь это поможет.

Ответ 2

**

Вы не можете сделать это с помощью одного cmd.

**

1. Получите звук из видеофайла, имя звукового файла --.mp3.

ffmpeg.exe -i video.mp4 a.mp3

2.Merge два аудиофайла (audio.mp3 + a.mp3 = audiofinal.mp3)

ffmpeg.exe -i audio.mp3 -i a.mp3 -filter_complex amerge -c:a libmp3lame -q:a 4 audiofinal.mp3

3.Merge видеофайл и аудиофайл (video.mp4 + audiofinal.mp3 = output.mp4)

ffmpeg.exe -i video.mp4 -i audio.mp3 -map 0:v -map 1:a -c copy -y output.mp4

Ответ 3

Случай использования:

  • добавьте музыку в фоновом режиме
  • вы визуализировали видео, но приглушили какую-то его часть, поэтому вы не хотите повторно отображать его (слишком долго), вместо этого вы воспроизводите только звуковую дорожку (быстро) и хотите объединить ее с оригинальным видео.

Если предположить,

  • у вас есть видео с вами речь (или просто звуковая дорожка, что угодно)
  • ваш музыкальный файл не громкий. В противном случае вы не услышите себя D:

шаги:

1) Извлечение аудио из видео

ffmpeg -i test.mp4 1.mp3

test.mp4 - ваш файл

2) Объедините оба звука.mp3 и 1.mp3

ffmpeg -i audio.mp3 -i 1.mp3 -filter_complex amerge -c:a libmp3lame -q:a 4 audiofinal.mp3

audiofinal.mp3 - аудио с музыкой

3) Удалить аудио из оригинала

ffmpeg -i example.mkv -c copy -an example-nosound.mkv

example-nosound.mkv - ваше видео без звука

4) Слияние с правильным звуком

ffmpeg -i audiofinal.mp3 -i example-nosound.wmv -c:v copy -vcodec copy final.wmv

final.wmv - ваше идеальное видео.

Ответ 4

Это очень легко с FFmpeg:

ffmpeg -i vid.mp4 -i audio.mp3 -codec:a libmp3lame -ar 44100 -ab 64k -ac 1 -q:v 1 -pix_fmt yuv420p -map 0:0 -map 1:0

Ответ 5

Сначала удалите звук из видео, если вы не можете объединить видео и аудио с помощью этой команды: ffmpeg -i video.mp4 -an videofinal.mp4