写真など傾いた対象を修正する perspective

斜めから撮った写真や動画をまっすぐから見たように修正するperspectiveフィルタの使い方。修正部分だけを取り出すにはcropフィルタを併用する。cropフィルタを併用しないと出力解像度が元の解像度のままになりアスペクト比がおかしくなる。

Continue reading “写真など傾いた対象を修正する perspective”

エッジ部分に調整のあるポストプロセッシングフィルタ 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

Continue reading “エッジ部分に調整のあるポストプロセッシングフィルタ pp7”

速くて単純なポストプロセッシングフィルタ fspp

fspp(fast and simple postprocessing)とは前回のppに続くポストプロセッシングフィルタである。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

Continue reading “速くて単純なポストプロセッシングフィルタ fspp”

デノイズとインターレース解除ができる pp

pp(postprocessing)フィルタとは、デコード段階でフィルタを当てるフィルタを意味するが、フィルタチェーンでのppの位置によってフィルタが当たる順番も変わる。用途に合わせてたくさん種類があるので使いこなすのは難しい。ビルドオプションに--enable-gplが付いてないと使えない。

同様のフィルタにfspp,pp7,spp,usppがあるが、順番に負荷が大きくなりfspp以降は負荷を考えると実用性は低い。

速くて単純なポストプロセッシングフィルタ fspp

基本コマンド

ffmpeg -i input -vf pp=de output
ffplay -i input -vf pp=de

公式ドキュメント:FFmpeg Filters Documentation : pp
公式wiki:Postprocessing – FFmpeg

Continue reading “デノイズとインターレース解除ができる pp”

RGB レベルで明暗調整できる colorlevels

手軽に RGB を明るくしたり、暗くしたり、コントラストを上げ下げできるcolorlevelsフィルタの使い方。RGB を操作するフィルタにcurvesselectivecolorcolorbalanceなどがある。

基本コマンド

既定値では変化はない
ffmpeg -i img -vf colorlevels output
ffplay -i img -vf colorlevels

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

Continue reading “RGB レベルで明暗調整できる colorlevels”

CLUTから色を置換するhaldclut

映像や画像のCLUT(カラールックアップテーブル、カラーラットとも言われる)から色を置換するhaldclutフィルタの使い方。CLUTは一般に配布されているものを使うことができるが、解像度を所定のサイズにする必要がある。画像なら.pngや.tiffに。動画ならffv1の.nutや.mkv。floatなら.exrか、exrのmkvで出力する。

カラールックアップテーブルを適用するlut1d、lut3d

「RawTherapee Film Simulation Collection」の項目でCLUTをたくさん配布している。
Film Simulation – RawPedia : archive.org

Continue reading “CLUTから色を置換するhaldclut”

黒フレームを調べる blackframe

フレーム毎に黒フレームを調べるblackframeフィルタの使い方。輝度の値からどれだけ黒いかの設定があるのでシーンチェンジを調べるのに使える。blackdetectフィルタよりも設定方法が分かりやすい。

黒フレーム区間を調べる 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

Continue reading “黒フレームを調べる blackframe”

強力な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

Continue reading “強力な2次元デノイザ sab”

映像の黒枠の座標を検出する bbox

映像フレームの輝度チャンネルから黒枠を検出して黒枠以外の座標をコンソール上に表示する。cropdrawboxのコマンドも表示する。

基本コマンド

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 まで