斜めから撮った写真や動画をまっすぐから見たように修正する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
RGB レベルで明暗調整できる colorlevels
手軽に RGB を明るくしたり、暗くしたり、コントラストを上げ下げできるcolorlevels
フィルタの使い方。RGB を操作するフィルタにcurves
やselectivecolor
、colorbalance
などがある。
- トーンカーブで RGB の調整が出来る curves
- RGB, CMYK を個別に調整できる selectivecolor
- Windows の ffmpeg で生放送する方法 : colorbalance
基本コマンド
既定値では変化はない
ffmpeg -i img -vf colorlevels output
ffplay -i img -vf colorlevels
CLUTから色を置換するhaldclut
映像や画像のCLUT(カラールックアップテーブル、カラーラットとも言われる)から色を置換するhaldclut
フィルタの使い方。CLUTは一般に配布されているものを使うことができるが、解像度を所定のサイズにする必要がある。画像なら.pngや.tiffに。動画ならffv1の.nutや.mkv。floatなら.exrか、exrのmkvで出力する。
「RawTherapee Film Simulation Collection」の項目でCLUTをたくさん配布している。
Film Simulation – RawPedia : archive.org
黒フレームを調べる blackframe
フレーム毎に黒フレームを調べるblackframe
フィルタの使い方。輝度の値からどれだけ黒いかの設定があるのでシーンチェンジを調べるのに使える。blackdetect
フィルタよりも設定方法が分かりやすい。
基本コマンド
コンソールの表示されるのでテキストにリダイレクトした方が見やすい。
ffmpeg -i input -vf blackframe=98:32 -f null -
ffmpeg -i input -vf blackframe=98:32 -f null - > blackframe.txt 2>&1
ログの出力例。
frame:1170 pblack:99 pts:3513510 t:39.039000 type:I last_keyframe:1170
黒フレーム区間を調べる blackdetect
黒フレーム区間を調べるblackdetect
フィルタの使い方。輝度の値からどれだけ黒いかの設定があるのでシーンチェンジを調べるのに使える。
強力な2次元デノイザ sab
輝度と彩度の変化を元に範囲を指定してぼかすsab
(Shape Adaptive Blur)フィルタの使い方。
基本コマンド
ffmpeg -i input -vf sab=1.0:1.0:1.0:-0.9:-0.9:-0.9 output
ffplay -i input -vf sab=1.0:1.0:1.0:-0.9:-0.9:-0.9
公式ドキュメント:FFmpeg Filters Documentation : sab
映像の黒枠の座標を検出する bbox
映像フレームの輝度チャンネルから黒枠を検出して黒枠以外の座標をコンソール上に表示する。crop
とdrawbox
のコマンドも表示する。
基本コマンド
ffplay input -vf bbox=16
出力例
n:0 pts:0 pts_time:0 x1:0 x2:1279 y1:78 y2:641 w:1280 h:564 crop=1280:564:0:78 drawbox=0:78:1280:564
公式ドキュメント:FFmpeg Filters Documentation : bbox
オプション
min_val[int]
黒枠ではないと検出する輝度チャンネルの最小の値
引数が一つしか無いのでそのまま数値指定してもよい
既定値:16
範囲:0 から 254 まで