ffmpeg 3.2 でリリースしたビデオフィルタ。隣り合うピクセルを平均化してぼかす avgblur フィルタの使い方。似たフィルタに gblur があるが、こちらは縦横に伸ばしたように輝度差がわかりやすい。CPU または GPU に opencl が使えると avgblur_opencl フィルタが使える。

基本コマンド

既定値のオプションを当てる
ffmpeg -i input -vf avgblur=sizeX=1:planes=15:sizeY=0 output
ffmpeg -i input -vf avgblur=1:15:0 output
ffplay -i input -vf avgblur=1:15:0

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

オプション

  • sizeX[int]
    横軸のカーネルのサイズ。大きい値ほどぼける
    既定値:1
    範囲:1 から 1024 まで
  • planes[int]
    フィルタを当てるチャンネル指定
    詳しくは ffmpeg について | チャンネルの順番と注意点 を参照
    既定値:15(すべてのチャンネル)
    範囲:0 から 15 まで
  • sizeY[int]
    縦軸のカーネルのサイズ
    既定値:0(sizeX と同じ値)
    範囲:0 から 1024 まで

コマンド例

映像を上下に鏡合わせして元の映像と縦に並べると水面に反射しているような効果がある
ffplay -i input -vf split[0][t];[0]vflip,avgblur=4:1:0[b];[t][b]vstack
FFmpeg Filters Documentation : vflip

avgblur_opencl

opencl を使って avgblur_opencl フィルタを使う。

opencl が使えれば以下のコマンドを実行すると対応 CPU、または GPU が表示される。
ffmpeg -hide_banner -v verbose -init_hw_device opencl

出力コマンド例。

ポイントは opencl を使うデバイスを上の例では 0.0 から 1.1 から指定する。能力によって処理速度が大きく異なる。オプション指定は通常と同じ。

コマンド例。
ffmpeg -init_hw_device opencl=ocl:1.0 -filter_hw_device ocl -i input -vf hwupload,avgblur_opencl=1:15:0 output

通常のフィルタに切り替えるには hwdownload,format=yuv420p フィルタを挟む。
ffmpeg -init_hw_device opencl=ocl:1.0 -filter_hw_device ocl -i input -vf hwupload,avgblur_opencl,hwdownload,format=yuv420p,lutyuv=val:128:128 output

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

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)