Movimiento de software de video de cámara

Tengo 12 horas de videos con 9 canales que necesito revisar.

¿Hay algún software que me permita saber en qué parte del video hubo movimiento o al menos algo que me ayude en el proceso?

No necesito editar el video solo para identificar cuando había alguien en los ángulos de las cámaras. (Supongo que el movimiento es la mejor manera).

¿Qué sistema operativo?

Respuestas (4)

Puede ejecutar su video a través de un proceso de seguimiento y detección de movimiento usando python y OpenCV como en este tutorial .

  • Ambos son gratuitos, gratuitos y de código abierto.
  • Ambos son multiplataforma y se ejecutarán en plataformas Windows, OS-X, Linux o incluso Raspberry Pi.
  • El tutorial al que se hace referencia utiliza solo 90 líneas de código y ningún compilador.

El tutorial no proporciona una salida de las horas en que ocurrieron los eventos, pero si usa:

# Find OpenCV version
(major_ver, minor_ver, subminor_ver) = (cv2.__version__).split('.')

if int(major_ver)  < 3 :
    fps = camera.get(cv2.cv.CV_CAP_PROP_FPS){0}".format(fps)
else :
    fps = camera.get(cv2.CAP_PROP_FPS)

Tenga en cuenta que he usado la cámara en lo anterior para estar de acuerdo con el tutorial, pero obtener fps no funcionará desde una cámara web real, consulte aquí .

Se utiliza una vez que se abre el archivo para obtener los fotogramas por segundo y luego simplemente mantener un recuento de los fotogramas procesados. Luego, puede calcular el punto de tiempo dentro del video e imprimirlo con un mensaje apropiado, y/o guardarlo en un archivo de texto. , siempre que el estado cambie a ocupado o desocupado.

Hice ese tutorial, y aunque hace la parte más difícil, no va tan lejos como para decirte " Movimiento detectado a las 5:41, 27:45, 3:47:56 ", por ejemplo. Entonces, sin un poco de desarrollo, el usuario aún tendría que quedarse durante 12 horas mirando la computadora.
@NicolasRaoul: agregó algunos detalles sobre los cambios necesarios.

Si está buscando desarrollar una aplicación para manejar esto, le recomendaría consultar LEADTOOLS Multimedia SDK (solo para Windows) para implementar este tipo de tarea. Admite C, C++, .NET y funcionará con otros lenguajes que admitan objetos COM. Este SDK también incluye un filtro de detección de movimiento de DirectShow . Cuando el filtro detecta movimiento, invoca una devolución de llamada para proporcionar el área dentro del video donde se detectó el movimiento. Con esta devolución de llamada, también puede averiguar cuándo ocurrió esto en el video.

El filtro tiene opciones para:

  • cambiando la sensibilidad
  • tamaño del objeto
  • habilitar/deshabilitar la visualización de los rectángulos donde se ha detectado movimiento
  • una región de interés
  • y más

Con este filtro, sería posible no solo ejecutarlo durante la captura, sino también después de que se haya producido la grabación, como indicó que debe hacer.

Descargo de responsabilidad: soy un empleado de la empresa que escribió esta biblioteca.

Gracias por el tip lo buscare.

Puede que esta no sea una solución ideal, sino solo una sugerencia. Usando un software como ManyCam , puede emular una cámara web, luego usando un software como iSpy , puede agregar su transmisión de video a su cámara web emulada en ManyCam y luego agregar esa cámara web emulada a iSpy y usar la detección de movimiento de iSpy. Manycam puede tener la capacidad de avance rápido, pero parece que está limitado en las transmisiones de video que puede agregar a menos que compre.

I spy me está ayudando en una tarea similar, es gratuito y puede analizar cámaras y videos en busca de movimiento o cambios con un reproductor vlc conectado. No necesariamente necesita ManyCam para ello. Tiene muchas posibilidades para ajustar configuraciones como la sensibilidad, el color de los objetos y también definir zonas.