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

アスペクト比を変えて余白にぼかし映像を追加する。
ffplay -f lavfi -i testsrc2=s=1584x896 -vf "setsar=1,split[crp0][crp1];[crp0]scale=1920:1080,setsar=1:1,gblur=sigma=30[blur];[blur][crp1]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2"

overlayフィルタの代わりにxstackフィルタでかぶせることもできるが、ノイズがのって正常な映像にならない。
ffplay -f lavfi -i testsrc2=s=1584x896 -vf "split[crp0][crp1];[crp0]scale=1920:1080,setsar=1:1,gblur=sigma=30[blur];[blur][crp1]xstack=layout=0_0|168_92"

解像度が一致しなくても映像を並べられる xstack
FFmpeg: How to render horizontal non full hd video with black frames, to video in 1920×1080, with blurred background – Stack Overflow

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

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