ffmpeg: правильный синтаксис для нескольких аудиофильтров

ffmpeg: правильный синтаксис для нескольких аудиофильтров

Я хочу применить три аудиофильтра: панорама --> dynaudnorm --> громкость.

Проблема в том, что средний фильтр (dynaudnorm) игнорируется.

Для тестирования я пробовал переставлять фильтры, и какой бы фильтр ни был в середине, он игнорируется. Я также пробовал синтаксис 'label' -- т. е. [in]filter=args[out] -- и возникает та же проблема: средний фильтр пропускается.

Что я упускаю?

ffmpeg -i "infile.mkv" -c:a mp3 -filter_complex "pan=stereo|FL=0.5*FC+0.707*FL+0.707*BL+0.5*LFE|FR=0.5*FC+0.707*FR+0.707*BR+0.5*LFE[b], dynaudnorm=f=75:g=7; volume=0.5[2smash]" -map 0 -map [2smash] -metadata:s:a:[2smash] title="Low Dyn Range" -c:v copy "filtertest.mkv"

решение1

Для серии фильтров, применяемых к одному аудиопотоку, используйте простую цепочку фильтров:

ffmpeg -i "infile.mkv" -filter:a:1 "pan=stereo|FL=0.5*FC+0.707*FL+0.707*BL+0.5*LFE|FR=0.5*FC+0.707*FR+0.707*BR+0.5*LFE, dynaudnorm=f=75:g=7,volume=0.5" -map 0 -map 0:a:0 -c:v copy -c:a mp3 -metadata:s:a:1 title="Low Dyn Range" "filtertest.mkv"

Я предполагаю, что ваш вход имеет один аудиопоток.

Связанный контент