大きすぎる音は小さく、小さすぎる音は大きく聞き取りやすい音量に変えるdynaudnormフィルタの使い方。雑談などの声中心なら聞こえやすくなるので効果的で、急に音量が変わって聞き取りにくい音声を修正するのにも使える。
音量を調べるにはvolumedetect、ebur128、showwavespicなどのフィルタがある。
niconicoとffmpegのことを中心に書いてる
大きすぎる音は小さく、小さすぎる音は大きく聞き取りやすい音量に変えるdynaudnormフィルタの使い方。雑談などの声中心なら聞こえやすくなるので効果的で、急に音量が変わって聞き取りにくい音声を修正するのにも使える。
音量を調べるにはvolumedetect、ebur128、showwavespicなどのフィルタがある。
reverse, areverseフィルタを使って逆再生にエンコードする。長時間逆再生にすると大量にメモリを消費するのであらかじめ時間を区切った方が処理が速く済む。
30000/1001fpsのインターレースの動画からアニメの24000/1001fpsのプログレッシブ動画にするためにインターレースを解除、逆テレシネする。フレームを間引くにはいくつかの方法があるので目的に合わせてフィルタを使う。
ポイントはフレームを間引く必要があるかどうかと、テロップなどの片フィールド補間がいるかどうか。フレーム間引きするにはdecimateを併用し、pullup、detelecineには必要ない。
片フィールドを補間した 60pはw3fdifだけ使うのが手軽だが、他にもyadifとbwdif、nnedi、estdifもBob化できる。yadif、bwdif、estdifの第1引数を1にする必要があるのは片フィールド補間しBob化する場合である。
逆テレシネするならfieldmatchフィルタを使って、逆テレシネ漏れにestdifフィルタの併用がよさそう。毎フレームのフィールドが動く映像は逆テレシネはせずにbwdifフィルタで片フィールド補間するか、30pにするのが無難にきれいになる。
片フィールドを補間しない場合にnnediは速度の割にはあまり品質はよくないかもしれない。
インターレース解除、または逆テレシネとリサイズを併用する場合は、インターレース解除、または逆テレシネした後にリサイズする。
yadif,scale=1280:-2
フレームを間引くのならインターレース解除した後に行うことでリサイズするフレーム数を減らせて処理がはやくなる。
yadif,decimate,scale=1280:-2
リサイズする scale
Zライブラリを使ったリサイズフィルタ zscale
24pの処理速度比較
8 < 7 < 6 < 5 << 4 << 3 < 2 << 1
-rで固定フレームにできる)(速度を重視)ffmpeg には標準でロゴを消すフィルタがあるが、以前紹介した特定の場所にだけフィルタを当てる方法と、ロゴ消しに適したロゴデータの作り方を交えてロゴをきれいに消す方法。
ffmpeg でロゴを消すフィルタと言えば、removelogoとdelogoがあるが、ロゴデータを元にロゴを消すのがremovelogoで、座標を指定して周りの色でブレンドするのがdelogoである。
集計期間は週間のニコ生統計の6月分である。2015年の1月の2週目から取得漏れの R-18 放送を含めて Vita API で取得し始めたのでそれ以前と比べて取得放送数が増えている。
明暗の度合いでもマスクできるのでこれを応用して一つの映像に複数のフィルタを使い分ける方法。特定色ならcolorkeyフィルタを使ってマスクすることもできる。一般的には映像をシャープにするほど容量は大きく、ぼかすほど容量は小さくなるので、シャープとぼかしを使い分けて高画質配信を目指す。
colorkey の使い方:ffmpeg でクロマキー合成
なぜぼかしも併用するかと言えばビットレートの節約になるのも正しいが、ニコ生のようなビットレート制限が厳しいところでは、低解像度で暗くて見えにくい部分にビットレートをたくさん割り当てる必要はないからである。
動画編集ツールによくあるヒストグラムを表示するhistogramフィルタの使い方。以前あったcolor、waveformオプションは廃止になり個別のフィルタとして独立した。
2チャンネルの値を2次元で表示する vectorscope
ffmpeg で YUV, RGB波形を表示する waveform
音量をリアルタイムでメーター表示する ffmpeg のshowvolumeのフィルタの使い方。出力フォーマットは RGBA。条件をつければ指定 dB の範囲に色を変えられる。
映像をメーターに差し替える。
ffmpeg -i input -filter_complex showvolume=r=25:b=1:w=400:h=20:t=1:v=1:s=0 -c:a copy output
ffplay -f lavfi -i amovie=input,showvolume
2チャンネルのメーターだけを再生する。
ffplay -f lavfi "amovie=input,asplit[a][out1];[a]showvolume=b=4:w=720:h=68[out0]"

音声データを読み込みサンプリング波形を一枚画像で出力するshowwavespicの使い方。音声のどの時間帯でどのくらいの音量があるのかがよくわかる。
読み込み開始時点や終了時点を変更する -ss, -t, -to などはエラーになるので使えない。出力フォーマットはグレースケール RGBA になるのでoverlayフィルタなどで別の映像と合わせるのにも使える。
リアルタイムに同様の波形を調べるにはshowwavesフィルタを使う。
音声波形を表示する showspectrum, showwaves の使い方
既定値からチャンネル別に表示。
ffmpeg -i input -filter_complex "showwavespic=s=600x240:split_channels=1:colors=red|green:scale=0" showwavespic.png

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