#macos #terminal #ffmpeg
#macos #терминал #ffmpeg
Вопрос:
Я пытаюсь объединить много mp4
видео (h264) со звуком mp3
.
Я искал в Интернете и документах
Например, у меня есть:
- 3 видеоролика mp4 (со звуком) по 15 секунд каждый
- 1 аудио в формате mp3 продолжительностью 60 секунд
Я не хочу сохранять аудио видео, но я хочу, чтобы mp3
файл стал единственным звуком, отображенным во всех видео.
[ audio ]
Ответ №1:
Базовый синтаксис
ffmpeg -i 1.mp4 -i 2.mp4 -i 3.mp4 -i audio.mp3 -filter_complex "[0][1][2]concat=3[v]" -map "[v]" -map 3:a -shortest out.mp4
Комментарии:
1. Я получил ошибку с этой командой:
ffmpeg -i video_a.mp4 -i video_b.mp4 -i sound.mp3 -filter_complex "[0][1][2] concat=3[v]" -map "[v]" -map 3:a -shortest concat.mp4
. ОшибкаStream specifier '' in filtergraph description [0][1][2] concat=3[v] matches no streams.
2. Моя команда предназначена для трех видео. Ваш для двоих. Удалить
[2]
и изменить наconcat=2
3. Кроме того, есть ли возможность перезапускать звук при каждом запуске видео?
4. Самый простой способ сделать это — выполнить процесс с двумя командами: выполнить для каждого файла
ffmpeg -i 1.mp4 -i audio.mp3 -map 0:v -map 1:a -c copy -shortest 1a.mp4
, а затемffmpeg -i 1a.mp4 -i 2a.mp4 -filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a]" -map "[v]" -map "[a]" concat.mp4
5. Большое спасибо @Mulvya, ты знаешь отличное место для изучения ffmpeg (или книгу, которую можно купить)?