強力な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...
View Article個別チャンネルの値を映像の場所毎に確認できる datascope
YUV(A) や RGB(A) の数値を2桁の16進数で映像にオーバーレイして確認できる datascope フィルタの使い方。数値ではなく映像で表示するフィルタに histogram フィルタがあるが datascope フィルタの方が直感的に任意の場所の数値が読み取れる。ただし表示できる範囲は全画面ではなく 1px 毎に表示されるので全体の変化を大まかに調べるのには向かない。 ffmpeg...
View Article黒フレーム区間を調べる blackdetect
黒フレーム区間を調べる blackdetect フィルタの使い方。輝度の値からどれだけ黒いかの設定があるのでシーンチェンジを調べるのに使える。 基本コマンド コンソールの表示されるのでテキストにリダイレクトした方が見やすい ffmpeg -i input -vf blackdetect=2.0:.98:.1 -f null - ffmpeg -i input -vf...
View Article黒フレームを調べる blackframe
黒フレームを調べる blackframe フィルタの使い方。輝度の値からどれだけ黒いかの設定があるのでシーンチェンジを調べるのに使える。blackdetect よりも設定方法が分かりやすい。 基本コマンド コンソールの表示されるのでテキストにリダイレクトした方が見やすい ffmpeg -i input -vf blackframe=98:32 -f null - ffmpeg -i input...
View ArticleCLUT データから色を置換する haldclut
映像や画像 の CLUT(カラールックアップテーブル、カラーパレットとも言われる)データから色を置換する haldclut フィルタの使い方。CLUT 画像は一般に配布されているものを使うことができるが、解像度を所定のサイズにする必要がある。 基本コマンド CLUT データを準備する ffmpeg -f lavfi -i haldclutsrc=8:d=10 -vf...
View ArticleRGB レベルで明暗調整できる colorlevels
手軽に RGB を明るくしたり、暗くしたり、コントラストを上げ下げできる colorlevels フィルタの使い方。RGB を操作するフィルタに curves や selectivecolor、colorbalance などがある。 トーンカーブで RGB の調整が出来る curves RGB, CMYK を個別に調整できる selectivecolor Windows の ffmpeg...
View Articleデノイズとインターレース解除ができる pp
pp(postprocessing)フィルタとは、デコード段階でフィルタを当てるフィルタを意味するが、フィルタチェーンでの pp の位置によってフィルタが当たる順番も変わる。用途に合わせてたくさん種類があるので使いこなすのは難しい。ビルドオプションに --enable-gpl が付いてないと使えない。 同様のフィルタに fspp, pp7, spp, uspp があるが、順番に負荷が大きくなり...
View Article速くて単純なポストプロセッシングフィルタ 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...
View Articleエッジ部分に調整のあるポストプロセッシングフィルタ 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...
View Article写真など傾いた対象を修正する perspective
斜めから撮った写真や動画をまっすぐから見たように修正する perspective フィルタの使い方。修正部分だけを取り出すには crop フィルタを併用する。crop フィルタを併用しないと出力解像度が元の解像度のままになりアスペクト比がおかしくなる。 基本コマンド 既定値のコマンドだと何も変化しない ffmpeg -i nput -vf...
View Article一定間隔で映像に線を引く drawgrid
映像に縦線や横線、または格子状に直線を引く drawgrid フィルタの使い方。 基本コマンド 100×100 毎に太さ2pxで赤の半分透過した格子状の線を引く ffmpeg -i input -vf drawgrid=width=100:height=100:thickness=2:color=red@0.5 output ffmpeg -i input -vf...
View Article映像フィルタを当てる前後のデータを見える化する
ffmpeg には多くの映像フィルタと音声フィルタがあるが、その効果を調べるのに主観的な判断だけではなく、客観的な判断ができるように数値を映像に表示したり、ヒストグラムを表示したりすることで映像で差違を見える化する。null フィルタを別のフィルタに変更することでフィルタを当てた同士で比較できる。 ヒストグラムで YUV を比較 フィルタを当てる前後をヒストグラムで比較する...
View Article映像の差分を加算する maskedclamp
ffmpeg 3.2 でリリース予定のビデオフィルタ。映像を3入力し、1入力を基本の映像として、1入力と比較して2入力は差分の値がプラスのときに、1入力と比較して3入力は差分の値がマイナスのときに、その差分だけ1入力と入れ換える maskedclamp フィルタの使い方。同じようなことが blend フィルタでもできるが、こちらは3入力できるところが特徴である。 基本コマンド...
View Article2入力の LUT を手軽に入れ替えられる lut2
ffmpeg 3.2 でリリース予定のビデオフィルタ。映像の YUV や RGB を別の映像と入れ換えるときに今までは extractplanes で対象チャンネルを取り出して、mergeplanes で合わせていたのが lut2 だけで入れ換えることができる。ただし複数入力するビデオフィルタでは同じ解像度と SAR でないとエラーが出る。 各映像チャンネルを分離する extractplanes...
View Articleffmpeg でフレーム補間する minterpolate
ffmpeg 3.2 でリリース予定のビデオフィルタ。前後フレームから中間フレームを作り出す minterpolate フィルタの使い方。無料でフレーム補完する方法には AviSynth+MvTools が一般的だが、もっと手軽に1コマンドでフレーム補完した動画を作ることができる。 基本コマンド かなり負荷が高く、シングルスレッドしか働かないので出力解像度を小さくしないと ffplay...
View Articleウェーブレットデノイザ vaguedenoiser
ffmpeg 3.2 でリリース予定のビデオフィルタ。Cohen-Daubechies-Feauveau(CDF) 9/7 のウェーブレットデノイザ。フィルタを当てるチャンネルを指定できる。 基本コマンド ffmpeg -i input -vf vaguedenoiser=threshold=2:method=2:nsteps=6:percent=85:planes=15 output ffmpeg...
View Article複数の映像を1つの映像に交互に挟む interleave
2以上の映像を交互に1つの連続した映像で出力する interleave フィルタの使い方。出力フレーム数は1入力のフレーム数が上限になるので複数映像を交互に挟んで出力する場合はあらかじめフレーム数を減らしておく必要がある。 基本コマンド 偶数と奇数フレームに分けて合わせている。適宜 null フィルタを変更。このコマンドでは何も変化しない ffmpeg -i input -vf...
View Article2つの連続したフィールドを1つのフレームで出力する weave
ffmpeg 3.2 でリリース予定のビデオフィルタ。フィールドを合わせてフレームにする weave フィルタの使い方。縦解像度が2倍になり、フレームレートとフレーム数は2分の1になる。 基本コマンド separatefields でフィールド分解したのをフレームに戻す。つまり何も変わらない ffmpeg -i input -vf separatefields,weave output ffplay...
View Articleエッジ検出フィルタ sobel, prewitt
ffmpeg 3.2 でリリース予定のビデオフィルタ。エッジ検出フィルタに単体では edgedetect と frei0r の sobel があり、カーネルを指定する convolution でもエッジ検出ができるが、今回のこれらのフィルタは手軽でエッジ部分の線が太いのでマスクするのにも便利。sobel と prewitt はカーネルが少し異なるがオプションは同じである。 ffmpeg...
View Articleガウシアンブラー gblur
ffmpeg 3.2 でリリース予定のビデオフィルタ。ガウシアンカーネルを使ってしてぼかす gblur フィルタの使い方。カーネルについては convolution フィルタでも使えるが、具体的な内容は省略。 基本コマンド 既定値のオプションを当てる ffmpeg -i input -vf gblur=sigma=0.5:steps=1:planes=15:sigmaV=-1 output...
View Article