黒フレーム区間を調べる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
ffprobeで黒フレームの開始時間と終了時間をコンソールに表示する。
ffprobe -v error -f lavfi -i "movie=input.mp4,blackdetect" -select_streams v:0 -show_entries tags=lavfi.black_start,lavfi.black_end -of default=nw=1
ffprobe の使い方
video – How to trim out black frames with ffmpeg on windows? – Video Production Stack Exchange
似たようなフィルタにblackframe
があるのでこちらを併用することもできる。
ffmpeg -i input -vf blackframe,blackdetect -f null -
公式ドキュメント:FFmpeg Filters Documentation : blackdetect
オプション
- black_min_duration, d[double]
最小何秒までの黒を検出するか
既定値:2.0
範囲:0からDBL_MAXまで - picture_black_ratio_th, pic_th[double]
1フレームの何割を黒と判断するか
既定値:0.98
範囲:0から1まで - pixel_black_th, pix_th[double]
黒を検出する輝度の最大閾値
小さい値ほど真っ黒しか検出しなくなる
既定値:0.1
範囲:0から1まで