vectorscope

Watch on youtube.com
doc

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

Note

The scripts that created the uploaded video uses “split”, but in this case you don’t need “split”. There are many cases that can not be intended without “split” (“asplit” for audio). This is because as the filter graph becomes more complicated, data to be passed downstream of the graph often separates from “processed data” and “original data”.

yuv444p

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

#
ffmpeg -y -i "${ifn}" -filter_complex "
[0:v]split=4[v0][v1][v2][v3];
[v0]format=yuv444p,vectorscope=x=1:y=2,scale=960:540,setsar=1[v0vs];
[v1]format=yuv444p,vectorscope=x=0:y=1,scale=960:540,setsar=1[v1vs];
[v2]format=yuv444p,vectorscope=x=0:y=2,scale=960:540,setsar=1[v2vs];
[v3]format=yuv444p,scale=960:540,setsar=1[v3];
[v3][v0vs]hstack[vt];
[v1vs][v2vs]hstack[vb];
[vt][vb]vstack[v]
" -map '[v]' -an "${pref}_${ifnb}.mp4"

yuv444p, mode=color

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

#
ffmpeg -y -i "${ifn}" -filter_complex "
[0:v]split=4[v0][v1][v2][v3];
[v0]format=yuv444p,vectorscope=x=1:y=2:mode=color,scale=960:540,setsar=1[v0vs];
[v1]format=yuv444p,vectorscope=x=0:y=1:mode=color,scale=960:540,setsar=1[v1vs];
[v2]format=yuv444p,vectorscope=x=0:y=2:mode=color,scale=960:540,setsar=1[v2vs];
[v3]format=yuv444p,scale=960:540,setsar=1[v3];
[v3][v0vs]hstack[vt];
[v1vs][v2vs]hstack[vb];
[vt][vb]vstack[v]
" -map '[v]' -an "${pref}_${ifnb}.mp4"

yuv444p, mode=color2

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

#
ffmpeg -y -i "${ifn}" -filter_complex "
[0:v]split=4[v0][v1][v2][v3];
[v0]format=yuv444p,vectorscope=x=1:y=2:mode=color2,scale=960:540,setsar=1[v0vs];
[v1]format=yuv444p,vectorscope=x=0:y=1:mode=color2,scale=960:540,setsar=1[v1vs];
[v2]format=yuv444p,vectorscope=x=0:y=2:mode=color2,scale=960:540,setsar=1[v2vs];
[v3]format=yuv444p,scale=960:540,setsar=1[v3];
[v3][v0vs]hstack[vt];
[v1vs][v2vs]hstack[vb];
[vt][vb]vstack[v]
" -map '[v]' -an "${pref}_${ifnb}.mp4"

yuv444p, mode=color3

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

#
ffmpeg -y -i "${ifn}" -filter_complex "
[0:v]split=4[v0][v1][v2][v3];
[v0]format=yuv444p,vectorscope=x=1:y=2:mode=color3,scale=960:540,setsar=1[v0vs];
[v1]format=yuv444p,vectorscope=x=0:y=1:mode=color3,scale=960:540,setsar=1[v1vs];
[v2]format=yuv444p,vectorscope=x=0:y=2:mode=color3,scale=960:540,setsar=1[v2vs];
[v3]format=yuv444p,scale=960:540,setsar=1[v3];
[v3][v0vs]hstack[vt];
[v1vs][v2vs]hstack[vb];
[vt][vb]vstack[v]
" -map '[v]' -an "${pref}_${ifnb}.mp4"

yuv444p, mode=color4

00:02:32
#! /bin/sh
ifn="Drifting with Cars.mp4"
ifnb="`basename \"${ifn}\" .mp4`"
pref="`basename $0 .sh`"

#
ffmpeg -y -i "${ifn}" -filter_complex "
[0:v]split=4[v0][v1][v2][v3];
[v0]format=yuv444p,vectorscope=x=1:y=2:mode=color4,scale=960:540,setsar=1[v0vs];
[v1]format=yuv444p,vectorscope=x=0:y=1:mode=color4,scale=960:540,setsar=1[v1vs];
[v2]format=yuv444p,vectorscope=x=0:y=2:mode=color4,scale=960:540,setsar=1[v2vs];
[v3]format=yuv444p,scale=960:540,setsar=1[v3];
[v3][v0vs]hstack[vt];
[v1vs][v2vs]hstack[vb];
[vt][vb]vstack[v]
" -map '[v]' -an "${pref}_${ifnb}.mp4"

yuv444p, mode=color5

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

#
ffmpeg -y -i "${ifn}" -filter_complex "
[0:v]split=4[v0][v1][v2][v3];
[v0]format=yuv444p,vectorscope=x=1:y=2:mode=color5,scale=960:540,setsar=1[v0vs];
[v1]format=yuv444p,vectorscope=x=0:y=1:mode=color5,scale=960:540,setsar=1[v1vs];
[v2]format=yuv444p,vectorscope=x=0:y=2:mode=color5,scale=960:540,setsar=1[v2vs];
[v3]format=yuv444p,scale=960:540,setsar=1[v3];
[v3][v0vs]hstack[vt];
[v1vs][v2vs]hstack[vb];
[vt][vb]vstack[v]
" -map '[v]' -an "${pref}_${ifnb}.mp4"

rgb24, mode=color2

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

#
ffmpeg -y -i "${ifn}" -filter_complex "
[0:v]split=4[v0][v1][v2][v3];
[v0]format=rgb24,vectorscope=x=1:y=2:mode=color2,scale=960:540,setsar=1[v0vs];
[v1]format=rgb24,vectorscope=x=0:y=1:mode=color2,scale=960:540,setsar=1[v1vs];
[v2]format=rgb24,vectorscope=x=0:y=2:mode=color2,scale=960:540,setsar=1[v2vs];
[v3]format=rgb24,scale=960:540,setsar=1[v3];
[v3][v0vs]hstack[vt];
[v1vs][v2vs]hstack[vb];
[vt][vb]vstack[v]
" -map '[v]' -an "${pref}_${ifnb}.mp4"