この記事でわかること
eqフィルタで明度・コントラスト・ガンマ・彩度を変更するコマンド- 各パラメータの意味と値の範囲
- 複数パラメータを組み合わせた実用的な補正
- 動的に変化するパラメータの指定方法
テスト済みバージョン: FFmpeg 6.1(検証スクリプトで実 FFmpeg 実行確認)
対象 OS: Windows / macOS / Linux
基本コマンド
明度を上げる
ffmpeg -i input.mp4 -vf "eq=brightness=0.1" output.mp4
brightness の範囲は -1.0 〜 1.0、デフォルトは 0。正の値で明るく、負の値で暗くなります。eq・curves・colorbalance を使い分ける全体像はFFmpegのカラーコレクション総合ガイドにまとめています。
コントラストを上げる
ffmpeg -i input.mp4 -vf "eq=contrast=1.5" output.mp4
contrast の範囲は -1000.0 〜 1000.0、デフォルトは 1。1 で変化なし、大きいほどコントラストが強くなります。ハイライトやシャドウを別々に追い込みたい場合はcurves フィルタでトーンカーブ補正する方が細かく制御できます。
ガンマ補正する
ffmpeg -i input.mp4 -vf "eq=gamma=1.5" output.mp4
gamma の範囲は 0.1 〜 10.0、デフォルトは 1。1 で変化なし、1.5 以上でシャドウが持ち上がります。
彩度を調整する
ffmpeg -i input.mp4 -vf "eq=saturation=1.5" output.mp4
saturation の範囲は 0.0 〜 3.0、デフォルトは 1。0 でグレースケール、1.5 で鮮やかに。
パラメータ一覧
| パラメータ | 説明 | デフォルト | 範囲 |
|---|---|---|---|
contrast | コントラスト | 1.0 | -1000 〜 1000 |
brightness | 明度オフセット | 0.0 | -1.0 〜 1.0 |
saturation | 彩度倍率 | 1.0 | 0.0 〜 3.0 |
gamma | ガンマ補正 | 1.0 | 0.1 〜 10.0 |
gamma_r | 赤チャンネルのガンマ | 1.0 | 0.1 〜 10.0 |
gamma_g | 緑チャンネルのガンマ | 1.0 | 0.1 〜 10.0 |
gamma_b | 青チャンネルのガンマ | 1.0 | 0.1 〜 10.0 |
gamma_weight | ハイライト保護の重み | 1.0 | 0.0 〜 1.0 |
複数パラメータを同時指定する
ffmpeg -i input.mp4 -vf "eq=brightness=0.05:contrast=1.2:saturation=1.3:gamma=1.1" output.mp4
コロン(:)で区切って複数パラメータを同時指定できます。
チャンネル別ガンマ補正でホワイトバランスを調整する
ffmpeg -i input.mp4 -vf "eq=gamma_r=0.9:gamma_g=1.0:gamma_b=1.1" output.mp4
赤チャンネルを少し下げ、青を上げることで冷たい色味に調整できます。
グレースケール変換
ffmpeg -i input.mp4 -vf "eq=saturation=0" output.mp4
saturation=0 でグレースケール変換ができます。
動的パラメータ(時間で変化)
eq フィルタは FFmpeg 式(expression)に対応しています。
ffmpeg -i input.mp4 -vf "eq=brightness='0.1*sin(t)'" output.mp4
t は現在のタイムスタンプ(秒)です。明度が正弦波状に変化するエフェクトになります。
実用的な補正例
暗い映像を明るく補正する
ffmpeg -i input.mp4 -vf "eq=brightness=0.1:contrast=1.1:gamma=1.3" output.mp4
色あせた映像を鮮やかにする
ffmpeg -i input.mp4 -vf "eq=saturation=1.4:contrast=1.15" output.mp4
映像に硬質感を出す(シネマ風)
ffmpeg -i input.mp4 -vf "eq=contrast=1.2:saturation=0.85:gamma=0.95" output.mp4
NG例
NG例: saturatoin (スペルミス)
ffmpeg -i input.mp4 -vf "eq=saturatoin=1.5" output.mp4
パラメータ名のスペルミスは Invalid option エラーになります。
hue フィルタとの違い
| 機能 | eq | hue |
|---|---|---|
| 明度 | ✓(オフセット) | ✓(オフセット) |
| コントラスト | ✓ | ✗ |
| ガンマ | ✓ | ✗ |
| 彩度 | ✓ | ✓ |
| 色相回転 | ✗ | ✓ |
細かなトーン調整には eq、色相の変更には hue が適しています。
実測例
1080p/30fps、2分の H.264 動画に明度・コントラスト・彩度を同時に調整する例です。
ffmpeg -i input.mp4 \
-vf "eq=brightness=0.04:contrast=1.15:saturation=1.2:gamma=1.05" \
-c:v libx264 -crf 23 -preset medium -c:a copy \
output.mp4
eq は軽量なフィルタですが、映像フィルタを通すため -c:v copy は使えません。8コア程度のデスクトップ環境では、処理時間は実時間の1〜2倍程度が目安です。
同じCRFで出力する場合、ファイルサイズは補正内容に左右されます。暗部を持ち上げるとノイズが見えやすくなり、サイズが増えることがあります。逆に彩度を落としたり暗くしたりすると、サイズが下がる場合もあります。環境により変動します。
実務では、brightness を大きく上げるより gamma と contrast を少しずつ組み合わせる方が自然に見えることが多いです。暗い素材なら brightness=0.03、gamma=1.1、contrast=1.05 程度から始め、白飛びや黒つぶれが出ないか短い区間で確認します。
最終確認では肌色と白い背景を優先して見ます。
数値を少し変えただけでも印象が変わるため、設定値はメモして比較します。
つまずきやすいポイント
-
症状:
Invalid optionでエラーになる。 原因:saturatoinのようなパラメータ名のスペルミス。対処:brightness・contrast・saturation・gammaの綴りを確認します。本記事のパラメータ一覧表の名前をそのままコピーすると確実です。 -
症状: 明るくしたら白飛びが激しい。 原因:
brightnessを大きく上げ過ぎてハイライトが 255 に張り付いている。対処:brightnessは小さめ(0.03〜0.05)にとどめ、gamma=1.1とcontrast=1.05を組み合わせると暗部だけ持ち上がり白飛びしにくくなります。 -
症状: 動的式
brightness='0.1*sin(t)'が定数として扱われる。 原因: クォートが外れて式が評価されていない。対処: 式部分を必ず'...'で囲み、フィルタ全体を"..."で囲む二重クォート構造を保ちます。 -
症状: 再エンコードで時間がかかる/
-c:v copyが使えない。 原因:eqは画素を書き換える映像フィルタなので必ず再エンコードされる。対処: 音声は-c:a copyで保持し、画質はまず短い区間でcrfを調整してから全体に適用します。
よくある質問
Q. brightness と gamma はどう違いますか。
A. brightness は全体に一定値を足すオフセットで、暗部も明部も均等に動きます。gamma は非線形で、主に中間〜暗部のトーンを持ち上げ(>1)たり沈め(<1)たりします。自然に明るくしたいときは gamma の方が破綻しにくいです。
Q. グレースケールにする一番簡単な方法は。
A. eq=saturation=0 です。色情報を完全に落とせます。
Q. ホワイトバランスを調整できますか。
A. gamma_r・gamma_g・gamma_b のチャンネル別ガンマで擬似的に補正できます。赤を下げ青を上げると寒色寄り、その逆で暖色寄りになります。
Q. contrast の範囲が広い(-1000〜1000)のはなぜですか。
A. 仕様上の許容範囲です。実用では 0.8〜1.5 程度で十分で、極端な値はすぐ破綻します。1 が無変化の基準です。
Q. eq と curves はどちらを使うべきですか。
A. 全体の明度・彩度・ガンマをまとめて少し動かすなら eq が手軽です。ハイライトとシャドウを別々に追い込むなど細かいトーン制御が必要なら curves が適しています。
関連フィルタ
hue— 色相・彩度・輝度の調整curves— トーンカーブベースの色補正colorbalance— シャドウ・ミッド・ハイライトの色調補正
関連リソース
よく使うオプション・フィルタ・コーデック設定をまとめた PDF チートシートです。手元に置いておくと調べる時間を短縮できます。