ffmpeg: как установить параметр "apad"

495
Ives

Моя цель - отобразить несколько аудио на один канал и обрезать их.
Вот моя команда ffmpeg.

ffmpeg -framerate 30 -i test_%03d.png  -ss 5 -t 20 -i s01.wav -ss 10 -t 30 -i s02.wav -filter_complex "[1]adelay=10000|10000,apad[a1]; [2]adelay=15000|15000[a2]; [a1][a2]amerge=2[a]" \ -map 0:v -map "[a]" -c:v libopenh264 -c:a mp3 test.mp4  

Он отлично работает, когда есть только два звуковых потока, и если я хочу отобразить три звуковых потока, он не обрезал их должным образом.
Я думаю, причина в том, что я установил apad неправильно.
Пожалуйста, скажите мне, как отобразить и обрезать несколько потоков одновременно.

С большим количеством потоков (adelay может не соответствовать числу, которое я использовал в команде):

ffmpeg -framerate 30 -i test_%03d.png  -i s01.wav -i s02.wav -i s03.wav -i s04.wav -filter_complex "[1]adelay=10000|10000,apad[a1]; [2]adelay=15000|15000,apad[a2]; [3]adelay=12000|15000,apad[a3]; [4]adelay=20000|10000[a4]; [a1][a2][a3][a4]amerge=4[a]" \ -map 0:v -map "[a]" -c:v libopenh264 -c:a mp3 test.mp4  

Вот оригинальный вопрос

0
Покажите команду, которую вы пробовали, с тремя аудиопотоками. Gyan 6 лет назад 0
@Mulvya Я добавил новую команду в свой вопрос. Ives 6 лет назад 0
Просто чтобы быть уверенным, ваша команда не обрезает заранее ни один из потоков, а только задерживает и объединяет их. Объединенный поток должен закончиться, когда s04 делает. Что вы видите? Gyan 6 лет назад 0
Я пропустил ** - ss -t **, но я думаю, что это не меняет результат apad. Должен ли я добавить параметр ** apad ** к каждому потоку, кроме последнего? Ives 6 лет назад 0
Ваша команда уже делает это, но да. Добавьте все потоки, кроме одного. Gyan 6 лет назад 0
кроме последнего? последний может быть самым коротким, хорошо? Ives 6 лет назад 0
Добавьте ко всем потокам, кроме того, продолжительность которого вы хотите сохранить. Gyan 6 лет назад 0
В некотором роде смущен, поэтому он должен быть самым длинным? Ives 6 лет назад 0
Решите, какой поток должен быть сохранен в полном объеме. Добавить apads для всех других потоков. Gyan 6 лет назад 0

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

Похожие вопросы