Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[TOOL] Videosorveglianza e registrazione, ecco come!
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools)
View previous topic :: View next topic  
Author Message
mouser
Veteran
Veteran


Joined: 10 Aug 2004
Posts: 1418
Location: Milano

PostPosted: Thu Aug 10, 2006 1:33 pm    Post subject: [TOOL] Videosorveglianza e registrazione, ecco come! Reply with quote

Visto che il discorso è lungo vi pasto il readme che ho scritto, opportunatamente modificato 8)

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 :wink:
_________________
Della serie: "Informatica for dummies":

Io: "Premi il tasto Invio" - Risp: "Ma il tasto Invio è quello con scritto Enter sopra?"
Io: "Scrivi T maiuscolo" - Risp: "Questa tastiera non ha le lettere maiuscole..."
Back to top
View user's profile Send private message
cagnaluia
l33t
l33t


Joined: 01 Sep 2004
Posts: 998
Location: Treviso

PostPosted: Mon Sep 25, 2006 9:15 pm    Post subject: Reply with quote

grazie, leggo tutto.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools) All times are GMT
Page 1 of 1

 
Jump to:  
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