rgbashift, chromashift

rgbashift

Watch on youtube.com
doc

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

shifting red pixels horizontally

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

"../../ffmpeg-20190108-8a1fc95-win64-shared/bin/ffmpeg" -y \
  -i "${ifn}" -vf "rgbashift=rh=-50" \
  -an "${pref}_${ifnb}".mp4

shifting red pixels vertically

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

"../../ffmpeg-20190108-8a1fc95-win64-shared/bin/ffmpeg" -y \
  -i "${ifn}" -vf "rgbashift=rv=-50" \
  -an "${pref}_${ifnb}".mp4

shifting green pixels horizontally

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

"../../ffmpeg-20190108-8a1fc95-win64-shared/bin/ffmpeg" -y \
  -i "${ifn}" -vf "rgbashift=gh=-50" \
  -an "${pref}_${ifnb}".mp4

shifting green pixels vertically

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

"../../ffmpeg-20190108-8a1fc95-win64-shared/bin/ffmpeg" -y \
  -i "${ifn}" -vf "rgbashift=gv=-50" \
  -an "${pref}_${ifnb}".mp4

shifting blue pixels horizontally

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

"../../ffmpeg-20190108-8a1fc95-win64-shared/bin/ffmpeg" -y \
  -i "${ifn}" -vf "rgbashift=bh=-50" \
  -an "${pref}_${ifnb}".mp4

shifting blue pixels vertically

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

"../../ffmpeg-20190108-8a1fc95-win64-shared/bin/ffmpeg" -y \
  -i "${ifn}" -vf "rgbashift=bv=-50" \
  -an "${pref}_${ifnb}".mp4

edge=smear

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

"../../ffmpeg-20190108-8a1fc95-win64-shared/bin/ffmpeg" -y \
  -i "${ifn}" -vf "rgbashift=bv=-50:edge=smear" \
  -an "${pref}_${ifnb}".mp4

chromashift

doc

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

I will not show the processing result of “chromashift”. The first reason is that the usage is the same as “rgbashift”. Another reason is that human beings are not good at identifying chroma, so the processing results are very difficult to perceive. (In other words, the processing result will confuse you.)

shifting chroma-blue pixels horizontally

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

"../../ffmpeg-20190108-8a1fc95-win64-shared/bin/ffmpeg" -y \
  -i "${ifn}" -vf "chromashift=cbh=-30" \
  -an "${pref}_${ifnb}".mp4

shifting chroma-blue pixels vertically

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

"../../ffmpeg-20190108-8a1fc95-win64-shared/bin/ffmpeg" -y \
  -i "${ifn}" -vf "chromashift=cbv=-30" \
  -an "${pref}_${ifnb}".mp4

shifting chroma-red pixels horizontally

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

"../../ffmpeg-20190108-8a1fc95-win64-shared/bin/ffmpeg" -y \
  -i "${ifn}" -vf "chromashift=crh=-30" \
  -an "${pref}_${ifnb}".mp4

shifting chroma-red pixels vertically

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

"../../ffmpeg-20190108-8a1fc95-win64-shared/bin/ffmpeg" -y \
  -i "${ifn}" -vf "chromashift=crv=-30" \
  -an "${pref}_${ifnb}".mp4