FFmpeg: Как я могу установить несколько аудио файлов?

338
Ives

Я хочу добавить несколько аудио файлов к выходному видео (объединить их в один поток). Каждый звук имеет свою продолжительность и начальную / конечную точку. Я нарисовал картину, чтобы объяснить, чего я хочу достичь.
enter image description here

Я пытался использовать apadи, adeleyчтобы сделать это, но результат вывода был неправильным, некоторые аудио отсутствуют или не запускаются в нужное время.
Вот мои filter_complexкоманды ( apad and adelayпараметры не всегда 0.0).

-filter_complex [1]громкость = 0,0 дБ, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = стерео [a1]; [A1] Аделай = 0,0 | 0,0, Apad [b1]; [2] громкость = 0,0 дБ, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = стерео [a2]; [А2] Аделай = 0,0 | 0,0 [b2]; [3] громкость = 0,0 дБ, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = стерео [a3]; [А3] Аделай = 0,0 | 0,0, Apad [б3]; [4] громкость = 0,0 дБ, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = стерео [a4]; [А4] Аделай = 0,0 | 0,0, Apad [b4]; [5] громкость = 0,0 дБ, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = стерео [a5]; [А5] Аделай = 0,0 | 0,0, Apad [b5]; [6] громкость = 0,0 дБ, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = стерео [a6]; [А6] Аделай = 0,0 | 0,0, Apad [b6]; [7] громкость = 0,0 дБ, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = стерео [a7]; [А7] Аделай = 0,0 | 0,0, Apad [b7]; [8] громкость = 0,0 дБ, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = стерео [a8]; [А8] Аделай = 0,0 | 0,0, Apad [b8]; [9] громкость = 0,0 дБ, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = стерео [a9]; [А9] Аделай = 0,0 | 0,0, Apad [B9]; [10] громкость = 0,0 дБ, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = стерео [a10]; [A10] Аделай = 0,0 | 0,0, Apad [b10]; [11] громкость = 0,0 дБ, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = стерео [a11]; [A11] Аделай = 0,0 | 0,0, Apad [b11]; [12] громкость = 0,0 дБ, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = стерео [a12]; [A12] Аделай = 0,0 | 0,0, Apad [b12]; [13] громкость = 0,0 дБ, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = стерео [a13]; [A13] Аделай = 0,0 | 0,0, Apad [b13]; [14] громкость = 0,0 дБ, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = стерео [a14]; [A14] Аделай = 0,0 | 0,0, Apad [b14]; [15] громкость = 0,0 дБ, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = стерео [a15]; [A15] Аделай = 0,0 | 0,0, Apad [b15]; [16] громкость = 0,0 дБ, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = стерео [a16]; [A16] Аделай = 0,0 | 0,0, Apad [b16]; [17] громкость = 0,0 дБ, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = стерео [a17]; [A17] Аделай = 0,0 | 0,0, Apad [b17]; [18] громкость = 0,0 дБ, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = стерео [a18]; [A18] Аделай = 0,0 | 0,0, Apad [b18]; [19] громкость = 0,0 дБ, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = стерео [a19]; [A19] Аделай = 0,0 | 0,0, Apad [b19]; [20] громкость = 0,0 дБ, aformat = sample_fmts = s16p: sample_rates = 44100: channel_layouts = стерео [a20]; [A20] Аделай = 0,0 | 0,0, Apad [b20]; [B1] [b2] [б3] [b4] [b5] [b6] [b7] [b8] [B9] [b10] [b11] [b12] [b13] [b14] [b15] [b16] [b17 ] [b18] [b19] [b20] amerge = 20 [a] -map 0: v -map [a] -b: v 3200k -c:

0
Возможное дублирование [Объединение множества аудиофайлов с определенными позициями] (https://superuser.com/questions/1092291/merge-many-audio-files-with-specific-positions) Gyan 5 лет назад 0
adelay принимает значения в целых миллисекундах, для задержки 3,24 с вы бы написали 3240 на канал Gyan 5 лет назад 0
@Gyan Я установил Adelay в миллисекундах. Ives 5 лет назад 0

0 ответов на вопрос