Progettazione e realizzazione di un sistema di webcam on-line consultabile via web

 
Obiettivi del progetto

Molti siti o portali consentono ai loro visitatori di visualizzare una o più immagini provenienti da telecamere (webcam) posizionate in punti di particolare interesse turistico, informativo o pubblicitario.
In molti casi questo servizio, se sufficientemente curato, attira visitatori all'interno del sito incrementandone la visibilità.
Esistono inoltre portali dedicati esclusivamente alla raccolta di link ad immagini o a siti che forniscono servizi di webcam.

Problematiche e informazioni utili (e requisiti generici)

Bisogna distinguere almeno due metodi distinti che sono utilizzati per poter visulizzare in remoto immagini provenienti da webcam o altri dispositivi di acquisizione:
- streaming: permette la visualizzazione delle immagini in modo più o meno continuo (con una frame rate di almeno 1 fotogramma al secondo o superiore).
- singola immagine: permette la visulizzazione di una immagine statica, aggiornabile conm una frequenza molto lenta (solitamente aggiornata ogni 5 minuti).

I due metodi richiedono risorse da parte dell'erogatore e dell'utente molto diverse. Tali requisiti e peculiarità sono mostrate nella tabella seguente:

singola immagine
streaming
frame rate massima (sec)
1/60 - 1/120
20 - 10
frame rate media (sec)
1/300
5 - 1
connessione ideale server
ADSL o sup.
fibra ottica
connessione minima server
56 K*
ADSL - ISDN
visibilità server
nessun vincolo
IP pubblico possibilmente statico (1)
connessione ideale client
ADSL
ADSL
connessione minima client
56K
ISDN
numero max connessioni client
illim
1 - 10 a seconda della connession e della frame rate impostata
ftp del dominio hosting
si
no

* Utilizzando una connessione a 56Kb/s (ideale) l'immagine visualizzata dall'utente potrebbe risultare mancante o parziale. Tipicamente ciò può accadere mentre l'immagine viene aggiornata e viene richiesta contemporaneamente dal client. Per risultati soddisfacenti meglio utilizzare una connessione più performante.

La condzione (1) richiede di avere un indirizzo IP che sia accessibile dal client. Tipicamente non si possiede di IP pubblico poichè si accede alla rete globale tramite NAT. In questa comune situazione il client esterno alla rete non è in grado di comunicare con il server (direttamente), mentre non ci sono problemi di visibilità se il client ed il server risiedono nella stessa rete. Un esempio comune è Fasweb.
Il metodo a "singola immagine" consiste nell'acquisizione dell'immagine (grabbing), nella compressionedella stessa, ad esempio in formato JPG, e nalla trasmissione tramite FTP al server su cui risiede il sito in cui l'immagine deve essere visualizzata.
La grossa limitazione di questo metodo è l'aggiornamento dell'immagine che puo' avvenire con tempi piuttosto lenti poichè la maggior parte dei server FTP non permette connessioni frequenti o troppo prolungate (se si utilizzasse una connessione FTP continua).
Questo metodo non richiede IP pubblico poichè la visibilità è garantita dal server web che ospita il sito.
Il metodo "streaming" richiede, oltre alla visibilità del nostro IP da parte di altri utenti in rete, l'utilizzo di un server web sul pc a cui è connessa la webcam. La visualizzazione da parte del client avviene tramite applet Java, Javascrip o Flash in modo trasparente all'utente.
Alcuni siti permettono anche il controllo del movimento della telecamera ed eventualmente dello zoom.

Requisiti Hardware

