reducir el ruido en la lógica de selección de escena en ffmpeg

reducir el ruido en la lógica de selección de escena en ffmpeg

Deesta respuestaEstoy usando este comando para extraer solo los componentes de una transmisión de video (en su mayoría sin cambios) que tienen movimiento:

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

Sin embargo, descubrí que bajo ciertas condiciones de iluminación (por ejemplo, bajas) empiezo a ver una gran cantidad de capturas de cuadros a pesar de que aparentemente no sucede nada en el video. En estas condiciones parece haber mucho ruido, lo que supongo que hace que la cantidad total de cambio supere el umbral. De hecho, si duplico el umbral, la mayor parte desaparece, pero aún no todo. Sin embargo, si subo más el umbral, comenzaré a perder pequeños movimientos reales que no quiero perder.

Mi pensamiento fue que si el filtro primero hiciera algo para reducir la cantidad de ruido en la escena, tal vez algún tipo de ligero desenfoque con una resolución de 2-3 píxeles, esto eliminaría la detección de movimiento espurio y podría detectar el movimiento real en una imagen. a menor escala. Veo algunas opciones para difuminar, pero la documentación en elfiltro de selecciónno habla de cómo usarlos indirectamente, es decir, no quiero que se vea afectada la salida real, solo la detección de la escena.

Respuesta1

¿Ha probado un filtro antiruido real antes de seleccionarlo en su cadena de filtros?

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

Haz una búsqueda denoiseenhttps://ffmpeg.org/ffmpeg-filters.html#vaguedenoiserpara algunos otros.

información relacionada