似たフィルタにsmartblurがあり、こちらもぼかしたりシャープにできる。RGB の映像は YUV に変換され、輝度だけ、彩度だけ、また両方にフィルタを当てられる。

基本コマンド

ffmpeg -i input -vf unsharp=lx=5:ly=5:la=1:cx=5:cy=5:ca=0:opencl=0 output
ffplay -i input -vf unsharp=5:5:1:5:5:0:0

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

オプション

輝度、または彩度のオプションを無効にするにはluma_amount, chroma_amountのオプションを 0 にする。

  • luma_msize_x, lx[int]
    輝度(Y)の横サイズの指定。lx + lyを26以下にする
    既定値:5
    範囲:3 から 23 までの奇数
  • luma_msize_y, ly[int]
    輝度(Y)の縦サイズの指定。lx + lyを26以下にする
    既定値:5
    範囲:3 から 23 までの奇数
  • luma_amount, la[float]
    輝度(Y)のフィルタ強度。プラスでシャープに、マイナスでぼかしに効果があり、値の絶対値が大きいほど効果も大きくなる
    適正値は -1.5 から 1.5 まで、0 で無効になる
    既定値:1
    範囲:-2 から 5 まで
  • chroma_msize_x, cx[int]
    彩度(UV)の横サイズの指定。cx + cyを26以下にする
    既定値:5
    範囲:3 から 23 までの奇数
  • chroma_msize_y, cy[int]
    彩度(UV)の横サイズの指定。cx + cyを26以下にする
    既定値:5
    範囲:3 から 23 までの奇数
  • chroma_amount, ca[float]
    彩度(UV)のフィルタ強度。プラスでシャープに、マイナスでぼかしに効果があり、値の絶対値が大きいほど効果も大きくなる
    適正値は -1.5 から 1.5 まで、0 で無効になる
    既定値:0
    範囲:-2 から 5 まで
  • opencl[boolean]
    configure の--enable-openclで有効化していればopenclが使えるが、効果がないように見えるのでunsharp_openclフィルタを使う
    既定値:0(無効)

unsharp_opencl

opencl を使ってunsharp_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,unsharp_opencl output

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

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

コメントを残す

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

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