ffmpeg: 複数のオーディオ フィルターの正しい構文

ffmpeg: 複数のオーディオ フィルターの正しい構文

3 つのオーディオ フィルターを適用します: pan --> dynaudnorm --> volume。

問題は、中間のフィルター (dynaudnorm) が無視されることです。

テストのために、フィルターの並べ替えを試みましたが、どのフィルターが中間にあるかに関係なく、無視されます。また、「ラベル」構文 (つまり、[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"

入力には単一のオーディオ ストリームがあると想定します。

関連情報