Tengo algunas cámaras IP, principalmente Foscams. Algunos de ellos tienen una ranura SD, otros no, y ahí es donde comienza el problema, ya que los que tienen ranura SD pueden hacer eso, pero los demás no a menos que defina una carpeta FTP, que no tengo.
Necesito una aplicación para tomar una captura de pantalla de todas las cámaras definidas automáticamente en segundo plano cada n intervalo y guardarlas localmente. Mi PC estará funcionando las 24 horas.
No me importa si es una aplicación win32 o una aplicación UWP de Windows 10.
OpenCV puede hacer esto por usted con un poco de ayuda de python y numpy a partir de esta esencia, puede crear una clase ipCamera:
import base64
import time
import urllib2
import cv2
import numpy as np
"""
Examples of objects for image frame aquisition from both IP and
physically connected cameras
Requires:
- opencv (cv2 bindings)
- numpy
"""
class ipCamera(object):
def __init__(self, url, user=None, password=None):
self.url = url
auth_encoded = base64.encodestring('%s:%s' % (user, password))[:-1]
self.req = urllib2.Request(self.url)
self.req.add_header('Authorization', 'Basic %s' % auth_encoded)
def get_frame(self):
response = urllib2.urlopen(self.req)
img_array = np.asarray(bytearray(response.read()), dtype=np.uint8)
frame = cv2.imdecode(img_array, 1)
return frame
# Section for physically connected cameras removed
Personalmente, probaría lo anterior con cada una de sus cámaras tal como están para ver si necesita hacerle algún ajuste. Luego, todo lo que necesita hacer es completar una lista de instancias con su lista de cámaras y sus credenciales de nombre de usuario y contraseña, y tomar y guardar un cuadro de cada una en el intervalo que elija en una estructura de directorio adecuada. Personalmente, extendería lo anterior para dar a cada instancia un nombre, una ubicación para guardar, etc., y agregaría un método para tomar y guardar un marco en un formato apropiado.
Descargo de responsabilidad: el código original anterior fue publicado por Tristan Hearn en un github gist el 12 de mayo de 2013. No puedo atribuirme el mérito de haberlo escrito yo mismo.
Nean Der Thal
steve barnes
Nean Der Thal
steve barnes
Hack-R
steve barnes