Я хочу редактировать аудио и изменять его громкость с помощью FFmpeg.
Вот моя команда:
-af adelay=1000|1000 задержка звука на одну секунду
-af volume=2dB изменить его громкость
Они оба работают нормально, но я могу выбрать только один из них для применения в команде, могу ли я сделать их обоих?
  

Обновить:
Вот полная команда, которую я использую. Он смешивает и обрезает две видео в видео.

C:\Users\ffmpeg.exe -y -framerate 30 -start_number 0 -i C:\Users\Scene1_%03d.png -ss 0.0 -t 5.2 -i C:\Users\sound01.wav -ss 3.466666666666667 -t 5.2 -i C:\Users\sound02.wav -filter_complex "[1] aformat=sample_fmts=s16p:sample_rates=44100:channel_layouts=stereo [a1]; [a1]adelay=1700.0|1700.0,apad,volume=0.1dB[b1]; [2] aformat=sample_fmts=s16p:sample_rates=44100:channel_layouts=stereo [a2]; [a2]adelay=5000.0|5000.0,volume=0.1dB[b2]; [b1][b2]amerge=2[a]" -map 0:v -map [a] -b:v 2800k -c:v libopenh264 -c:a mp3 -ac 2 C:\Users\test.mp4

Я хотел бы добавить volume=0.1dB в filter_complex, но я получаю эту ошибку:

[Parsed_amerge_7 @ 0000025f0dc1d3c0] Нет макета канала для ввода 1 Последнее сообщение повторено 1 раз [AVFilterGraph @ 0000025f0db2ef00] Следующим фильтрам не удалось выбрать свои форматы: Parsed_amerge_7 Подумайте о вставке фильтра формата (a) рядом с их входом или выходом. Ошибка повторной инициализации фильтров! Не удалось ввести кадр в сеть фильтра: ошибка ввода-вывода Ошибка при обработке декодированных данных для потока № 2: 0 Преобразование не выполнено! : 0

2 ответа2

1

Конечно, вы можете сделать оба ... разделить их запятой:

-af "adelay=1000|1000,volume=2dB"

См. Руководство по фильтрации для получения дополнительной информации.

0

Я нашел ответ на свой пост.
volume должен быть написан до aformat , так

-filter_complex "[1] volume=0.1dB,aformat=sample_fmts=s16p:sample_rates=44100:channel_layouts=stereo [a1];

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .