[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: consiglio su architettura piccolo sistema



Il giorno 13/feb/2015, alle ore 12:07, giulianc51 <giulianc51@gmail.com> ha scritto:

> il collettore centrale, quando riscontra durante il polling delle
> periferiche (camere) un avvenuto allarme, scarica le immagini su un HD
> più capiente (500GB/1TB) cancellandole dal sistema locale; in questo
> modo (se non trascuro effetti collaterali) tutto dovrebbe essere
> gestito dalla frequenza di polling: se la frequenza è inferiore al
> tempo di saturazione(*) della risorsa locale dovrei essere a posto
> (spero :-);
> 
> grazie, ciao,
> giuliano
> 
> 
> (*) provo a fare quì una stima così mi correggete anche su quello:
> dimensione_immagine = 2.5MB (jpeg)
> frame_rate = 24imm/min
> dimensione_richiesta_per_un_minuto = 24x2.5 = 60MB
> spazio_disponibile_locale = 5GB = 5x1024MB
> tempo_critico = 5x1024/60 = 85min = 1h 25m (se il sistema fosse
> continuativamente in allarme)
> torna?

Guarda, qui al lavoro abbiamo delle cam di video sorveglianza industriali con su un sistema linux embedded sul quale non ho approfondito più di tanto, ma ti posso parlare un po’ di come funzionano “da fuori”, magari puoi usare alcuni aspetti come “ispirazione” per il tuo progetto. 

Intanto, le nostre cam di serie riprendono a 10 frame al secondo (se uno vuole possono andare a fps diversi, per esempio 24 o 15), quindi penso che tu potresti abbassare la frequenza di ripresa, rendendo meno critici i problemi di storage.

Inoltre 2.5 MB per frame mi sembrano un po’ eccessivi… che risoluzione hai? Che ci devi fare? Leggere le targhe delle macchine come in CSI? http://goo.gl/NIjKsm ;-)

Io ragionerei come se volessi riprendere frame full HD, e quindi frame 1080p, da 1920x1080 px, che (a seconda delle impostazioni di compressione e dei contenuti) dovrebbero andare a “pesare” circa 500 kB, ridimensionando molto le necessità di elaborazione. Non conosco le caratteristiche della cam del RPi, ma magari puoi acquisire a risoluzione inferiore o ridimensionare l’immagine dopo l’acquisizione…

Un altro aspetto: le cam che abbiamo danno in rete uno stream video M-JPEG (http://it.wikipedia.org/wiki/Motion_JPEG) che può essere catturato con VLC da un altro sistema che può registrare in modo continuo o agganciarsi allo stream in qualsiasi momento. M-JPEG è una buona scelta per lo streaming di video di sorveglianza perché i singoli frame sono immagini JPEG complete, che possono essere estratte dal video senza artefatti e con tutti i dettagli. 

Il software a corredo delle nostre cam di sorveglianza (manco a dirlo, è per Windows) "tiene d’occhio” (attraverso un protocollo proprietario) le trasmissioni delle cam, e quando viene rilevato movimento si aggancia allo stream ed avvia la registrazione, che dura per alcuni minuti dopo che non viene rilevato più alcun movimento. 

Credo che tutte le operazioni (ridimensionamento dei frame ripresi, streaming e cattura dello stream) possano essere fatte usando solo ffmpeg, ma non so se ffmpeg è disponibile nei repository di Raspbian… 

buona fortuna,
gerlos


PS Ma hai provato a cercare un po’ su google e sul wiki di Raspberry Pi per progetti simili? Al primo colpo a me ha dato questo: http://www.raspberrypi.org/turn-your-pi-into-a-low-cost-hd-surveillance-cam/ ;-)

--
"Fairy tales are more than true, not because they tell us that dragons exist, 
but because they tell us that dragons can be beaten."
					G. K. Chesterton
      <http://gerlos.altervista.org>
gerlos +- - - > gnu/linux registred user #311588


Reply to: