Синглеровская линия 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
. Это следующие шаги:
- Извлечение аудио из видео.mp4
ffmpeg -i video.mp4 1.mp3
- Объедините оба звука.mp3 и 1.mp3
ffmpeg -i audio.mp3 -i 1.mp3 -filter_complex amerge -c:a libmp3lame -q:a 4 audiofinal.mp3
- Удалите аудио с video.mp4 (этот шаг не требуется, а просто для этого)
ffmpeg -i video.mp4 -an videofinal.mp4
- Теперь слияние 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