集計期間は週間のニコ生統計の1ヶ月分である。2015年の1月の2週目から取得漏れの R-18 放送を含めて Vita API で取得し始めたのでそれ以前と比べて取得放送数が増えている。
LUTを手軽に入れ替えられるlut2、tlut2、swapuv
ffmpeg 3.2でリリースしたビデオフィルタ。映像のYUVやRGBを別の映像と入れ換えるときに今まではextractplanes
フィルタで対象チャンネルを取り出して、mergeplanes
フィルタで合わせていたのがlut2
フィルタだけで入れ換えるられる。ただし複数入力するビデオフィルタでは同じ解像度とSARでないとエラーが出る。1入力目がYUVAで2入力目がRGBAの場合、YUVAにRGBAのAと入れ換えることもできる。
ffmpeg 3.4でリリースした同じオプションでtlut2
フィルタも追加された。こちらは1入力1出力になり、前後フレームのLUTを入れ換える。いわゆるtblend
フィルタのLUT版になる。また1入力で各チャンネルを入れ換えるにはshuffleplanes
や、swapuv
フィルタがある。
- 連続フレームの差分をブレンドする tblend
- 各映像チャンネルを結合する mergeplanes
- 各映像チャンネルを分離する extractplanes
- plane を入れ替え、コピーする shuffleplanes
lut2、tlut2
基本コマンド
1入力の Y(または R)をそのままに、1入力の UV(またはGB)を2入力の UV(またはGB)と入れ換える。
ffmpeg -i input1 -i input2 -filter_complex lut2=c0=x:c1=y:c2=y output
ffmpeg -i input1 -i input2 -filter_complex lut2=x:y:y output
ffmpeg -i input1 -i input2 -filter_complex lut2=x:y:y,realtime -f sdl -
映像の差分を加算する maskedclamp
ffmpeg 3.2 でリリースしたビデオフィルタ。映像を3入力し、1入力目を基本の映像として、1入力目と比較して2入力目は差分の値がプラスのときに、1入力と比較して3入力目は差分の値がマイナスのときに、その差分だけ1入力と入れ換えるmaskedclamp
フィルタの使い方。同じようなことがblend
フィルタでもできるが、こちらは3入力できるところが特徴である。4.2.2 以降のバージョンで変更があり挙動がよくわからなくなっている。
基本コマンド
同じ映像を3入力しても出力映像は変わらない。
ffmpeg -i input -vf split=3[0][1][2];[0][1][2]maskedclamp=undershoot=0:overshoot=0:planes=15 output
ffplay -i input -vf split=3,maskedclamp=0:0:15
映像フィルタを当てる前後のデータを見える化する
ffmpeg には多くの映像フィルタと音声フィルタがあるが、その効果を調べるのに主観的な判断だけではなく、客観的な判断ができるように数値を映像に表示したり、ヒストグラムを表示したりすることで映像の差違を見える化する。null
フィルタを別のフィルタに変更することでフィルタを当てた同士で比較できる。
一定間隔で映像に線を引く drawgrid
映像に縦線や横線、または格子状に直線を引くdrawgrid
フィルタの使い方。
基本コマンド

ffmpeg -i input -vf drawgrid=x=10:y=20:width=100:height=50:thickness=2:color=red@0.5 output
ffmpeg -i input -vf drawgrid=10:20:100:50:red@.5:2 output
ffplay -i input -vf drawgrid=10:20:100:50:red@.5:2
2016年7月のニコ生統計
集計期間は週間のニコ生統計の1ヶ月分である。2015年の1月の2週目から取得漏れの R-18 放送を含めて Vita API で取得し始めたのでそれ以前と比べて取得放送数が増えている。
写真など傾いた対象を修正する perspective
斜めから撮った写真や動画をまっすぐから見たように修正するperspective
フィルタの使い方。修正部分だけを取り出すにはcrop
フィルタを併用する。crop
フィルタを併用しないと出力解像度が元の解像度のままになりアスペクト比がおかしくなる。
エッジ部分に調整のあるポストプロセッシングフィルタ pp7
pp7
(Postprocessing filter with 7 point DCT)フィルタはfspp
の次に負荷の重たいポストプロセッシングフィルタである。
デノイズとインターレース解除ができる pp
速くて単純なポストプロセッシングフィルタ fspp
基本コマンド
ffmpeg -i input -vf pp7=qp=1:mode=2 output
ffmpeg -i input -vf pp7=1:2 output
ffplay -i input -vf pp7=1:2
公式ドキュメント:FFmpeg Filters Documentation : pp7
公式wiki:Postprocessing – FFmpeg
速くて単純なポストプロセッシングフィルタ fspp
fspp
(fast and simple postprocessing)とは前回のpp
に続くポストプロセッシングフィルタである。pp
よりもオプションが簡素なので使いやすい。
基本コマンド
ffmpeg -i input -vf fspp=4:0:0 output
ffplay -i input -vf fspp=4:0:0
公式ドキュメント:FFmpeg Filters Documentation : fspp
公式wiki:Postprocessing – FFmpeg
デノイズとインターレース解除ができる pp
pp
(postprocessing)フィルタとは、デコード段階でフィルタを当てるフィルタを意味するが、フィルタチェーンでのpp
の位置によってフィルタが当たる順番も変わる。用途に合わせてたくさん種類があるので使いこなすのは難しい。ビルドオプションに--enable-gpl
が付いてないと使えない。
同様のフィルタにfspp
,pp7
,spp
,uspp
があるが、順番に負荷が大きくなりfspp
以降は負荷を考えると実用性は低い。
基本コマンド
ffmpeg -i input -vf pp=de output
ffplay -i input -vf pp=de
公式ドキュメント:FFmpeg Filters Documentation : pp
公式wiki:Postprocessing – FFmpeg