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 à