How To, come fare
feed

H0w To | come fare a …

Come realizzare una sistema di video-audio sorveglianza in flash

How To veramente interessante ;)

Obiettivo
In questo articolo tratteremo come creare un sistema di video/audio sorveglianza con flash mx e macromedia flash comunication server mx.

Macromedia flash comunication server mx
Questo prodotto macromedia e’ quello che ci consente di far dialogare due o piu’ client tra di loro.
Chiaramente non e’ gratuito ma esiste una versione dedicata agli sviluppatori che funziona al 100% ma e’
limitata a sole 5 connessioni e banda (mbps): 0.25. Per le nostre prove e’ sufficiente.
Il download di questo prodotto puo’ essere fatto dal sito della macromedia http://www.macromedia.com .

Una volta scaricato e installato vediamo come far partire il server, basta cliccare su “tools\StartServerService.bat” nella
cartella di installazione di flash comunication server mx e poi andare nel pannello di amministrazione situato in
“flashcom_help\html\admin\admin.html”

Cartelle del server e funzionamento
Le applicazioni in flash, vanno messe nella cartella “\applications” del percorso di installazione del server e devono
essere messe in una sottocartella a cui possiamo dare un nome a nostro piacimento ma,
affinche’ il nostro filmato flash possa funzionare con flash il server, occorre dare al filmato flash lo stesso nome della cartella del server.
In questa sottocartella inoltre deve essere presente un file, che dobbiamo creare noi, chiamato “main.asc” che possiamo
creare ad esempio con il notepad. Il contenuto di questo file e’ standard:

load( “components.asc” );

Poiche’ il nostro file .fla si chiamata “sorveglianza”, allora il nome della sottocartella sara’ “sorveglianza”.

Il sistema
Il nostro sistema sara’ composto da due componenti video e da un combobox in cui potremo scegliere i video da rivedere.
Mettiamo nello stage il primo componente video e diamogli come nome d’istanza “anteprima”, poi mettiamo il secondo
componente video e diamogli come nome d’istanza “registrati” infine mettiamo il componente combobox e gli diamo come
nome d’istanza “videorec”.
Tutta l’animazione si svolge in un solo frame e tutto il codice actionscript, va messo nel frame. Abbiamo scelto di
memorizzare piu’ di un video quindi dobbiamo avere un contatore che tenga traccia dei video registrati

_root.contatore=1;

Per fare in modo di poter registrare un video, dobbiamo istanziare una istanza della classe NetConnection

connection=new NetConnection();

e poi connectterci al server

connection.connect(”rtmp://localhost/sorveglianza”);

creare lo stream

stream=new NetStream(connection);

e rilevare i dati dalla webcam e dal microfono

camera=Camera.get();
microfono=Microphone.get();

settare i parametri della webcam

camera.setMode(600,400,30);
camera.setQuality(0,100);
camera.setMotionLevel(50,5000);

dove “setMotionLevel” setta il livello minimo di allerta pre l’attivszione della webcam. Infine la cosa piu’
importante per la registrazione e’la funzione “onActivity” che fa im modo di attivare la webcam quando essa nota un
movimento

camera.onActivity=function(mode){rec(mode);}

Appena nota un movimento, la funzione “rec” registra il video. Se vediamo il corpo della funzione

anteprima.attachVideo(camera);

mostra il video corrente

stream.publish(”ripresa_”+_root.contatore,”record”);

pubblica il video registrato

stream.attachVideo(camera);
stream.attachAudio(microfono);

attacca video e audio allo stream e non appena ha finito

else{
stream.close();
_root.videorec.addItem(”ripresa_”+_root.contatore);
_root.contatore+=1;
}

chiude lo stream, incrementa il contatore di video e aggiunge la nuova voce al combobox.
Fatto questo, dobbiamo solo poi fare il codice per vedere i video e questo lo potete vedere dal codice.

stop();
//contatore
_root.contatore=1;
_root.stato.gotoAndPlay(1);
_root.videorec.addItem(”riprese effettuate”);
//oggetto netconnection
connection=new NetConnection();
connection.connect(”rtmp://localhost/sorveglianza”);
connection.onStatus = function(info) {
trace(”Level: ” + info.level + ” Code: ” + info.code);
}
//stream
stream=new NetStream(connection);
//legge
camera=Camera.get();
microfono=Microphone.get();
//propieta
camera.setMode(600,400,30);
camera.setQuality(0,100);
camera.setMotionLevel(50,5000);
anteprima.attachVideo(camera);
//quando cambia qualcosa si attiva
camera.onActivity=function(mode){rec(mode);}

//funzione che registra
function rec(mode){
if(mode){//registra
_root.stato.gotoAndPlay(2);
anteprima.attachVideo(camera);
stream.publish(”ripresa_”+_root.contatore,”record”);
stream.attachVideo(camera);
stream.attachAudio(microfono);
}
else{//termina
stream.close();
stream.publish(false);
stato.gotoAndPlay(1);
_root.videorec.addItem(”ripresa_”+_root.contatore);
_root.contatore+=1;
}
}

function change(evt){
connection2=new NetConnection();
connection2.connect(”rtmp://localhost/sorveglianza”);
stream2=new NetStream(connection2);
stream2.play(””+evt.target.selectedItem.label);
_root.registrati.attachVideo(stream2);
}
_root.videorec.addEventListener(”change”, this);

Avviare la videoconferenza
Per avviare il sistma , far partire il server, connettersi al server come admin e il gioco e’ fatto.

Via | sastgroup

Nessun Commento »

Puoi lasciare una risposta, oppure fare un trackback dal tuo sito.


Vuoi essere il primo a lasciare un commento per questo articolo? Utilizza il modulo sotto..

Lascia un commento




Il tuo commento:

dippiù?