Come impostare una webcam con rilevamento del movimento in Ubuntu

Motion è uno strumento utile che può trasformare la tua normale webcam in una telecamera di sorveglianza. Fa questo monitorando il segnale dalla tua webcam e catturando screenshot e video quando rileva movimento. Qui ti mostriamo come installare Motion e configurare una webcam con rilevamento del movimento in Ubuntu Linux.
Indice
- Installazione del server Motion
- Configurazione di Motion per il tuo sistema
- Modifica della posizione di salvataggio predefinita
- Ottimizzazione delle impostazioni di rilevamento in Motion
- Abilitazione dell’interfaccia web di Motion
- Gestione delle catture salvate da remoto
- Avvio e test del server Motion
Installazione del server Motion
Motion è incluso per impostazione predefinita nel repository ufficiale di Ubuntu. Questo significa che puoi installare questo programma tramite il tuo gestore pacchetti apt:
sudo apt install motion v4l-utilsNota: Anche se stiamo trattando Ubuntu in questo articolo, Motion funzionerà anche per la maggior parte delle distribuzioni Linux.
Conferma che il tuo server Motion funzioni correttamente aprendo il prompt di aiuto del programma:
motion -hConfigurazione di Motion per il tuo sistema
Prima di iniziare a configurare Motion, dobbiamo copiare il file di configurazione nella nostra cartella Home in modo da avere un backup pulito dell’originale. Apri un terminale e copia il file di configurazione nella tua cartella Home:
cp /etc/motion/motion.conf ~/motion.conf.backupApri il file di configurazione originale utilizzando il tuo editor di testo preferito:
sudo nano /etc/motion/motion.confUna delle modifiche più semplici che puoi fare per il tuo server Motion è cambiare la qualità della sua immagine e del video in uscita. Per impostazione predefinita, il server imposta la sua risoluzione a 640×480, che può essere troppo piccola per le webcam moderne.
Per cambiare questo, esegui il seguente comando in una nuova sessione del terminale per controllare le risoluzioni disponibili per la tua telecamera:
sudo v4l2-ctl -d /dev/video0 --list-formats-ext
Torna al tuo file di configurazione Motion, scorri verso il basso fino alla categoria “Elaborazione delle immagini”, quindi cerca le variabili width e height.

Fornisci i valori appropriati per la risoluzione che desideri. Nel mio caso, voglio eseguire Motion in 1280×720, quindi digito “1280” come larghezza e “720” come altezza.

Imposta il valore framerate al framerate con cui desideri catturare i tuoi video. Per impostazione predefinita, questo è impostato su “15”, ma puoi abbassarlo per risparmiare spazio su disco.

Scorri verso il basso fino alla categoria “Uscita immagine”, quindi imposta il valore della variabile picture_output su “on”. Questo permetterà a Motion di catturare sia immagini che video dalla tua webcam.

Modifica della posizione di salvataggio predefinita
Un’altra modifica che puoi fare per il tuo server Motion è cambiare dove salva i suoi dati. Questo può essere utile se desideri esportare i tuoi video e immagini catturati in una directory remota montata o in un servizio di archiviazione cloud come Dropbox.
Per iniziare, naviga o crea la directory in cui desideri salvare i tuoi dati:
sudo mkdir /motion/dataImposta la proprietà della tua directory su “motion:adm”:
sudo chown -R motion:adm /motion/dataAssicurati che l’intero percorso della tua directory sia leggibile da tutti gli utenti:
sudo chmod -R 755 /motion/dataTorna al tuo file di configurazione Motion, cerca la variabile target_dir, quindi imposta il suo valore sul percorso completo della tua directory.

Ottimizzazione delle impostazioni di rilevamento in Motion
Motion funziona confrontando la differenza tra il feed video attuale e quello di pochi istanti prima. Se il programma trova una differenza sufficiente tra i due, la classifica come “movimento” e registra un video dell’evento.
Attualmente, Motion presume che una differenza di 1500 pixel sia sufficiente per classificare come “movimento”. Sebbene questo renda il rilevamento del movimento facile per la maggior parte delle webcam, potrebbe essere troppo sensibile per telecamere ad alta risoluzione.
Per ridurre questa sensibilità, vai alla categoria “Rilevamento del movimento”, quindi aumenta il valore della variabile threshold. Trovo che 5500 pixel siano sufficienti per impedire a Motion di registrare movimenti piccoli e non necessari dal feed della webcam.

Puoi anche aggiungere la variabile threshold_maximum per impostare un limite sulla differenza che Motion considera come “movimento”. Questo è utile se la tua webcam guarda un’area affollata e desideri che funzioni solo quando c’è meno attività.
Se non sei sicuro dei valori threshold e threshold_maximum per la tua webcam, puoi lasciare che Motion li regoli per te. Per fare ciò, aggiungi la variabile threshold_tune e impostala su “on”.

Infine, puoi configurare Motion per registrare anche i momenti prima e dopo aver rilevato movimento. Per fare ciò, vai alle variabili pre_capture e post_capture e imposta i loro valori sulla quantità di fotogrammi aggiuntivi che desideri salvare.

Abilitazione dell’interfaccia web di Motion
Il server Motion viene fornito con un’interfaccia web che ti consente di monitorare la tua webcam da remoto. Per abilitare questo, vai alla sezione “Webcontrol” della configurazione, quindi imposta il valore della variabile webcontrol_localhost su “off”.
Scorri verso il basso fino alla sezione “Live stream”, quindi imposta il valore di stream_localhost su “off”.

Nota: Motion non ha controlli di autenticazione per la sua interfaccia web. Pertanto, chiunque conosca l’indirizzo del tuo server Motion può visualizzare la tua webcam e controllare il servizio.
Gestione delle catture salvate da remoto
Come accennato in precedenza, il modo migliore è salvare le immagini nella tua cartella Dropbox in modo da poterle accedere ovunque tu voglia. Tuttavia, se preferisci avere le immagini caricate sul tuo server di file (via FTP), puoi utilizzare il comando wput per caricare le immagini:
sudo apt install wputApri il file di configurazione del tuo server Motion, quindi inserisci le seguenti righe di codice alla fine del file:
on_picture_save wput ftp://YOUR-USERNAME:YOUR-PASSWORD@YOUR-SERVER-ADDRESS %f
on_movie_end wput ftp://YOUR-USERNAME:YOUR-PASSWORD@YOUR-SERVER-ADDRESS %f
Avvio e test del server Motion
Assicurati di salvare il tuo file di configurazione Motion, quindi esegui il seguente comando per avviare il server:
sudo systemctl enable --now motion.serviceConferma che il server funzioni correttamente aprendo un browser web e navigando all’indirizzo IP della tua macchina seguito da “:8080.”

Questo aprirà una pagina web che mostra il feed video attuale dalla tua webcam insieme a un menu contenente azioni aggiuntive per il tuo server. Ad esempio, puoi fare clic su Azione -> Snapshot per catturare un’immagine fissa dalla tua webcam.

Testa se Motion rileva e registra il movimento dalla tua webcam passando un oggetto davanti alla tua telecamera e controllando il contenuto della tua directory target_dir.

C’è anche uno streaming live che puoi aprire dal tuo lettore multimediale o browser web. Per accedere a questo, naviga all’indirizzo IP della tua macchina seguito da “:8081.”

Trasformare la tua normale webcam in un sistema di rilevamento del movimento è solo una delle cose che puoi fare con le telecamere in Linux. Scopri di più su alcune delle migliori app per webcam per Linux che puoi installare e provare oggi.
Crediti immagine: Bermix Studio tramite Unsplash. Tutte le modifiche e gli screenshot di Ramces Red.