解像度を変えずに上下左右を特定色で埋めるfillborders
フィルタの使い方。上下左右にロゴや不要な映像が入っているときに真っ黒にしたり、4:3解像度の映像を16:9にするときにpad
フィルタを使って左右に余白を追加し、その余白を合わせ鏡のように変えることも出来る。
基本コマンド
左右100ピクセルを隣接した色で埋める。
ffmpeg -i input -vf fillborders=left=100:right=100 output
ffplay -i input -vf fillborders=100:100
上下100ピクセルを白枠に変える。
ffmpeg -i input -vf fillborders=top=100:bottom=100:mode=fixed:color=white output
ffplay -i input -vf fillborders=0:0:100:100:2:white
ピクセルが入力幅の半分までなので求める映像の2倍幅を入力して半分にクロップするとグラデーションになる。
ffplay -f lavfi -i color=s=640x960:c=black,fillborders=0:0:480:0:fade:white,crop=640:480:0:0
またはグレー背景にホワイトとブラックを上下にフェードする。
ffplay -f lavfi -i color=s=640x480:c=gray,fillborders=0:0:240:0:fade:white,fillborders=0:0:0:240:fade:black
geq
フィルタでもグラデーションを作れる。
数式で線や円、模様が描ける geq
公式ドキュメント:FFmpeg Filters Documentation : fillborders
オプション
- left[int]
左のピクセル数の指定
既定値:0
範囲:0からINT_MAX(横解像度の半分)まで - right[int]
右のピクセル数の指定
既定値:0
範囲:0からINT_MAX(横解像度の半分)まで - top[int]
上のピクセル数の指定
既定値:0
範囲:0からINT_MAX(縦解像度の半分)まで - bottom[int]
下のピクセル数の指定
既定値:0
範囲:0からINT_MAX(縦解像度の半分) まで - mode[int] 上で指定したピクセルの埋め方
- smear, 0:隣接する色で埋める。既定値
- mirror, 1:合わせ鏡にする(半分のサンプル)
- fixed, 2:colorの指定色
- reflect, 3:合わせ鏡にする
- wrap, 4:向かい側の映像を複製する
- fade, 5:colorの指定色でフェードする
- margins, 6:境界付近のピクセルを加重平均する。smearよりぼやける
- color[color]
fixed、fadeの色を指定する
既定値:”black”(000000)