タグ別アーカイブ: Multimedia_Filters

映像フィルタを当てる前後のデータを見える化する

ffmpeg には多くの映像フィルタと音声フィルタがあるが、その効果を調べるのに主観的な判断だけではなく、客観的な判断ができるように数値を映像に表示したり、ヒストグラムを表示したりすることで映像で差違を見える化する。null フィルタを別のフィルタに変更することでフィルタを当てた同士で比較できる。
続きを読む 映像フィルタを当てる前後のデータを見える化する

フィルタのベンチマークを調べることができる bench, abench

平均負荷と最大負荷、最小負荷を調べることができる。

基本コマンド

縦横半分に scale でリサイズしたベンチマーク
ffplay input -vf bench=start,scale=iw/2:-1,bench=stop

compand のベンチマーク
ffplay input -af abench=start,compand,abench=stop
Windows の ffmpeg で生放送する方法 : compand

公式ドキュメント:FFmpeg Filters Documentation : bench, abench
続きを読む フィルタのベンチマークを調べることができる bench, abench

不可逆圧縮された音声のカットされた周波数が調べられる showspectrumpic

音声データの周波数を調べて周波数と時間の2次元軸とした1枚画像を出力する showspectrumpic の使い方。

基本コマンド

ffmpeg -i input -filter_complex showspectrumpic=s=1024x1024:mode=combined:color=intensity:scale=log:saturation=1:win_func=hann:orientation=vertical:gain=1:legend=1 -y showspectrumpic.png

公式ドキュメント
FFmpeg Filters Documentation : showspectrumpic
続きを読む 不可逆圧縮された音声のカットされた周波数が調べられる showspectrumpic

音量のヒストグラムを映像化する ahistogram

現在までの音量とリアルタイムの音量をヒストグラムで表示する ahistogram の使い方。

基本コマンド

ffplay -f lavfi amovie=input,ahistogram=dmode=single:r=25:s=hd720:scale=log:ascale=log:acount=1:rheight=.1:slide=replace
ffmpeg -i audio -filter_complex ahistogram=dmode=single:r=25:s=hd720:scale=log:ascale=log:acount=1:rheight=.1:slide=replace -c:a copy output

続きを読む 音量のヒストグラムを映像化する ahistogram

音声を位相メーターの映像に変換する aphasemeter

基本コマンド

ffplay -f lavfi -i "amovie=input,aphasemeter=25:800x400:2:7:1:none"

基本は上から下に流れるので、rotate を使って右から左に流すコマンド
FFmpeg Filters Documentation : rotate
ffplay -f lavfi -i "amovie=input,aphasemeter=25:800x800:2:7:1:yellow,rotate=90*PI/180"

公式ドキュメント:FFmpeg Filters Documentation : aphasemeter
続きを読む 音声を位相メーターの映像に変換する aphasemeter

ffmpeg でヒストグラムを表示する

動画編集ツールによくあるヒストグラムを表示する histogram フィルタの使い方。以前あった color, waveform オプションは非推奨になり個別のフィルタとして独立した。

2チャンネルの値を2次元で表示する vectorscope
ffmpeg で YUV, RGB波形を表示する waveform

公式ドキュメント:FFmpeg Filters Documentation : histogram
続きを読む ffmpeg でヒストグラムを表示する

サンプリング周波数を一枚画像で出力する showwavespic

音声データを読み込み、最初から最後までのサンプリング周波数を一枚画像で出力する ffmpeg の showwavespic の使い方。

読み込み開始時点や終了時点を変更する -ss, -t, -to などはエラーになるので使えない。出力フォーマットはグレースケール RGBA で波形以外の部分は透過する。。

基本コマンド

ffmpeg -i input -lavfi showwavespic=s=600x240:split_channels=1 waveform.png

waveform のサンプル画像


リアルタイムに波形を調べるには showwaves を使う
音声波形を表示する showspectrum, showwaves の使い方

オプション

  • size, s[image_size]
    画像の出力解像度
    既定値:600×240
  • split_channels[boolean]
    チャンネル別に表示するかどうか
    既定値:0(しない)
  • color[string]
    波形の色指定。チャンネル数毎に | で指定する
    既定値:”red|green|blue|yellow|orange|lime|pink|magenta|brown”
  • scale[int]
    振幅のサイズ指定

    • 0, lin:一番小さい。既定値
    • 1, log:一番大きい
    • 2:2番目に小さい
    • 3:3番目に小さい(2番目に大きい)

関連記事