Я выяснил, как я могу объединить несколько аудио файлов со сложным фильтром, но боролся со смещением аудио в файле результатов. Скажем, я хочу добавить паузу в 1 секунду между каждым файлом сцепления. Можно ли это сделать с FFmpeg?
1 ответ
5
Создайте пустой аудиопоток и вставьте его с обрезкой.
Допустим, у вас есть три аудиофайла, и вы хотите промежутки между ними 1 и 3 секунды соответственно, тогда вы бы использовали
ffmpeg -i 1.mp3 -i 2.mp3 -i 3.mp3 -f lavfi -i anullsrc -filter_complex \
"[3]atrim=duration=1[g1];[3]atrim=duration=3[g2];
[0][g1][1][g2][2]concat=n=5:v=0:a=1" out.mp3
Если вам нужно обрезать входы,
ffmpeg -i 1.mp3 -i 2.mp3 -i 3.mp3 -f lavfi -i anullsrc -filter_complex \
"[0]atrim=duration=20[t0];[1]atrim=duration=120[t1];[2]atrim=duration=45[t2];
[3]atrim=duration=1[g1];[3]atrim=duration=3[g2];
[t0][g1][t1][g2][t2]concat=n=5:v=0:a=1" out.mp3