複数の周波数帯の音量を変えるanequalizer

指定したチャンネルの周波数帯の音量を変えられるanequalizerフィルタの使い方。似たフィルタが他にもありequalizerは同じように周波数帯のゲインを調整するがこちらのほうがわかりやすい。compandフィルタはDTMの設定になれている人向け。

基本コマンド

ステレオ音声を読み込み c0(FL)の周波数4000Hzの周辺200Hzを-10dBにする。c1(FR)は10dBにする。
ffmpeg -i input -af "anequalizer=c0 f=4000 w=200 g=-10|c1 f=4000 w=200 g=10" -c:v copy output
ffplay -i input -af "anequalizer=c0 f=4000 w=200 g=-10|c1 f=4000 w=200 g=10"

showspectrumpicフィルタを併用すると効果の具合が視覚的に分かる。
ffmpeg -i input -filter_complex "anequalizer=c0 f=4000 w=200 g=-20|c1 f=4000 w=200 g=20",showspectrumpic=s=1024x1024:mode=separate anequalizer.png

不可逆圧縮された音声のカットされた周波数が調べられる showspectrumpic

anequalizer と showspectrumpic を併用して効果を見える化

curves=1で映像化するが用途不明。
ffmpeg -i input -filter_complex "anequalizer=c0 f=4000 w=200 g=-10|c1 f=4000 w=200 g=-10:curves=1[v][a]" -map [v] -map [a] output
ffplay -f lavfi -i "amovie=input.mp4,anequalizer=c0 f=4000 w=200 g=-10|c1 f=4000 w=200 g=-10:curves=1:mgain=-60:fscale=0[out1]"

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

Continue reading “複数の周波数帯の音量を変えるanequalizer”

2016年1月のニコ生統計

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

Continue reading “2016年1月のニコ生統計”

ニューラルネットワーク予測を使ってインターレース解除する nnedi

ニューラルネットワーク予測のエッジ補正からインターレースを解除するフィルタnnediの使い方。既存のインターレース解除フィルタyadif, w3fdif, bwdifに比べてかなり処理速度の遅いフィルタである。今までは AviSynth や Vapoursynth で使われているフィルタなのでそちらで検索すると使い方を調べることができる。rpowオプションは組み込まれていないのでアップスケールには使えない。

関連記事
ffmpeg でインターレース解除

基本コマンド

プレビューがもたつくかもしれない
ffmpeg -i input -vf nnedi=deint=all:field=a:planes=7:nsize=s32x4:nns=n32:qual=fast:etype=a:pscrn=new output
ffplay -i input -vf nnedi=deint=all:field=a:planes=7:nsize=s32x4:nns=n32:qual=fast:etype=a:pscrn=new

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

Continue reading “ニューラルネットワーク予測を使ってインターレース解除する nnedi”

不可逆圧縮された音声のカットされた周波数が調べられる showspectrumpic

音声データの周波数を調べて周波数と時間の2次元軸とした1枚画像を出力するshowspectrumpicの使い方。

リアルタイムに周波数を調べるにはshowspectrumフィルタを使う。
音声波形を表示する showspectrum, showwaves の使い方

基本コマンド

ffmpeg -i input -filter_complex showspectrumpic=s=1024x1024:mode=combined:color=intensity:scale=log:saturation=1:win_func=hann:orientation=vertical:gain=1:legend=1:start=0:stop=0 -y showspectrumpic.png

任意の周波数帯だけを表示するにはstart、stopの値を指定する。legend=1で経過時間を整数秒で表示するには12.8秒の倍数にするとよい。

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

Continue reading “不可逆圧縮された音声のカットされた周波数が調べられる showspectrumpic”

音量のヒストグラムを映像化する ahistogram

現在までの音量とリアルタイムの音量をヒストグラムで表示するahistogramの使い方。

基本コマンド

ffplay -f lavfi amovie=input,ahistogram=dmode=single:r=25:s=hd720:scale=log:ascale=log:acount=1:rheight=.1:slide=replace
ffmpeg -i audio -filter_complex ahistogram=dmode=single:r=25:s=hd720:scale=log:ascale=log:acount=1:rheight=.1:slide=replace -c:a copy output

Continue reading “音量のヒストグラムを映像化する ahistogram”

ffmpeg 3.0 リリース

2016年2月15日 に ffmpeg 3.0 Einstein(アインシュタイン)がリリースされた。今回のリリースはメジャーアップデートとなり、2.8 以降に追加された新機能の中からマスターにしか追加されていなかったフィルタやエンコーダ、デコーダ等の新機能が全て取り込まれた。

RELEASE NOTES for FFmpeg 3.0 “Einstein”

2.8 以降に取り込まれた機能の一覧
Changelog 2.8.1 to 3.0 < git.videolan.org Git

今回のアップデートの主な特徴

  • ffplay の挙動変更
  • MP4 の暗号化、復号対応
  • DTS-HD を外部ライブラリに頼らずフルサポート
  • DXVA2、VAAPI の VP9 ハードウェアデコード対応
  • libaacplus と libvo-aacenc のサポート打ち切りと内蔵AACエンコーダの品質向上
  • マスターにしか追加されていなかったフィルタの追加
  • HLS のセキュリティ対策(2.8.5以降)

Continue reading “ffmpeg 3.0 リリース”

360°動画を個別の視点に展開する transform

公式のフィルタではなく Facebook の github レポジトリで公開したフィルタ。

Next-generation video encoding techniques for 360 video and VR | Engineering Blog | Facebook Code | Facebook
facebook/transform

インストール方法は Building に書いてあるので省略。

Continue reading “360°動画を個別の視点に展開する transform”

ffmpeg 2.8.5 リリース

HLS を利用した脆弱性に対応した ffmpeg 2.8.5 がリリースされた。公開サーバで ffmpeg を利用している人や、出所不明のファイルを読み込むときに脆弱性を利用してローカルにあるデータがリモートのサーバに送信される危険性があるので更新が必須である。

ちなみに--disable-protocol=hlsで HLS を無効化することもできる。

FFmpegに脆弱性 | マイナビニュース

対応パッチ
avformat/hls: forbid all protocols except http(s) & file – ffmpeg.git/commitdiff
avformat/hls: More strict url checks – ffmpeg.git/commitdiff
avformat/hls: Even stricter URL checks – ffmpeg.git/commitdiff

今回のリリースはマイナーアップデートとセキュリティアップデートがメインで、前回と同様に新機能のフィルタ追加はない。
http://git.videolan.org/?p=ffmpeg.git;a=shortlog;h=refs/tags/n2.8.5
https://git.videolan.org/?p=ffmpeg.git;a=blobdiff;f=Changelog;hb=n2.8.5;hpb=n2.8.4

2015年12月のニコ生統計

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

Continue reading “2015年12月のニコ生統計”