E' necessario un dispositivo di acquisizione video compatibile con la sorgente, se si utilizza una telecamera, oppure una porta usb 1 o 2 se si utilizza una comune webcam da PC. Sconsiglio di utilizzare webcam poichè sono qualitativamente inferiori ed è complessa la connessione al PC qualora la webcam debba essere posizionata distante dal PC.
Se la ripresa avviene in interno non vi sono problemi particolari, altrimenti è necessario l'utilizzo di dispositivi stagni che possano operare anche in esterno (protezione dagli agenti atmosferici, isolamento e protezione termica) e supporti di fissaggio partcolarmente robusti.
Tali dispositivi adatti ad essere installati in esterno sono spesso molto costosi. In alternativa si possono usare anche in esterno dispositivi non adatti ad essere installati all'esterno purchè si costruisca un involucrostagno e sufficientemente areato.
Ad esempio puo' essere usato un contenitore plasico da elettricista (cassettine da esterno) sul quale deve essere applicato un foro o una finestra chiusa in modo stagno da un vetro. A seconda delle esigenze è necessario costruire un supporto, ad esempio in legno impregnato, adatto all'installzione a muro o su un palo.
Specialmente se si installa la webcam in posizione soprelevata bisogna provvedere a mettere in sicurezza i dispositivi dalle scariche atmosferiche tramite parafulmini etc... Conviene installare l'eventuale trasformatore di alimentazione della telecamera in inerno.
Inoltre è buona norma utilizzare un cavo coassiale schermato che non passi insieme o affiancato a quello di alimentazione per evitare fenomeni di cross-talk che compromettero fortemente la qualità del video. Anche la lunghezza massima e l'impedenza del cavo devono essere rispettate.

telecamera stagna

posizionamento



 

due telecamere

webcam sotto la neve 

Requisiti Software

Esistono molti software gratuiti o a pagamento che possono essere utilizzati.
Uno di questi è "Webcam on-line by Lorenzo Banderali", realizzato dal sottoscritto e disponibile qui


Si rimanda a questo link per la configurazione corretta e la documentazione dettagliata compresi copyright e responsabilità (disclaimer). E' necessario avere installato il framework ridristibuibile (gratuitamente) .net poichè il programma è stato scritto in C#.

Dopo aver eseguito tutte le fasi fino qui descritte creare una pagina web che preveda un reload, possibilmente automatico dell'immagine, ad esempio inserendo le seguenti righe:

<html>
<head>
<title>webcam on line live refresh automatico </title>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<meta http-equiv="Refresh" content="10; url='
http://tuosito.it/rtuadirectory/tuapagina.htm'">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#000000" text="#FFFFFF">

.... inserire l'immagine della webcam aggiornata.......

http://tosito.it/rtuadirectory/tuapagina.htm va sostituito con il vostro URL della pagina che contiene l'immagine.
Infine fare l'upload della pagina sul vostro dominio manualmente (o in automatico).
Si possono utilizzare metodi di reload differenti, ad esempio basati su javascript ed inserire un conto alla rovescia.


Settaggi per il metodo a "streaming"

Questo metodo non è attualmente disponibile per il software "Webcam on-line by Lorenzo Banderali".
Se utilizzate invece altri programmi il codice da inserire nella pagina web dipendono da quale programma utilizzate.... quindi seguite le istruzioni specifiche.

Se disponete di piu' di una telecamera, ma possedete una sola scheda di acquisizione video è possibile commutare in automatico il segnale proveniente dalle due telecamere. Poichè dispongo di un unico cavo di discesa e di sue webcam ho realizzato un piccolo dispositivo a basso costo che opera una commutazione automatica delle due sorgenti video, nel mio caso le due webcam.
Il progetto completo è all'indirizzo:
http://www.solchiere.it/elettronica/progetto21/progetto21.aspx   
Potete vedere la demo di entrambe le metodologie su questo sito nella sezione "Webcam on-line" all'indirizzo :
- http://www.solchiere.it/webcam/webcam.aspx

- http://www.solchiere.it/webcam/webcamon-line.shtm

Non saro' responsabile di alcuna conseguenza dovuta alla realizzazione di questo progetto.


Commenti degli utenti:


Scrivi un commento
 

Per inserire un commento è necessario essere loggati