Re
Je précise seulement que je n'ai rien touché côté serveur RED 5
puisque les enregistrements se font dans le répertoire oflademo c'est
une application déjà prête dans le red 5

Sézard_damian a écrit :
> Hi et merci pour cette réponse très précise
> alors pour la version de res 5 c'est
> *RED5 0.7.0 j'ai installé la version standaloone donc autonome
> * je compile utilisant le FP9
> * oui je travail en local
> voici le code complet qui assure l'affichage dans mon système ainsi
> l'enregistrment et la connexion avec le RED 5
> //////////////////////////////////////:
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Canvas backgroundColor="#eeeeee" creationComplete="init()"
> xmlns:mx="http://www.adobe.com/2006/mxml";
> xmlns:utils="com.dougmccune.utils.*"
> xmlns:controls="com.dougmccune.controls.*">
>               <mx:RemoteObject id="myservice" fault="faultHandler(event)"
> showBusyCursor="true" source="PictureService" destination="amfphp">
>         <mx:method name="savePNG" result="resultHandler(event)"
> fault="faultHandler(event)" />
>     </mx:RemoteObject>
>       <mx:Script>
>               <![CDATA[
>                       import mx.managers.PopUpManager;
>                       import mx.events.CloseEvent;
>                       import flash.utils.clearInterval;
>               import flash.display.*;
>               import flash.display.MovieClip;
>               import flash.media.Video;
>               import flash.media.Microphone;
>               import flash.media.Video;
>               import flash.net.NetConnection;
>               import flash.net.NetStream;
>               import flash.events.NetStatusEvent;
>               import flash.events.AsyncErrorEvent;
>               import flash.display.SimpleButton;
>               import flash.text.*;
>               import flash.system.SecurityDomain;
>               import flash.system.Security;
>               import flash.net.Responder;
>               import flash.net.NetStream;
>                       import flash.utils.setInterval;
>                       import mx.graphics.codec.JPEGEncoder;
>                       import mx.controls.Alert;
>                       import mx.core.UIComponent;
>                       import mx.managers.CursorManager;
>                       import mx.rpc.events.ResultEvent;
>                       import mx.rpc.events.FaultEvent;
>                       import mx.messaging.AbstractConsumer;
>                       import mx.core.UIComponent;
>                       import mx.core.IUIComponent;
>                       import mx.controls.Image;
>                       import GestionNotification.SendMail;
>                       private var smail:SendMail;
>                       private var nc:NetConnection;
>               private var responder:Responder;
>               private var ns:NetStream;
>               private var mic:Microphone = Microphone.getMicrophone();
>                       private var nTimer:Number;
>                       public var threshold:Number = .2;
>                       public var recordingyes:Boolean;
>                   private var isrecord:Boolean;
>                   public var notif_type:String="(Aucune)";
>                   public var user_type:String="Aucun";
>                   public function onBWDone():void {
>
> }
>     private function init():void
>       {
>               connect();
>       }
>       private function connect():void
>       {       NetConnection.defaultObjectEncoding = ObjectEncoding.AMF0;
>         SharedObject.defaultObjectEncoding  =
> ObjectEncoding.AMF0;
>               nc = new NetConnection();
>               nc.client=this;
>               nc.objectEncoding=0;
>               nc.connect("rtmp://localhost:1935/oflaDemo",true);
>           nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
>       }
>       private function netStatusHandler(e:NetStatusEvent):void  {
>               var code:String = e.info.code;
>               Alert.show("code = " + code);
>               if(code == "NetConnection.Connect.Success"){
>               ns = new NetStream(nc);
>               ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR,
> asyncErrorHandler);
>               recordingyes=true;
>               isrecord=false;
>               }
>       }
>   private function asyncErrorHandler(event:AsyncErrorEvent):void {
>        Alert.show(event.toString(),"error");
>   }
>   public function publishCam(str:String):void
>       {
>               try
>               {
>               ns.attachCamera(videoCamera.camera);
>               mic.rate = 44;
>               ns.attachAudio(mic);
>                       ns.publish(str, 'record');
>               }
>               catch(err:Error)
>               {
>                       Alert.show( err.toString() );
>               }
>       }
>
>       public function stopRecording():void
>       {
>               ns.close();
>               clearInterval(nTimer);
>               isrecord=false;
>       }
>
>                       public function Enregistrer():void
>                       {
>                           var snapshotHolder:UIComponent = new UIComponent();
>                               var snapshot:BitmapData = new
> BitmapData(videoCamera.width,videoCamera.height,true);
>                               var snapshotBitmap:Bitmap = new 
> Bitmap(snapshot);
>                               snapshotHolder.addChild(snapshotBitmap);
>                               snapshot.draw(videoCamera);
>                               savePicture(snapshot);
>                       }
>                       private function savePicture(picture:BitmapData) : void 
> {
>                       // appél au compresseur JPEG
>                          var jpegEncoder:JPEGEncoder= new JPEGEncoder();
>                               var 
> jpegBytes:ByteArray=jpegEncoder.encode(picture);
>                               jpegBytes.compress();
>                               // envoyé au serveur
>                               
> myservice.getOperation("savePNG").send(jpegBytes);
>                       }
>                       private function faultHandler(fault:FaultEvent):void
>             {
>                 CursorManager.removeBusyCursor();
>                 Alert.show("code:\n" + fault.fault.faultCode + "\n
> \nMessage:\n" + fault.fault.faultString + "\n\nDetail:\n" +
> fault.fault.faultDetail);
>             }
>
>             private function resultHandler(evt:ResultEvent):void
>             {
>                Alert.show(evt.result.toString());
>             }
>
>                       private function motionHandler(event:Event):void {
>                               var dat:Date= new Date();
>                               if(detector.percentChange > threshold) {
>                                       if(til.numChildren>50)
>                                       {
>                                               til.removeAllChildren();
>                                       }
>                                       var image:Image = new Image();
>                                       image.source = new 
> Bitmap(detector.lastSnapshot.clone());
>                                       image.width =  50;
>                                       image.height = 45;
>                                       til.addChild(image);
>                                       if(recordingyes==true){
>                                               if(isrecord==false){
>                                       var ccA:String=dat.getDay().toString()+ 
> dat.getMonth().toString()
> + dat.getHours().toString()+ dat.getMinutes().toString()
> +dat.getSeconds().toString()+dat.getMilliseconds().toString();
>                   var chA:String="Demo_"+ccA;
>                                       publishCam(chA);
>                                       isrecord=true;
>                                       
> nTimer=setInterval(stopRecording,10000);}
>                                       }
>                                       bar.setStyle("trackColors", 
> [0xff0000,0xff0000]);
>                                       générer_notif();
>                               }
>                               else {
>                                       bar.clearStyle("trackColors");
>                               }
>                       }
>                       private function générer_notif():void{
>                               if (user_type=="administrateur"){// le compte 
> connécté est un
> compte chef ou administrateur
>                                       smail=new SendMail();
>                                       if(smail.mail_admin!=""){// 
> l'administrateur a déjà fait de
> gestion de notification
>                    // envoir mail
>                                       }
>                                       else{
>                                               // l'administrateur n'a ps 
> encore enregistré ses coordonées
>                                               // une boite de dialogue 
> s'affiche si l'administrateur veut
> enregistrer ses coordonnées
>                                               Alert.yesLabel="Oui";
>                                               Alert.noLabel="Non";
>                                               Alert.show("les coordonnées de 
> l'administrateur ne sont pas
> encore enregistrés voulez vous le faire maintenant?","information",
> (Alert.YES|Alert.NO|Alert.NONMODAL),this,CloseHandler);
>                                       }
>                               }
>                       }
>                       private function CloseHandler(event:CloseEvent):void{
>                               if(event.detail==Alert.YES){
>                                       // gerer notif s'affiche
>                               
> smail.addEventListener(CloseEvent.CLOSE,remouvsmail);
>               PopUpManager.addPopUp(smail,this,true);
>                               }
>                       }
>                       private function remouvsmail(event:CloseEvent):void{
>                     PopUpManager.removePopUp(smail);
>             }
>               ]]>
>       </mx:Script>
>       <utils:SimpleMotionDetector id="detector"  sampleRate="100"
>               source="{videoCamera}" change="motionHandler(event);
> bar.setProgress(detector.percentChange, 1)" />
>     <mx:Panel title="Streaming Vidéo" id="streaming"
> borderColor="#34A89C" fontFamily="Georgia" height="408" width="494"
> layout="vertical" horizontalAlign="left" verticalAlign="top">
>             <controls:WebCamDisplay id="videoCamera" width="474"
> height="319"
>             borderThickness="1"
>             borderColor="#FFFFFF"
>             borderStyle="solid"
>             cornerRadius="0"/>
>         <mx:ProgressBar mode="manual" minimum="0" maximum="1" id="bar"
> trackHeight="30"
>               labelPlacement="center" label="Sensibilité: %3%%"
> width="{videoCamera.width}" />
>     </mx:Panel>
>     <mx:Tile id="til" visible="false" x="0" y="0"/>
> </mx:Canvas>
> //////////////////////////////////////
>
> On 6 mar, 20:42, ekameleon <[email protected]> wrote:
> > Hello :)
> >
> > il nous faut beaucoup plus d'infos (comme toujours ;))
> >
> > 1 - version de RED5 et quelle est ta configuration (port, etc...).. explique
> > comment tu installes celui ci etc.
> >
> > 2 - tu as cherché sur leur mailing list pour voir si quelqu'un a eu déjà le
> > même problème ?http://osflash.org/pipermail/red5_osflash.org/
> >
> > 3 - tu compiles en FP10 ? FP9 ? tu as mis un code en AMF0 .. côté serveur tu
> > es certaine d'être en AMF0 ? Tu fais pas de l'AMF3 sans le savoir ?
> >
> > 4 - Tu peux préciser si tu es en local, en ligne, etc ? Là impossible de
> > savoir ce que tu fais à ce niveau là ;)
> >
> > Perso je ne maitrise pas du tout Red5 mais plutôt FMS :) Du coup là je te
> > mets des questions bateau... mais franchement si personne ne te réponds
> > rapidement ici, tu auras plus de chance de trouver ta réponse sur la mailing
> > list de Red5 où la communauté sera surement en forme pour te donner la
> > réponse ;)
> >
> > En général quand on arrive à se connecter à un serveur pas de raison de pas
> > pouvoir le faire de "temps en temps"... faut que tu sois précise dans ton
> > process d'intégration, etc. pour voir ce qui peut clocher. Le code AS3 ne
> > doit pas être la cause du soucis car tu ne fais pas grand chose à ce que je
> > vois qui peut causer problème dans ton test ;)
> >
> > PS : faudrait voir aussi ton code Java server side.. mais là c'est encore
> > une autre histoire
> >
> > EKA+ :)
> >
> > Le 6 mars 2010 20:29, Sézard_damian <[email protected]> a écrit :
> >
> > > hi there :D contente de rejoindre ce groupe
> > > alors j'ai un petit souci avec mon serveur red 5, je suis en train de
> > > développer une application vidéosurveillance où j'enregistre les
> > > vidéos en cas de mouvement j'ai utilisé pour cela le serveur REd 5
> > > j'enregistre les vidéos utilisant le protocole "rtmp" dans le
> > > répertoire oflademo
> > > le problème est lors de la connexion des fois elle se termine avec
> > > succé et des fois non
> > > voici mon code:
> > > //////////////////////////////////////////////
> > >   private function connect():void
> > >        {       NetConnection.defaultObjectEncoding = ObjectEncoding.AMF0;
> > >        SharedObject.defaultObjectEncoding  =
> > > ObjectEncoding.AMF0;
> > >                nc = new NetConnection();
> > >                nc.client=this;
> > >                nc.objectEncoding=0;
> > >                nc.connect("rtmp://localhost:1935/oflaDemo",true);
> > >            nc.addEventListener(NetStatusEvent.NET_STATUS,
> > > netStatusHandler);
> > >        }
> > >        private function netStatusHandler(e:NetStatusEvent):void  {
> > >                var code:String = e.info.code;
> > >                Alert.show("code = " + code);
> > >                if(code == "NetConnection.Connect.Success"){
> > >                ns = new NetStream(nc);
> > >                ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR,
> > > asyncErrorHandler);
> > >                recordingyes=true;
> > >                isrecord=false;
> > >                }
> > >        }
> > > ////////////////////////////
> > > la fonction netStatusHandler dans le alert.show des fois elle affiche
> > > NetConnection.Connect.Success et parfois non :(
> > > je ne sais qu'est ce qui cloche !!!!!!!!!!!!
> > > est ce un problème de port ?!!!!!!!!!!!!!
> > > Merci d'avance
> > > Cordialement
> >
> > > --
> > > Vous recevez ce message, car vous êtes abonné au groupe Google
> > > Groupes FCNG.
> > > Pour envoyer un message à ce groupe, adressez un e-mail à
> > > [email protected].
> > > Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
> > > [email protected] <fcng%[email protected]>.
> > > Pour plus d'options, consultez la page de ce groupe :
> > >http://groups.google.com/group/fcng?hl=fr
> >
> >

-- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes FCNG.
Pour envoyer un message à ce groupe, adressez un e-mail à [email protected].
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
[email protected].
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/fcng?hl=fr

Répondre à