hue フィルタの適用前後の比較。左が元の映像、右は h=100 で色相を回転させ、木々が青緑、肌が緑、青い袖が紫に変わった状態

左が元の映像、右が hue=h=100:s=1.2 をかけた出力です。色相を 100 度回し、彩度を 1.2 倍にしています。木々は青緑に、肌は緑に、青い袖は紫に変わりました。

素材: Tears of Steel (CC) Blender Foundation | mango.blender.org、CC BY 3.0。映画の1フレームを切り出し、フィルターで加工しています。

基本コマンド

色相を回転させる

ffmpeg -i input.mp4 -vf "hue=h=90" output.mp4

色相は、赤・黄・緑・青といった色の種類を、円の上の角度で表したものです。h=90 で、すべての色を 90 度ずらします。値に範囲の制限はなく、360 度で一周します(h=270 と h=-90 は同じ結果です)。ラジアンで指定するときは H を使います。

彩度を調整する

ffmpeg -i input.mp4 -vf "hue=s=2.0" output.mp4

s は彩度(色の濃さ)の倍率です。デフォルトは 1.0 です。0 で白黒(グレースケール)、2.0 で色が濃くなります。明るさの段階ごとに色を調整したいときは、curves フィルタでトーンカーブ色補正する方法と組み合わせます。

輝度を調整する

ffmpeg -i input.mp4 -vf "hue=b=0.3" output.mp4

b は、明るさ(輝度)に足す値です。-10 から 10 まで指定でき、デフォルトは 0 です。コントラストやガンマも調整したいときは、eq フィルタで明度・コントラストを調整する方法を併用します。

パラメータ一覧

パラメータ 説明 デフォルト 範囲
h 色相の回転角度(度) 0 任意(360 で一周)
H 色相の回転角度(ラジアン) 0 任意
s 彩度の倍率 1 -10 〜 10
b 輝度のオフセット 0 -10 〜 10

h と H は同時に指定できません。どちらか一方を使います。

複数パラメータを同時指定する

ffmpeg -i input.mp4 -vf "hue=h=45:s=1.5:b=0.1" output.mp4

コロン(:)で区切ると、複数の設定を一度に指定できます。

グレースケール変換

彩度を 0 にすると、白黒(グレースケール)になります。

ffmpeg -i input.mp4 -vf "hue=s=0" output.mp4

同じような結果は colorchannelmixer フィルタでも得られますが、hue=s=0 がいちばん簡単です。

動的な色相変化(アニメーション表現)

hue の値には、計算式(FFmpeg の式)も書けます。時間によって変わる値も指定できます。

ffmpeg -i input.mp4 -vf "hue=h=120*sin(t/5)" output.mp4

t は、そのフレームの再生時刻(秒)です。この例では、色相が時間とともに波のように行ったり来たりします。

静止画への適用

ffmpeg -i input.jpg -vf "hue=h=180:s=1.2" output.jpg

静止画にも同じ書き方で使えます。

よくある使い方の例

黄色や肌の色を赤みに寄せる

ffmpeg -i input.mp4 -vf "hue=h=-15:s=1.2:b=0.05" output.mp4

色相を少しマイナス方向に回し、彩度を上げています。黄色や肌の色は赤みが増し、赤はピンク寄りに、青は水色寄りになります。白やグレーは色味が変わらず、b=0.05 のぶん少しだけ明るくなります。

色味を反転する(補色)

ffmpeg -i input.mp4 -vf "hue=h=180" output.mp4

色相を 180 度回すと、それぞれの色が反対側の色(補色)になります。

注意点

  • hue は YCbCr(YUV)の形式で処理します。RGB の映像を入力すると、hue の前後で形式の変換が入ることがあります。
  • 彩度(s)を大きくしすぎると、色の値が上限に張り付き(クリッピング)、色の濃淡がつぶれます。
  • b(明るさ)は値を足す調整で、掛け算ではありません。コントラストやガンマも調整したいときは eq フィルタを使います。

実測: 処理時間とサイズ

計測したコマンドは次のとおりです。

ffmpeg -i input.mp4 -vf hue=h=30:s=1.2 -c:v libx264 -crf 23 -preset medium -an output.mp4
項目 実測値
処理時間 27.06 秒(実時間の 4.44 倍速)
出力サイズ 88.97 MB
フィルタなし再エンコードとのサイズ差 +3.1%

