
左が元の映像、右が boxblur=12:2。半径 12 のぼかしを 2 回かけた状態です。
素材: Tears of Steel (CC) Blender Foundation | mango.blender.org、CC BY 3.0。映画の1フレームを切り出し、フィルターで加工しています。
基本コマンド
軽いぼかし
ffmpeg -i input.mp4 -vf "boxblur=2:1" output.mp4
値は luma_radius:luma_power(半径:繰り返す回数)の順です。2:1 は軽いぼかしです。
強いぼかし
ffmpeg -i input.mp4 -vf "boxblur=10:3" output.mp4
半径 10、繰り返し 3 回で、強めにぼけます。逆に輪郭をくっきりさせたいときは、unsharp フィルタを使います。
パラメータ詳細
boxblur=luma_radius:luma_power[:chroma_radius:chroma_power[:alpha_radius:alpha_power]]
| パラメータ | 意味 | デフォルト |
|---|---|---|
luma_radius |
輝度(明るさ)のぼかし半径 | 2 |
luma_power |
ボックスブラーを繰り返す回数 | 2 |
chroma_radius |
彩度(色)のぼかし半径 | luma_radius と同じ |
chroma_power |
彩度の繰り返し回数 | luma_power と同じ |
alpha_radius |
アルファチャンネルのブラー半径 | luma_radius と同じ |
alpha_power |
アルファの繰り返し回数 | luma_power と同じ |
輝度だけぼかして色情報を保持する
ffmpeg -i input.mp4 -vf "boxblur=luma_radius=10:luma_power=3:chroma_radius=0:chroma_power=0" output.mp4
chroma_radius=0 にすると、色はぼかしません。細かい模様(テクスチャ)だけを消したいときに使えます。
名前付き引数で書く
数字だけで書くと、順番を間違えやすくなります。名前を付けて書くと確実です。
ffmpeg -i input.mp4 \
-vf "boxblur=luma_radius=5:luma_power=2" \
output.mp4
繰り返し回数(power)の効果
ボックスブラーは、周りの四角い範囲の画素を単純に平均するぼかしです。何回も繰り返すと、ガウシアンブラーに近い、なめらかなぼけ方になります。
luma_power |
特徴 |
|---|---|
1 |
シンプルなボックスブラー |
2 |
やや滑らか |
3 |
ガウシアンブラーに近い滑らか |
4+ |
さらに滑らか(処理時間増加) |
映像全体をぼかす(プライバシー保護)
ffmpeg -i input.mp4 -vf "boxblur=20:5" output.mp4
画面全体が同じ強さでぼけます。人物などの被写体もぼけるので、背景だけをぼかす用途には使えません。一部だけをぼかすときは、次の方法を使います。
特定領域だけをぼかす
crop で切り出した部分をぼかし、overlay で元の映像の同じ位置に重ねます。顔やナンバープレートを隠したいときは、動く対象を追いかける方法まで載せた動画の一部にモザイク・ぼかしをかける手順も参考にしてください。
ffmpeg -i input.mp4 \
-vf "split[a][b]; \
[a]crop=200:100:50:50,boxblur=15:3[blurred]; \
[b][blurred]overlay=50:50" \
output.mp4
crop=W:H:X:Y— 幅200・高さ100、座標(50,50)から切り出しoverlay=X:Y— 元映像の(50,50)に重ねる
静止画への適用
ffmpeg -i input.jpg -vf "boxblur=5:2" output.jpg
実測: 処理時間とサイズ
計測したコマンドは次のとおりです。
ffmpeg -i input.mp4 -vf boxblur=10:3 -c:v libx264 -crf 23 -preset medium -an output.mp4
| 項目 | 実測値 |
|---|---|
| 処理時間 | 59.37 秒(実時間の 2.02 倍速) |
| 出力サイズ | 14.7 MB |
| フィルタなし再エンコードとの比較 | -83% |
計測環境: Intel Core i9-14900KF(32スレッド)/ FFmpeg 8.1 (gyan.dev) / Windows。素材は 1920x1080・30fps・120秒・351.4 MB の H.264 動画(Big Buck Bunny をループ、CC BY 3.0)。2026-09-05、各コマンドを1つずつ順に実行。数値はデータセットで公開しています。
数字の読み方
処理時間には、ぼかしの計算が上乗せされます。同じ素材・同じ設定で、フィルタなしの再エンコードは 27.97 秒でした。boxblur を入れると 59.37 秒です。増えた時間は、ぼかしの処理の分です。ぼかした映像は細かい部分が減るので(下のサイズを参照)、x264 のエンコードはむしろ速くなります。同じ計測のほかのフィルタは、720p への縮小が 18.43 秒、curves が 42.01 秒、colorbalance + eq が 53.29 秒でした。boxblur はこの中でいちばん重い部類です。1つのスレッドだけで処理し、luma_power の回数だけぼかしを繰り返すためです。半径を大きくしても、処理時間はほとんど変わりません。
それでも、動画の再生時間よりは速く終わります。120秒の素材が 59.37 秒で、再生時間の半分以下でした(32スレッドの CPU の場合)。コア数の少ないパソコンでは、ここまで速くはなりません。
ファイルサイズは 83% 小さくなりました。フィルタなしの再エンコードは 86.26 MB、boxblur を入れると 14.7 MB です。CRF は、同じ見た目の画質になるようにデータ量を配分する設定です。ぼかすと細かい部分(高周波成分)が消えるので、x264 が記録すべき情報そのものが減ります。
ぼかしには -c copy(再エンコードせずに書き写す指定)は使えません。同じ計測で、ストリームコピーで済む処理は、ファイルの入れ物を書き換えるだけなので 0.41〜0.49 秒で終わりました。ぼかしは画素を書き換えるので、デコード → フィルタ → 再エンコードをすべて行う必要があります。長い動画の処理時間を見積もるときは、まず再エンコードが必要かどうかを考えてください。
gblur(ガウシアンブラー)との比較
| フィルタ | 特徴 | 処理時間 |
|---|---|---|
boxblur |
均一なぼかし。繰り返しでガウシアンに近づく。1つのスレッドで処理 | 2.71 秒(boxblur=10:3) |
gblur |
数学的なガウシアン分布によるなめらかなぼかし。複数のスレッドで処理 | 0.66 秒(gblur=sigma=13) |
unsharp |
ぼかし+シャープネス制御が一体。複数のスレッドで処理。マトリクスに上限があり、強くはぼかせない | 0.76 秒(unsharp=13:13:-1.5:5:5:0.0) |
処理時間は、1080p・300フレームの非圧縮映像にフィルタだけをかけ、-f null に出力して計った値です(Core i9-14900KF / FFmpeg 8.1、各1回。フィルタなしは 0.27 秒)。gblur=sigma=13 は、boxblur=10:3 とほぼ同じ強さのぼかしです。boxblur の時間は半径ではなく繰り返し回数で変わり、boxblur=2:3 が 2.61 秒、boxblur=100:3 が 2.85 秒、boxblur=10:1 が 1.75 秒、boxblur=10:6 が 5.98 秒でした。
手軽なぼかしなら boxblur、仕上がりを重視するなら gblur を選びます。ただし、速さは boxblur の利点になりません。複数のコアがあるパソコンでは、gblur のほうが速く終わります。
NG例
NG例: 半径が大きすぎる(1080p の上限は 270。chroma_radius を小さくすれば 540 まで)
ffmpeg -i input.mp4 -vf "boxblur=600:1" output.mp4
半径に指定できるのは、0 から、ぼかす画像の「幅と高さの短いほうの半分」までです。1080p の輝度では 540 が上限なので、600 を指定すると Invalid luma_param radius value 600, must be >= 0 and <= 540 というエラーになります。また、多くの動画は色の情報を縦横半分の大きさで持っている(4:2:0)ので、色の上限は 270 です。chroma_radius を指定しないと luma_radius と同じ値になるため、271〜540 もエラーになります(300 なら Invalid chroma_param radius value 300, must be >= 0 and <= 270)。輝度をもっと強くぼかしたいときは、boxblur=500:1:250:1 のように色の半径を小さくします。0 はエラーになりませんが、ぼかしはかかりません。
関連フィルタ
gblur— ガウシアンブラーunsharp— アンシャープマスク(ブラーとしても使用可能)smartblur— エッジを保ちながらぼかすpixelize— ピクセレート(モザイク)効果
よくある質問
boxblur と gblur、どっちを使う?
boxblur は、サムネイルのようなぼかしなら十分です。gblur はより自然なぼけ方になり、複数のスレッドで処理するので、同じくらいの強さなら boxblur より速く終わります。ただし、どちらも顔や文字を確実に隠す方法ではありません。ぼかしには元の映像の情報が残るためです。絶対に見られたくないものは、drawbox の t=fill などの不透明な色で塗りつぶしてください。
矩形範囲だけぼかすには?
対象の部分を crop で切り出してぼかし、同じ座標に overlay で重ねます。入力の [0] を2回使うので、-vf ではなく -filter_complex に書きます(-vf に書くとエラーになります)。
ffmpeg -i input.mp4 -filter_complex "[0]crop=200:100:50:50,boxblur=10[b];[0][b]overlay=50:50" output.mp4
ぼかしが思ったより弱い
boxblur で指定するのは、強さではなく半径です。半径 2 では、5×5 ピクセルの範囲しか平均しません。1080p ではっきりぼかしたいなら、8〜15 くらいを使ってください。
boxblur を多段適用できる?
できます。boxblur=10:1,boxblur=10:1 のように、カンマでつなげます。軽いぼかしを何回か重ねるほうが、1回で強くかけるより、自然なガウス分布に近いぼけ方になります。
アルファチャンネルは保持される?
入力にアルファチャンネル(透明度の情報)があれば残ります。ただし、alpha_radius と alpha_power を指定しないと、輝度と同じ設定でアルファもぼけて、透明な部分との境目がなだらかになります。アルファをぼかしたくないときは、boxblur=4:1:alpha_power=0 のように alpha_power=0 を付けてください。RGBA の入力は、boxblur が扱える形式(gbrap)に自動で変換されてから処理されます。