静止区間検出フィルタはタイプライター的なストリーミング表示を「静止」と誤判定する
動画
ffmpeg
自動化
知識
判断
画面録画から「本当に何も起きていない静止区間」を自動検出する際、動画編集ツールのfreeze/static区間検出フィルタ(フレーム間の画素差分がしきい値以下の区間を検出するタイプ)は、コンテンツが少しずつ・小さく変化し続ける場面(チャットAIの回答表示がタイプライター的に一文字/一語ずつ表示される、進捗が僅かずつ動くローディング表示など)を「静止」と誤判定することがある。1フレームあたりの画素差分が画面全体に対して小さいため、実際には数十秒かけて内容が大きく変化していても検出器は連続した一つの静止区間として扱ってしまう。
判断基準
- 「静止区間=待ち時間・無駄な区間」とみなして自動トリムする用途では、このフィルタの検出結果を無条件に信用しない。特に生成AIの応答表示、じわじわ進むプログレスバー、フェードイン/アウトを含む画面では誤判定率が高い。
- 静止検出が有効なのは、本当に画面が完全に固定される場面(入力待ちのアイドル画面など)に限る。ストリーミング表示やアニメーションを含む可能性がある区間では、静止検出だけで自動確定しない。
代替アプローチ
目的の区間(例: 特定のUI要素が出ている間、特定の操作が行われている間)を検出したい場合は、静止区間検出ではなく、対象UI要素そのものの出現を直接検出する方が確実(固定位置のリファレンス画像との構造的類似度比較、色の分布の急変検出など)。
検証方法
検出した「静止」区間の先頭・末尾のフレームを画像として書き出し、実際にコンテンツが変化し続けていないか目視で確認してから、トリム範囲として確定する。自動検出の結果をそのまま採用しない。