Cookie

TheJoe.it Into the (open) source

30ott/122

Webcam di sicurezza e “motion detect” con Linux

Attenzione!

Questo articolo è stato scritto nel 2012, potrebbero esserci stati sviluppi circa l'argomento trattato.
In caso di dubbi lasciate un commento in fondo all'articolo.
Grazie.

webcam

Configurare una webcam di sicurezza con "motion detect" usando linux, al contrario di altre soluzioni, è una procedura abbastanza semplice, nonostante la mancanza di una GUI per le configurazioni (spesso è un bene non avere una GUI). Sul fronte "hardware" tutto ciò di cui abbiamo bisogno è una webcam USB, per quanto riguarda il software ci servirà una distribuzione Linux e il programma "motion" (presente nei repository ufficiali). Di seguito traduco e semplifico la procedura tratta dal blog Chriswpage.com.

Cosa possiamo fare con un setup del genere?

  • registrare video e/o singoli frame in caso ci sia qualche movimento nella zona ripresa,
  • fare delle foto a intervalli regolari, anche se non ci sono cambiamenti nella zona ripresa,
  • eseguire lo stream della zona ripresa,
  • assegnare una specifica estensione al video ripreso,
  • nel caso ci fosse una zona in movimento è possibile mostrare un rettangolo nella zona di interesse per sottolineare il movimento, per escludere falsi positivi,
  • configurare in modo semplice un backup delle riprese (ad esempio su Dropbox) per accedere ovunque ci troviamo alla zona ripresa.

Ubuntu è la distribuzione linux più utilizzata al mondo, non me ne abbiano a male gli utenti di altre distro, ma tutti gli esempi di questo tutorial si riferiscono a Ubuntu. Nulla toglie che ognuno possa installarla sulla propria (Fedora, BSD, Slackware, ecc). Per prima cosa colleghiamo la nostra webcam al pc. La mia è una webcam molto economica, comprata qualche tempo fa in un grande magazzino a meno di 10 euro.

Ora installiamo e avviamo il software "motion", uno script a riga di comando che permetterà la registrazione delle zone in movimento.

sudo apt-get install motion
sudo motion

Dovrebbe funzionare tutto al primo colpo e senza bisogno di configurazione, ma per chi volesse modificare le impostazioni base... Il file di configurazione dedicato è "/etc/motion.conf" (noteremo che ci sono più file "threadN.conf" in questa directory, ognuno corrisponde a una webcam che può essere configurata in modo individuale (nel caso ce ne fossero più d'una). Le immagini vengono salvati in "/tmp/motion" e ad ogni riavvio del PC vengono automaticamente eliminate.

Nota: assicuriamoci di riavviare il server "motion" ogni volta che cambiamo una impostazione.

sudo /etc/init.d/motion restart

Per cambiare le impostazioni basta dare un'occhiata ai file di configurazione. Sono ben commentati (in inglese). Di seguito qualche configurazione utile per organizzare velocemente i dati:

#/etc/motion/motion.conf

# Locate and draw a box around the moving object.
locate on

# Draws the timestamp using same options as C function strftime(3)
text_right %Y-%m-%dn%T-%q

# Text is placed in lower left corner
text_left SECURITY CAMERA %t - Office

Se invece vogliamo imprimere data e ora sulle foto:

# File path for snapshots (jpeg or ppm) relative to target_dir
snapshot_filename %Y%m%d/camera-%t/snapshots/hour-%H/camera-%t-%v-%Y%m%d%H%M%S-snapshot

# File path for motion triggered images (jpeg or ppm) relative to target_dir
jpeg_filename %Y%m%d/camera-%t/motions/hour-%H/camera-%t-%v-%Y%m%d%H%M%S-%q-motion

# File path for motion triggered ffmpeg films (mpeg) relative to target_dir
movie_filename %Y%m%d/camera-%t/movies/hour-%H/camera-%t-%v-%Y%m%d%H%M%S-movie

# File path for timelapse mpegs relative to target_dir
timelapse_filename %Y%m%d/camera-%t/timelapses/hour-%H/camera-%t-%Y%m%d-timelapse

In ultimo opzionalmente possiamo organizzare un backup. Non mi dilungherò nelle spiegazioni dei vari passaggi per impostarlo, ci sono svariati modi tutti ugualmente utili: dalle soluzioni proprie di Ubuntu (Ubuntu One, dejadup), a Dropbox, all'upload automatico su server FTP, al trasferimento in tunnelling SSH. Dipende come sempre da ciò che cerchiamo e da quali strumenti abbiamo a disposizione (e dalla velocità di configurazione nel mio caso). Tra l'altro abbiamo già parlato di argomenti simili in passato, di seguito una piccola lista:

E infine ecco il video in time lapse che viene automaticamente codificato da motion con due guest star d'eccezione: Romeo e Tara. Perdonerete la forma un po' spartana.

About

Mantengo questo blog a livello amatoriale dal 2009. Sono appassionato di grafica, tecnologia, software Open Source. Fra i miei articoli non sarà difficile trovarne circa la musica, ed alcuni di riflessioni personali, ma preferisco indirizzare la linea del blog principalmente verso la tecnologia. Per informazioni contattami.

Commenti (2) Trackback (0)
  1. Ciao, altro articolo interessante… perchè me ne sono occupato un po’ di tempo fa per un sistema integrato di demotica e videosorveglianza. Al momento il progetto è fermo per mancanza di tempo fisico per farlo andare avanti.
    Io ho usato ZoneMinder che credo usi lui stesso “motion”, tu lo conosci ?

    • Ciao Gabriele,
      ho dato una rapida occhiata a zoneminder. In realtà non sembra dipendere da motion, ho idea che il software di motion detect sia addirittura riscritto.
      Dalla rapida occhiata che ho dato ora devo dire che oltre a integrare le stesse funzioni di motion aggiunge altre importanti funzioni: sono configurabili più cam, è configurabile tramite interfaccia web (che non è poco) e come motion permette di registrare eventi a ogni cambiamento della scena.

      Ti ringrazio per la segnalazione, non conoscevo affatto zoneminder, lo proverò.


Leave a comment

Ancora nessun trackback.