hue (1) - hue angle

Watch on youtube.com
doc

https://ffmpeg.org/ffmpeg-filters.html#hue

Specify the hue angle as a number of radians

hue=H=0.125

00:00:00
#! /bin/sh
ifn="Pexels_2880_2877_fast.mp4"
ifnb="`basename \"${ifn}\" .mp4`"
pref="`basename $0 .sh`"

ffmpeg -y -i "${ifn}" -vf 'hue=H=0.125' \
  -an "${pref}_${ifnb}.mp4"

hue=H=0.250

00:00:01
#! /bin/sh
ifn="Pexels_2880_2877_fast.mp4"
ifnb="`basename \"${ifn}\" .mp4`"
pref="`basename $0 .sh`"

ffmpeg -y -i "${ifn}" -vf 'hue=H=0.250' \
  -an "${pref}_${ifnb}.mp4"

hue=H=0.375

00:00:03
#! /bin/sh
ifn="Pexels_2880_2877_fast.mp4"
ifnb="`basename \"${ifn}\" .mp4`"
pref="`basename $0 .sh`"

ffmpeg -y -i "${ifn}" -vf 'hue=H=0.375' \
  -an "${pref}_${ifnb}.mp4"

hue=H=0.500

00:00:04
#! /bin/sh
ifn="Pexels_2880_2877_fast.mp4"
ifnb="`basename \"${ifn}\" .mp4`"
pref="`basename $0 .sh`"

ffmpeg -y -i "${ifn}" -vf 'hue=H=0.500' \
  -an "${pref}_${ifnb}.mp4"

hue=H=0.625

00:00:06
#! /bin/sh
ifn="Pexels_2880_2877_fast.mp4"
ifnb="`basename \"${ifn}\" .mp4`"
pref="`basename $0 .sh`"

ffmpeg -y -i "${ifn}" -vf 'hue=H=0.625' \
  -an "${pref}_${ifnb}.mp4"

hue=H=0.750

00:00:07
#! /bin/sh
ifn="Pexels_2880_2877_fast.mp4"
ifnb="`basename \"${ifn}\" .mp4`"
pref="`basename $0 .sh`"

ffmpeg -y -i "${ifn}" -vf 'hue=H=0.750' \
  -an "${pref}_${ifnb}.mp4"

hue=H=0.875

00:00:09
#! /bin/sh
ifn="Pexels_2880_2877_fast.mp4"
ifnb="`basename \"${ifn}\" .mp4`"
pref="`basename $0 .sh`"

ffmpeg -y -i "${ifn}" -vf 'hue=H=0.875' \
  -an "${pref}_${ifnb}.mp4"

hue=H=1.000

00:00:10
#! /bin/sh
ifn="Pexels_2880_2877_fast.mp4"
ifnb="`basename \"${ifn}\" .mp4`"
pref="`basename $0 .sh`"

ffmpeg -y -i "${ifn}" -vf 'hue=H=1.000' \
  -an "${pref}_${ifnb}.mp4"

hue=H=1.125

00:00:12
#! /bin/sh
ifn="Pexels_2880_2877_fast.mp4"
ifnb="`basename \"${ifn}\" .mp4`"
pref="`basename $0 .sh`"

ffmpeg -y -i "${ifn}" -vf 'hue=H=1.125' \
  -an "${pref}_${ifnb}.mp4"

hue=H=1.250

00:00:13
#! /bin/sh
ifn="Pexels_2880_2877_fast.mp4"
ifnb="`basename \"${ifn}\" .mp4`"
pref="`basename $0 .sh`"

ffmpeg -y -i "${ifn}" -vf 'hue=H=1.250' \
  -an "${pref}_${ifnb}.mp4"

hue=H=1.375

00:00:14
#! /bin/sh
ifn="Pexels_2880_2877_fast.mp4"
ifnb="`basename \"${ifn}\" .mp4`"
pref="`basename $0 .sh`"

ffmpeg -y -i "${ifn}" -vf 'hue=H=1.375' \
  -an "${pref}_${ifnb}.mp4"

hue=H=1.500

00:00:16
#! /bin/sh
ifn="Pexels_2880_2877_fast.mp4"
ifnb="`basename \"${ifn}\" .mp4`"
pref="`basename $0 .sh`"

ffmpeg -y -i "${ifn}" -vf 'hue=H=1.500' \
  -an "${pref}_${ifnb}.mp4"

hue=H=1.625

00:00:17
#! /bin/sh
ifn="Pexels_2880_2877_fast.mp4"
ifnb="`basename \"${ifn}\" .mp4`"
pref="`basename $0 .sh`"

ffmpeg -y -i "${ifn}" -vf 'hue=H=1.625' \
  -an "${pref}_${ifnb}.mp4"

hue=H=1.750

00:00:19
#! /bin/sh
ifn="Pexels_2880_2877_fast.mp4"
ifnb="`basename \"${ifn}\" .mp4`"
pref="`basename $0 .sh`"

ffmpeg -y -i "${ifn}" -vf 'hue=H=1.750' \
  -an "${pref}_${ifnb}.mp4"

hue=H=1.875

00:00:20
#! /bin/sh
ifn="Pexels_2880_2877_fast.mp4"
ifnb="`basename \"${ifn}\" .mp4`"
pref="`basename $0 .sh`"

ffmpeg -y -i "${ifn}" -vf 'hue=H=1.875' \
  -an "${pref}_${ifnb}.mp4"

Using expression

hue=H=(t/20*2.0)

In this example, since “Pexels_2880_2877.mp4” is a video of 20 seconds, it instructs to change by \(2\pi / 20\) per second.

00:00:22
#! /bin/sh
ifn="Pexels_2880_2877.mp4"
ifnb="`basename \"${ifn}\" .mp4`"
pref="`basename $0 .sh`"

ffmpeg -y -i "${ifn}" -vf 'hue=H=(t/20*2.0)' \
  -an "${pref}_${ifnb}.mp4"