ffmpeg 3.4 から追加のフィルタ。直線上の YUV, RGB の平均値と最小値、最大値と波形が表示されるoscilloscopeフィルタの使い方。

基本コマンド

中央の平行方向で調べるコマンド例
ffmpeg -i input -vf oscilloscope=x=0.5:y=0.5:s=0.8:t=0.5:o=0.8:tx=0.5:ty=0.9:tw=0.8:th=0.3:c=7:g=1:st=1:sc=1 output
ffmpeg -i input -vf oscilloscope=0.5:0.5:0.8:0.5:0.8:0.5:0.9:0.8:0.3:7:1:1:1 output
ffplay -i input -vf oscilloscope=0.5:0.5:0.8:0.5:0.8:0.5:0.9:0.8:0.3:7:1:1:1

oscilloscope の表示例

16:9 の映像で調べる範囲と統計グラフの幅を 0.9 で揃えるコマンド例
ffplay -i input -vf oscilloscope=s='0.9*16/hypot(9,16)':tw=0.9

横幅に合わせて輝度の諧調を表示したコマンド例
ffplay -f lavfi -i color=s=1920x1080:r=30000/1001,geq=lum='st(0\,16);(255/(ld(0)-1))*trunc(X/(W/ld(0))):cb=128:cr=128',oscilloscope=s=1:tw=1,trim=end_frame=1,loop=-1:1:0,setpts=N/FRAME_RATE/TB

公式ドキュメント:FFmpeg Filters Documentation : oscilloscope

オプション

  • x[float]
    調べる範囲の横座標の中央位置
    既定値:0.5
    範囲:0 から 1 まで
  • y[float]
    調べる範囲の縦座標の位置
    既定値:0.5
    範囲:0 から 1 まで
  • s[float]
    調べる映像の対角線に対して相対的な長さ。s='(n*横解像度)/hypot(縦解像度,横解像度)’:t=0.5:tw=nで統計グラフと調べる座標の位置が一致する。nは同じ値を代入する。上のコマンド例を参照。しかしこんな計算をしなくても 1 を指定すれば過不足無く映像の端から端まで調べられる
    既定値:0.8
    範囲:0 から 1 まで
  • t[float]
    調べる範囲の角度。0.5 で水平になり、小さくなれば反時計回りに傾き、大きくなれば時計回りに傾く。0 にすると下が統計の左になり上が統計の右になる。1 にすると下が統計の右になり上が統計の左になる
    既定値:0.5
    範囲:0 から 1 まで
  • o[float]
    統計グラフの透過具合
    既定値:0.8
    範囲:0(透明) から 1 まで
  • tx[float]
    統計グラフの表示場所の横の中央位置
    既定値:0.5
    範囲:0 から 1 まで
  • ty[float]
    統計グラフの表示場所の縦の中央位置
    既定値:0.9
    範囲:0 から 1 まで
  • tw[float]
    統計グラフの横幅
    既定値:0.8
    範囲:0.1 から 1 まで
  • th[float]
    統計グラフの縦幅
    既定値:0.3
    範囲:0.1 から 1 まで
  • c[int]
    統計グラフで表示するチャンネル指定
    詳しくは ffmpeg について | チャンネルの順番と注意点を参照
    既定値:7
    範囲:0 から 15 まで
  • g[boolean]
    統計グラフの枠線表示
    既定値:1
  • st[boolean]
    統計値の表示
    映像の解像度が小さいと数値が表示されない。具体的には横解像度が 1052 ピクセル以上
    既定値:1
  • sc[boolean]
    調べる範囲を示す線を表示
    既定値:1

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)