エッジ検出フィルタ roberts

ffmpeg 3.4でリリースしたRoberts cross operatorを用いたエッジ検出フィルタrobertsの使い方。同様のフィルタにsobel, prewittがあり、他にもエッジ検出できるフィルタはいくつかある。

基本コマンド

ffmpeg -i input -vf roberts=planes=15:scale=1:delta=0 output
ffmpeg -i input -vf roberts=15:1:0 output
ffplay -i input -vf roberts=15:1:0

公式ドキュメント:FFmpeg Filters Documentation : roberts

Continue reading “エッジ検出フィルタ roberts”

各チャンネルの音声のビットスコープを映像化する abitscope

各チャンネルの音声のビットスコープを色別で横に並べて映像にするabitscopeフィルタの使い方。出力フォーマットはRGBA。似たフィルタにshowvolumeshowfreqsがある。

音声の周波数を映像化する showfreqs
リアルタイムでVUメーターを表示する showvolume

基本コマンド

ffmpeg -i input -filter_complex abitscope -c:a copy output
ffmpeg -re -i input -filter_complex abitscope -f sdl -

動画にオーバーレイする例。
ffmpeg -i input -filter_complex abitscope,[0:v]overlay -c:a copy output
ffmpeg -re -i input -filter_complex abitscope,[0:v]overlay -f sdl -

abitscopeフィルタで動画にオーバーレイする例(5.1ch なので6色。ただしLFEの音量が0なので色が付いてない)

big buck bunny

公式ドキュメント:FFmpeg Filters Documentation : abitscope

Continue reading “各チャンネルの音声のビットスコープを映像化する abitscope”

サラウンドをヘッドフォン用の2チャンネルに配置する headphone

ffmpeg 3.4 から追加のフィルタ。サラウンドを HRIRs(head-related impulse response, 頭部インパルス応答) ファイル web.archive.orgを元に頭部伝達関数(HRTF)を適用しユーザの周りに仮想スピーカを作ってステレオとして出力する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

Continue reading “サラウンドをヘッドフォン用の2チャンネルに配置する headphone”

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

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

Continue reading “音声をサラウンド変換する surround”

2017年5月のニコ生統計

集計期間は週間のニコ生統計の1ヶ月分である。2015年の1月の2週目から取得漏れの R-18 放送を含めて Vita API で取得し始めたのでそれ以前と比べて取得放送数が増えている。

Continue reading “2017年5月のニコ生統計”

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

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

設定内容は多くあるがほとんどの設定は何も変えず、ビットレートの設定と品質・速度のトレードオフで考える。VP9は処理が遅いとよく言われるが、-threadsを設定することで速くなる。libx264のように自動設定してくれないので一番下の方にある解像度に併せて設定する。

libvpx-1.7.0から 10、12ビット深度に対応した。
ハードウェアのデコード、エンコード対応表:wiki – SoCs Supporting VP8/VP9

Downloads – Opus Codec
VP9コーデックメモ – Qiita

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

ffmpeg 3.3 リリース

2017年9月12日に 3.3.4 がリリースされた。アップデート内容は修正ばかりで新しいフィルタは入ってない。

Changelog: update release version 3.3.4 – ffmpeg.git/commitdiff

2017年7月30日に 3.3.3 がリリースされた。アップデート内容は修正ばかりで新しいフィルタは入ってない。

Changelog: update release version 3.3.3 – ffmpeg.git/commitdiff

2017年6月7日に 3.3.2 がリリースされた。アップデート内容は修正ばかりで新しいフィルタは入ってない。

Changelog: update release version 3.3.2 – ffmpeg.git/commitdiff

2017年5月15日に 3.3.1 がリリースされた。アップデート内容は修正ばかりで新しいフィルタは入ってない。

Changelog: update release version 3.3.1 – ffmpeg.git/commitdiff

2017年4月13日、ffmpeg 3.3 Hilbert(ヒルベルト)がリリースされた。3.3 は 3.2 からのメジャーアップデートでこれまでに取り込まれたコミットのすべてが入っている。

前回更新記事:ffmpeg 3.2 リリース

git.ffmpeg.org Git – ffmpeg.git/blob – RELEASE_NOTES
git.videolan.org Git – ffmpeg.git/blob – Changelog

Continue reading “ffmpeg 3.3 リリース”

2017年4月のニコ生統計

集計期間は週間のニコ生統計の4月分である。2015年の1月の2週目から取得漏れの R-18 放送を含めて Vita API で取得し始めたのでそれ以前と比べて取得放送数が増えている。

Continue reading “2017年4月のニコ生統計”