計測環境: Intel Core i9-14900KF(32スレッド)、FFmpeg 8.1 (gyan.dev)、素材は 1920x1080・30fps・120秒・351.4 MB(Big Buck Bunny のループ、CC BY 3.0)。2026-09-05 に、各計測を1つずつ順に実行。数値はデータセットで公開しています。

数字の読み方

同じ素材・同じ x264 の設定で、フィルタをかけずに再エンコードすると 27.97 秒でした。hue=h=30:s=1.2 を入れると 27.06 秒で、2分の動画が再生時間の 4.44 倍の速さで終わりました。フィルタなしと変わらないので、時間のほとんどはエンコードにかかっています。hue は YCbCr のまま、画素ごとに色の成分を回したり伸ばしたりするだけで、周りの画素を使わないからです。

ただし、色を変えるフィルタがすべて軽いわけではありません。同じ計測で、curves は 42.01 秒、colorbalance と eq を重ねた色補正は 53.29 秒、周りの画素を平均する boxblur は 59.37 秒かかりました。curves と colorbalance は RGB で処理するので、各フレームを RGB に変換して戻す手間がかかります。どちらも出力が 4:4:4(yuv444p)になり、hue のように 4:2:0 のままのときよりエンコードに時間がかかりました。hue は、この中でいちばん軽い部類です。

サイズは 88.97 MB で、フィルタなしより 3.1% 大きくなりました。色相を30度回して彩度を1.2倍にすると、色の成分の分布が変わります。そのため、同じ CRF 23 でも x264 が使うデータ量が少し増えます。この計測はフィルタなしの側も含めて -an で音声を外しているので、映像だけのサイズの比較です。

処理時間を大きく左右するのは、フィルタの種類よりも、再エンコードするかどうかです。同じ計測で、映像を -c copy や -c:v copy(再エンコードせずにそのまま書き写す指定)で済ませる処理は、ストリームのマッピング 0.41 秒、moov アトムの移動 0.49 秒、音声フェード(音声だけ再エンコード)1.03 秒で、どれも1秒前後で終わりました。反対に、VP9 への変換は 729.16 秒かかりました。hue は画素を書き換えるので、-c copy は使えません。再エンコードする以上、27.06 秒からほとんど短くはなりません。処理時間を減らしたいなら、フィルタを軽くするより、色を変えなくてよい作業を -c copy で済ませるほうが効きます。

人の肌が映る実写の映像では、色相を大きく回すとすぐに不自然になります。色を直す目的なら h=-10〜10 くらい、演出でも h=30 前後から試してください。彩度を上げすぎると、赤や青がクリップしやすくなります。s=1.5 を超えるときは、短いサンプルで確認してから使います。

白黒にするだけなら hue=s=0 が手軽です。放送用など、明るさを正確に変換したいときは、format や colorspace を使う方法を検討してください。hue は見た目を調整するためのフィルタで、色管理の代わりにはなりません。

色相を時間で動かすときは、編集を終えた短いクリップで確認してから全体にかけてください。長い動画に強い色の変化を繰り返し入れると、見ている人は効果より違和感を覚えやすくなります。

SNS 向けの短い動画では、サムネイルになるフレームの色も確認します。動画として見ると自然でも、1フレームだけ切り出すと、肌や商品の色が大きくずれて見えることがあります。商品レビュー、料理、メイクの動画など、色の正確さが大事な映像では、hue より eq や curves で控えめに整えるほうが向いています。複数のカメラで撮った映像を混ぜるときは、全部に同じ hue の値をかけず、カメラごとに短いカットで確認してください。

hue は、ホワイトバランス(白を白く見せる調整)のためのフィルタではありません。白いものが全体に青っぽい、室内の照明で黄色っぽい、という映像を色相の回転だけで直そうとすると、ほかの色がくずれます。白やグレーを基準に直すときは、curves の色ごとのカーブや colorbalance を使うほうが自然に仕上がります。

関連フィルタ

  • eq — 明度・コントラスト・ガンマの調整
  • curves — トーンカーブベースの色補正
  • colorchannelmixer — チャンネル単位のカラーミックス
  • colorbalance — シャドウ・ミッド・ハイライトの色調補正