この記事でわかること
chromakeyフィルタでクロマキー合成を行うコマンド- キーカラー・類似度(
similarity)・ブレンド(blend)のチューニング - 背景動画や静止画との合成方法
colorkeyフィルタとの違い
テスト済みバージョン: FFmpeg 6.1(ubuntu-latest / CI検証済み)
対象 OS: Windows / macOS / Linux
クロマキー合成の仕組み
chromakey は映像の特定の色(通常は緑または青)を透明(アルファ)に変換するフィルタです。透明になった部分に別の背景映像を重ねることで合成映像を作成します。
基本コマンド
グリーンバックをキーイングしてアルファ付き映像を生成する
ffmpeg -i input.mp4 \
-vf "chromakey=0x00FF00:0.1:0.2" \
-c:v png output.mov
引数の順序は color:similarity:blend です。
0x00FF00— グリーンのキーカラー(HEX)0.1— 類似度(0〜1、大きいほど広い範囲をキーイング)0.2— ブレンド(0〜1、エッジを滑らかにする)
背景静止画と合成する
ffmpeg -i background.jpg -i input.mp4 \
-filter_complex "[1:v]chromakey=0x00FF00:0.1:0.2[fg]; [0:v][fg]overlay" \
output.mp4
[1:v]chromakey=...でフォアグラウンド映像をキーイング[0:v][fg]overlayで背景と合成
背景動画と合成する
ffmpeg -i background.mp4 -i greenscreen.mp4 \
-filter_complex "[1:v]chromakey=0x00FF00:0.15:0.1[fg]; [0:v][fg]overlay" \
output.mp4
パラメータ詳細
| パラメータ | 説明 | 推奨値 |
|---|---|---|
color | キーカラー(色名またはHEX) | 0x00FF00 / green |
similarity | キーカラーの類似度しきい値(0〜1) | 0.08〜0.2 |
blend | エッジのブレンド量(0〜1) | 0.0〜0.3 |
similarity の目安
| 値 | 効果 |
|---|---|
0.01〜0.05 | 厳密(完全に緑の部分のみ除去) |
0.1〜0.2 | 標準(多少の色ムラに対応) |
0.3〜` | 広め(不均一な照明に対応、ただし被写体も除去される可能性) |
ブルーバック合成
ffmpeg -i background.jpg -i bluescreen.mp4 \
-filter_complex "[1:v]chromakey=0x0000FF:0.15:0.1[fg]; [0:v][fg]overlay" \
output.mp4
color を 0x0000FF(青)に変更するだけでブルーバックにも対応できます。
任意の色をキーカラーにする
映像内の特定の色をキーにしたい場合、ffprobe などで RGB 値を確認してから指定します。
ffmpeg -i background.jpg -i custom_screen.mp4 \
-filter_complex "[1:v]chromakey=0x00B400:0.12:0.15[fg]; [0:v][fg]overlay" \
output.mp4
colorkey フィルタとの違い
chromakey と colorkey は似ていますが動作する色空間が異なります。
| フィルタ | 色空間 | 特徴 |
|---|---|---|
chromakey | YCbCr(YUV) | 映像標準に適合、実写に適する |
colorkey | RGB | シンプル、CGやアニメに適する |
実写映像のグリーンバック合成には chromakey(YUV)を使うことが推奨されます。
アルファチャンネルが必要なコンテナ
キーイングした映像をアルファ付きで保存する場合、対応したコーデック・コンテナを使います。
# ProRes 4444 (MOV) でアルファ付き保存
ffmpeg -i greenscreen.mp4 \
-vf "chromakey=0x00FF00:0.1:0.2" \
-c:v prores_ks -profile:v 4 output.mov
# WebM (VP9) でアルファ付き保存
ffmpeg -i greenscreen.mp4 \
-vf "chromakey=0x00FF00:0.1:0.2" \
-c:v libvpx-vp9 -auto-alt-ref 0 output.webm
注意点
chromakeyは libavfilter に含まれており、追加ライブラリは不要です。- 均一な照明で撮影されたグリーンバックほどキーイング品質が上がります。
similarityが大きすぎると被写体の緑色部分(服・目など)も除去されます。blendを大きくするとエッジが半透明になりますが、フリンジが残りやすくなります。
関連フィルタ
関連リソース
よく使うオプション・フィルタ・コーデック設定をまとめた PDF チートシートです。手元に置いておくと調べる時間を短縮できます。