ffmpeg のシーン選択ロジックでノイズを減らす

ffmpeg のシーン選択ロジックでノイズを減らす

からこの答えこのコマンドを使用して、(ほとんど変化しない)ビデオ フィードから動きのあるコンポーネントのみを抽出します。

ffmpeg -i input.mp4 -vf "select=gt(scene\,0.0001),setpts=N/(25*TB)" output.mp4

しかし、特定の (たとえば、低照度) 条件下では、ビデオでは何も起こっていないように見えるにもかかわらず、フレーム キャプチャが大量に表示され始めることがわかりました。これらの条件下ではノイズが多くあるようで、これが変化の合計量をしきい値を超えさせているものと思われます。確かに、しきい値を 2 倍にすると、このほとんどが消えますが、それでもすべてではありません。ただし、しきい値をさらに上げると、見逃したくない実際の小さな動きを見逃し始めます。

私の考えでは、まずフィルターがシーンのノイズの量を減らすために、たとえば2~3ピクセルの解像度でわずかなぼかしを行えば、不必要な動きの検出がなくなり、より小さなスケールで実際の動きを検出できるだろう。ぼかすためのオプションがいくつかあるが、選択フィルター間接的にそれらを使用する方法については説明されていません。つまり、実際の出力には影響を与えず、シーン検出のみに影響を与えたいのです。

答え1

フィルター チェーンで選択する前に、実際のノイズ除去フィルターを試しましたか?

何かのようなものffmpeg -i input.mp4 -vf "vaguedenoiser=PARAMS,select=gt(scene\,0.0001),setpts=N/(25*TB)" output.mp4

denoiseで検索するhttps://ffmpeg.org/ffmpeg-filters.html#vaguedenoiser他のいくつかのために。

関連情報