ffmpeg 3.4 から追加予定のフィルタ。サラウンドを HRIRs(head-related impulse response, 頭部インパルス応答) ファイルを元にチャンネルを配置しステレオとして出力する headphone フィルタの使い方。

HRIRs ファイルの配布ページが重たい場合はミラーを上げている。

HRIRs ファイルには DFC, MINP, RAW があり、基本コマンドには Subject_001_Wav.zip を使っている。

基本コマンド

5.1ch の音声に映像をコピーして 2ch で出力
ffmpeg -i input -i azi_30_ele_0_DFC.wav -i azi_330_ele_0_DFC.wav -i azi_0_ele_0_DFC.wav -i azi_100_ele_0_DFC.wav -i azi_260_ele_0_DFC.wav -filter_complex "[0:a][1][2][3][3][4][5]headphone=FL|FR|FC|LFE|BL|BR" -vcodec copy output.mp4
2ch の音声を 5.1ch に surround フィルタで変換し映像をコピーして 2ch で出力
ffmpeg -i input -i azi_260_ele_0_DFC.wav -i azi_100_ele_0_DFC.wav -i azi_0_ele_0_DFC.wav -i azi_30_ele_0_DFC.wav -i azi_330_ele_0_DFC.wav -filter_complex "[a:0]surround[0a];[0a][1][2][3][3][4][5]headphone=FL|FR|FC|LFE|BL|BR" -vcodec copy output.mp4
公式ドキュメント:FFmpeg Filters Documentation : headphone

オプション

ゲインの設定をしても音量が変わらず、チャンネルマッピング map 以外の設定の方法がよく分からない。個別チャンネルの音量設定は pan フィルタでもできる。

  • map[string]
    入力音声を配置し畳み込み処理をする。チャンネル毎に “|” で区切り、出力音声より多い数を入力する。基本は元となる音声にサラウンドのチャンネル数だけ HRIRs ファイルを入力する
  • gain[float]
    ゲイン(dB)の設定
    既定値:0
  • lfe[int]
    LFE ゲイン(dB)の設定
    既定値:0
  • type[float]
    処理形式の設定
    0, time (time domain processing ) 遅い
    1, freq (frequency domain processing) 速い
    既定値:1

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)