Webcam di sicurezza e “motion detect” con Linux
Attenzione
Questo articolo è stato pubblicato più di un anno fa, potrebbero esserci stati sviluppi.
Ti preghiamo di tenerne conto.
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:
- tunnelling SSH,
- upload automatico su server FTP remoto,
- Dropbox (sito ufficiale),
- Ubuntu One (sito ufficiale).
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.
2 commenti
Gabriele Merlonghi · 12 Marzo 2013 alle 7:34 PM
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 ?
TheJoe · 13 Marzo 2013 alle 8:09 AM
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ò.