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..
