ffmpeg: richtige Syntax für mehrere Audiofilter

ffmpeg: richtige Syntax für mehrere Audiofilter

Ich möchte drei Audiofilter anwenden: Pan --> Dynaudnorm --> Lautstärke.

Das Problem ist, dass der mittlere Filter (Dynaudnorm) ignoriert wird.

Zum Testen habe ich versucht, die Filter neu anzuordnen, und egal, welcher Filter in der Mitte ist, er wird ignoriert. Ich habe auch die „Label“-Syntax ausprobiert – also [in]filter=args[out] – und das gleiche Problem tritt auf: Der mittlere Filter wird übersprungen.

Was vermisse ich?

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"

Antwort1

Verwenden Sie für eine Reihe von Filtern, die auf einen einzelnen Audiostream angewendet werden, eine einfache Filterkette:

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"

Ich gehe davon aus, dass Ihr Eingang einen einzelnen Audiostream hat.

verwandte Informationen