位相をベクタスコープで映像化するavectorscope
フィルタの使い方。表示する色の設定とフェードの色設定、リサジュー図形での描写が可能。出力フォーマットが rgba になるので背景部分が透過してoverlay
フィルタを使ってかぶせることも容易にできる。
基本コマンド
ffmpeg -i input -filter_complex avectorscope=m=0:r=25:s=400x400:rc=40:gc=160:bc=80:ac=255:rf=15:gf=10:bf=5:af=5:zoom=1:draw=0:scale=0:swap=1:mirror=0 -acodec copy output
ffmpeg -i input -filter_complex avectorscope=0:25:400x400:40:160:80:255:15:10:5:5:1:0:0:1:0 -acodec copy output
ffplay -f lavfi -i "amovie=input,avectorscope=0:25:400x400:40:160:80:255:15:10:5:5:1:0:0:1:0"

公式ドキュメント:FFmpeg Filters Documentation : avectorscope
オプション
- mode, m[int]
表示形式 - 0, lissajous:リサジュー図形を45度回転。既定値
- 1, lissajous_xy:リサジュー図形
- 2, polar:半円にリサンプル
- rate, r[video_rate]
出力フレームレート。大きい値ほど設定通りには出力しない
既定値:25 - size, s[image_size]
出力解像度
既定値:400×400 - rc, gc, bc, ac[int]
赤、緑、青、透過のコントラスト指定
既定値は順番に 40, 160, 80, 255
範囲:0 から 255 まで - rf, gf, bf, af[int]
赤、緑、青、透過のフェード指定
既定値は順番に 15, 10, 5, 5
範囲:0 から 255 まで - zoom[double]
エフェクトを拡大する
既定値:1
範囲:1 から 10まで - draw[int]
描写モードの指定 - 0, dot:各サンプルを描写する。既定値
- 1, line:前後サンプルを線で結んで描写する
- 2, aaline:前後サンプルを線で結んでアンチエイリアスに描写する
- scale[int]
振幅尺の指定 - 0, lin:Linear。既定値
- 1, sqrt:Square root
- 2, cbrt:Cubic root
- 3, log:Logarithmic
- swap[boolean]
縦横の表示を入れ換える
既定値:1 - mirror[int]
軸に対して対称に表示する - 0, none:ミラーしない。既定値
- 1, x:水平方向だけミラーする
- 2, y:垂直方向だけミラーする
- 3, xy:縦横両方向にミラーする
既定値、mode=1のときの表示例
ステレオでFLだけのときは45度になる。
ffplay -f lavfi -i "amovie=input.mp4,pan=stereo|c0=c0,asplit[out1],avectorscope[out0]"
ステレオでFRだけのときは135度になる。
ffplay -f lavfi -i "amovie=input.mp4,pan=stereo|c1=c1,asplit[out1],avectorscope[out0]"
FLにFRを入れても45度は変わらない。
ffplay -f lavfi -i "amovie=input.mp4,pan=stereo|c0=c1,asplit[out1],avectorscope[out0]"
同様にFRにFLを入れても135度は変わらない。
ffplay -f lavfi -i "amovie=input.mp4,pan=stereo|c1=c0,asplit[out1],avectorscope[out0]"
FRにFLの逆位相を入れて、FLに通常の位相と逆位相を混ぜてモノラルにすると無音になる。
ffplay -f lavfi -i "amovie=input.mp4,pan=stereo|c0=c0|c1=-1*c0,pan=mono|c0=c0+c1,asplit[out1],avectorscope[out0]"
左右にFLを入れるので45度と45度の和で90度になる。
ffplay -f lavfi -i "amovie=input.mp4,pan=stereo|c0=c0|c1=c0,asplit[out1],avectorscope[out0]"
同様に左右にFRを入れるので135度と135度の和で270度になる。
ffplay -f lavfi -i "amovie=input.mp4,pan=stereo|c0=c1|c1=c1,asplit[out1],avectorscope[out0]"