月別アーカイブ: 2016年8月

黒フレーム区間を調べる blackdetect

黒フレーム区間を調べる blackdetect フィルタの使い方。輝度の値からどれだけ黒いかの設定があるのでシーンチェンジを調べるのに使える。

基本コマンド

コンソールの表示されるのでテキストにリダイレクトした方が見やすい
ffmpeg -i input -vf blackdetect=2.0:.98:.1 -f null -
ffmpeg -i input -vf blackdetect=2.0:.98:.1 -f null - > blackdetect.txt 2>&1

出力例

black_start:38.8388 black_end:41.7751 black_duration:2.93627

続きを読む 黒フレーム区間を調べる blackdetect

個別チャンネルの値を映像の場所毎に確認できる datascope

YUV(A) や RGB(A)、GRAY の数値を2桁の16進数で映像にオーバーレイして確認できる datascope フィルタの使い方。数値ではなく映像で表示するフィルタに histogram フィルタがあるが datascope フィルタの方が直感的に任意の場所の数値が読み取れる。ただし表示できる範囲は全画面ではなく 1px 毎に表示されるので全体の変化を大まかに調べるのには向かない。

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

基本コマンド

ffplay input -vf datascope=s=1280x720:x=0:y=0:mode=0:axis=0

チャンネル数の数だけ 1px に表示される数が変わる。上から順番にチャンネルが割り振られる。チャンネルが増えるだけ表示できる解像度が狭くなる。
続きを読む 個別チャンネルの値を映像の場所毎に確認できる datascope

映像の黒枠の座標を検出する bbox

映像フレームの輝度チャンネルから黒枠を検出して黒枠以外の座標をコンソール上に表示する。cropdrawbox のコマンドも表示する。

基本コマンド

ffplay input -vf bbox=16
出力例
n:0 pts:0 pts_time:0 x1:0 x2:1279 y1:78 y2:641 w:1280 h:564 crop=1280:564:0:78 drawbox=0:78:1280:564
公式ドキュメント:FFmpeg Filters Documentation : bbox

オプション

min_val[int]
黒枠ではないと検出する輝度チャンネルの最小の値
引数が一つしか無いのでそのまま数値指定してもよい
既定値:16
範囲:0 から 254 まで

手軽にモーションブラー atadenoise

各チャンネルの変化具合と平均化するフレーム数の指定により手軽にモーションブラーを当てることができる atadenoise フィルタの使い方。設定値を 0 にしてもすべてのチャンネルに影響を与えるので色味の変化が大きいと軽くフィルタを当てても変化が大きい。フレーム間で平均化するので3次元デノイズとも言える。

ffmpeg でモーションブラーを掛ける

基本コマンド

ffmpeg -i input -vf atadenoise=0a=.02:0b=.04:1a=.02:1b=.04:2a=.02:2b=.04:s=33:p=7 output
ffmpeg -i input -vf atadenoise=.02:.04:.02:.04:.02:.04:33:7 output
ffplay -i input -vf atadenoise=.02:.04:.02:.04:.02:.04:33:7

続きを読む 手軽にモーションブラー atadenoise