#video #ffmpeg
#Видео #ffmpeg
Вопрос:
Я пытаюсь добавить 2 аудиофайла, каждый через 10 и 15 секунд после воспроизведения видео.
Я использовал следующую команду, но выходное видео воспроизводит оба аудиофайла одновременно через 10 секунд:
ffmpeg -y -i video.mp4
-itsoffset 10 -i audio1.mp3
-itsoffset 15 -i audio2.mp3
-filter_complex amix -map 0:v -map 1:a -map 2:a
-c:v copy -c:a aac -strict experimental output.mp4
Как я могу заставить 2 файла воспроизводиться через 10 и 15 секунд каждый после воспроизведения видео?
Ответ №1:
да, решение заключается -async 1
в том, что я добавил общую формулу при добавлении N аудио в видео используйте фильтр amix с входами = N 1
пример: я добавил 4 аудио в одно видео
ffmpeg -y -i video.mp4 -itsoffset 10 -i note1.mp3 -itsoffset 15 -i note2.mp3 -itsoffset 90.7 -i note3.mp3 -itsoffset 120.58 -i note4.mp3 -filter_complex amix=inputs=5[a] -map 0:v -map [a] -c:v copy -async 1 -c:a aac output.mp4
Комментарии:
1. @abdullah_nouraldaim Вы знаете, как также удалить исходное аудио из видео?
Ответ №2:
Я нашел решение. Мне пришлось добавить -async 1
в команду:
ffmpeg -y -i video.mp4
-itsoffset 10 -i audio1.mp3
-itsoffset 15 -i audio2.mp3
-filter_complex amix -map 0:v -map 1:a -map 2:a
-c:v copy -async 1 -c:a aac -strict experimental output.mp4
Теперь все работает нормально!
Комментарии:
1. По какой-то причине ваш метод работает только для первого аудиофайла со смещением, второй у меня не работает.
2. @zack_lee Вы знаете, как также удалить исходный звук из видео?
Ответ №3:
Ответ Абдуллы Нуралдаима выше отлично подходит для меня, если я хочу сохранить оригинальный звук из видео.
Но если вы хотите удалить звук из исходного видео, вы можете запустить модифицированную версию ниже!
ffmpeg -y -an -i video.mp4 -itsoffset 10 -i note1.mp3 -itsoffset 15 -i note2.mp3 -itsoffset 90.7 -i note3.mp3 -itsoffset 120.58 -i note4.mp3 -filter_complex amix=inputs=4[a] -map 0:v -map [a] -c:v copy -async 1 -c:a aac output.mp4
Изменения:
- добавить
-an
передvideo.mp4
, чтобы удалить его аудиопоток - изменить
amix=inputs=5[a]
наamix=inputs=4[a]
, потому что после удаления аудиопотока из ourvideo.mp4
теперь осталось только 4 аудиопотока.