View previous topic :: View next topic |
Author |
Message |
mouser Veteran
Joined: 10 Aug 2004 Posts: 1419 Location: Milano
|
Posted: Thu Aug 10, 2006 1:33 pm Post subject: [TOOL] Videosorveglianza e registrazione, ecco come! |
|
|
Visto che il discorso è lungo vi pasto il readme che ho scritto, opportunatamente modificato
Record e' il programma che viene utilizzato per schedulare
registrazioni dallo stream webcam. Fa parte di una serie di
tool (script bash) chiamati WCS (WebCam Stream) che,
appoggiandosi al software VLC, realizzano l'acquisizione e la
conversione di uno stream proveniente da una network webcam,
per generare piu' flussi stream in uscita a diverse velocita'.
Per le prove ho utilizzato una Axis 232D
(http://www.axis.com/it/prodotti/camera/camera232D.htm),
che emette uno stream codificato in mpeg4, convertendo il
tutto in formato .asf, generando così due stream http (uno a
256kb/s e uno a 1024kb/s) in uscita, utilizzando infine il
tool "record" per la schedulazione di registrazioni.
L'idea e' quella di avere un server che si occupa di acquisire
lo stream dalla webcam e di ripubblicarlo su due flussi in
uscita; questo server, inoltre, può essere facilmente
configurato per effettuare delle sessioni di registrazione del-
le immagini provenienti dalla webcam.
Ecco una descrizione piu' dettagliata dei tool in gioco:
- /usr/sbin/wcs_localstrem: Acquisisce lo stream dalla webcam e
crea uno stream verso 127.0.0.1:1234
in formato .asf
- /usr/sbin/wcs_250kstream: Prende lo stream locale e lo ripubblica
in uscita sulla porta :8080 utilizzando
il protocollo http, a 256kb/s
- /usr/sbin/wcs_1024kstream: Prende lo stream locale e lo ripubblica
in uscita sulla porta :8081 utilizzando
il protocollo http, a 1024kb/s
- /usr/sbin/wcs_record: Questo tool aggancia lo stream a 256kb/s e lo
salva sul file /tmp/rec_current.asf
Questi quattro script (che sono quelli che direttamente comandano VLC)
raramente si andranno ad utilizzare a mano (ed in effetti per far
funzionare l'infrastruttura non vanno toccati). L'unica modifica
richiesta (almeno fino a quando non parametrizzo tutto e' il settaggio
dei parametri quali indirizzi IP e porte.
Passiamo infine ai due tool di più alto livello:
- /usr/sbin/ssrecord: Lanciato senza parametri si occupa di avviare una
registrazione (se non ce ne sono in corso) o di
terminare e salvare su disco esterno una registra-
zione in corso (nel caso sia gia' stata avviata)
Anche questo tool può non essere utilizzato direttamente, anche se per
fare prove può essere utilizzato lanciandolo da riga di comando.
- /usr/sbin/record: Questo tool (quello che andrebbe utilizzato per
schedulare le registrazioni) permette di impostare
settare un'arco di tempo nel quale le immagini
devono essere registrate.
Infine, lo script /etc/init.d/webcamstreaming permette di avviare/stoppare
l'acquisizione e il rilascio dei flussi di streaming.
Per informazioni sui singoli comandi rimando all'help degli stessi ed ai
commenti presenti nel codice.
INSTALLAZIONE
-----------------------------------------------------------------------
Semplicemente spacchettare l'archivio ed entrare nella directory
Code: | $ tar zxvf wcstoolkit.tar.gz
$ cd wcstoolkit |
A questo punto, diventare root e sistemare i permessi e le proprietà
Code: | $ su
Password:
# chown root:root wcs_* webcamstreaming *record
# chmod 755 wcs_* webcamstreaming *record |
Per finire copiare i file nella loro posizione
Code: | # cp webcamstreaming /etc/init.d/
# cp wcs* /usr/sbin/
# cp record /usr/sbin/
# cp ssrecord /usr/sbin/ |
L'installazione e' così completata.
ESEMPIO DI FUNZIONAMENTO
------------------------------------------------------------------------
Una volta installata l'infrastruttura e posizionati gli script nella
posizione corretta, avviare i 3 flussi di streaming con:
Code: | # /etc/init.d/webcamstreaming start |
Potete controllare direttamente da un client se i flussi sono attivi
aprendo una console e lanciando vlc
Code: | $ vlc http://ip.del.vostro.server:8080 |
oppure
Code: | $ vlc http://ip.del.vostro.server:8081 |
A seconda che vogliate visualizzare lo stream a 256k o quello a 1024k.
Ora gli stream sono attivi. Mettiamo di dover registrare dalle 12:00
alle 13:00 di oggi; sul server daremo:
Code: | # record -start 12 -stop 13 |
Cosa fa 'record'? Semplicemente va ad estrarre tutte le informazioni
necessarie al settaggio del nome del file e schedula in cron due
esecuzioni di /usr/sbin/ssrecord, uno all'orario di avvio ed una
all'orario di stop.
Come dicevo sopra, il primo avvio di ssrecord fara' partire la
registrazione delle immagini provenienti dalla webcam ed eliminerà la
entry dalla crontab appena eseguita. Al secondo avvio, ssrecord
sposterà la registrazione in /store/history/.... e eliminerà anche la
seconda entry dalla crontab.
CONCLUSIONI
----------------------------------------------------------------------------
Questo lavoro ho dovuto farlo per un cliente, ma penso che possa in
alcuni casi essere utile; per questo motivo ho deciso di renderlo pubblico
e liberamente scaricabile e modificabile. Se avete migliorie o suggerimen-
ti saranno bene accetti.
Il programma lo potete wgettare così'
Code: | $ wget http://mouser.altervista.org/software/tool/wcstoolkit.tar.gz |
Ciriciao
mouser |
|
Back to top |
|
|
cagnaluia l33t
Joined: 01 Sep 2004 Posts: 998 Location: Treviso
|
Posted: Mon Sep 25, 2006 9:15 pm Post subject: |
|
|
grazie, leggo tutto. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|