月別アーカイブ: 2017年6月

音声をサラウンド変換する surround

ffmpeg 3.4 から追加予定のフィルタ。入力した音声の周波数からフロントとリアの音声を分けてサラウンド(5.1ch など)に変換する surround フィルタの使い方。

基本コマンド

アンプなどにもよるがサラウンドは 48KHz じゃないとサラウンドでデコードしないこともある。コーデックも aac や pcm よりも ac3 のほうがデコードの汎用性が高い。既定値では入力音声のチャンネル数 chl_in はステレオになっている
ffmpeg -i input -af surround -ar 48000 -vcodec copy -acodec aac output.ts

sox がインストールされている場合は sox でリサンプリングする
ffmpeg -i input -af aresample=48000:resampler=soxr,surround -vcodec copy -acodec aac output.ts

サラウンドの各チャンネルを出力するには channelsplit フィルタを使う
ffmpeg -i input -filter_complex surround,channelsplit=channel_layout=5.1[FL][FR][FC][LFE][SL][SR] -map [FL] FL.wav -map [FR] FR.wav -map [FC] FC.wav -map [LFE] LFE.wav -map [SL] SL.wav -map [SR] SR.wav
公式ドキュメント:FFmpeg Filters Documentation : surround
続きを読む 音声をサラウンド変換する surround

VP9(libvpx-vp9) のエンコード設定について

次世代エンコーダ VP9 のエンコード設定について ffmpeg で使ったときの設定をまとめた。libvpx-vp9 は外部ライブラリなので別途インストールする必要がある。さらに音声のエンコーダで使われる libopus も外部ライブラリなのでこれもインストールする必要がある。

設定内容は多くあるがほとんどの設定は何も変えず、ビットレートの設定と品質・速度のトレードオフの設定を変える。VP9 で処理が遅いとよく言われるが、これは仕様上、現在ではどうにもならないので2つ3つ同時にエンコードして1つにつなげる方法をとれば処理は速くなる。

webmproject/libvpx: github.com
Downloads – Opus Codec
CompilationGuide/Quick/libopus – FFmpeg
続きを読む VP9(libvpx-vp9) のエンコード設定について