web-dev-qa-db-ja.com

ビデオファイルから複数のオーディオトラックをミックスして再生する方法は?

複数のオーディオトラック(mkvコンテナ)にビデオファイルがあります(aid=1,2,...)。 mplayerまたはmpvのいずれかを使用して、2つのオーディオトラックを同時に再生するにはどうすればよいですか(理想的には各トラックのボリュームを個別に設定できます)。

--af=lavfi libavfilterへのオーディオフィルターブリッジ、およびamixフィルターですが、構文を正しくつなぎ合わせることができません。たとえば、私がしようとすると

 mpv --af=lavfi='[amix=inputs=2]'

amixに十分な入力がないというエラーが表示されます。

1
Kerrek SB

複数の入力または出力の場合は、--lavfi-complexを使用します。この例はman mpvからのものです:

mpv --lavfi-complex='[aid1][aid2]amix[ao]' input.mkv
  • aidNという形式のラベルは、オーディオトラックNを入力として選択します(例:aid1)。
  • aoという名前のラベルがオーディオ出力に接続されます。

ボリュームフィルター の例:

mpv --lavfi-complex='[aid1]volume=0.5[vol1];[aid2]volume=3dB[vol2];[vol1][vol2]amix[ao]' input.mkv
2
llogan