begin process at 2012 05 26 23:49:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

[FLASH RED5] Prob qualité du son webcam


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[FLASH RED5] Prob qualité du son webcam

dimanche 25 octobre 2009 à 08:53:10 | [FLASH RED5] Prob qualité du son webcam

tsoko17

Bonjour,
J'utilise RED5 pour diffuser en live ma webcam mais l'audio est simplement pourri
Il est intermitent et de mauvaise qualité sonore.
Je vous met mes 2 scripts faisant appel à la diffusion de ma cam en live.

Ma config est-elle bonne car j'ai essayé d'améliorer la qualité de la vidéo et de l'audio??

Le 1er est pour le publier.
Code ActionScript :
public class CameraBroadcast{
                private var cam : Camera;
                private var nc : NetConnection;
                private var ns : NetStream;
                private var mic:Microphone;
                private var monUrl : URLRequest;
                
                public var expediteur :String;
                public var code :String;
                
                public function CameraBroadcast(){
                        //Constructeur
                }
 
                public function initNC() : void {
                        // Pour indiquer au serveur qui doit être le client (peut être tout objet ActionScript)
                        this.nc = new NetConnection();
                        this.nc.client = this;
                        // Red5 ne supporte que AMF0
                        this.nc.objectEncoding = ObjectEncoding.AMF0;
                        // Connection au serveur Red5 sur le port RTMP 1935
                        this.nc.connect("rtmp://xxxxxxxxxxxxxxxxxxxx");
                        // On écoute les évènements de la couche transport
                        this.nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
                        this.nc.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
                }
 
                private function netStatusHandler (event : NetStatusEvent) : void{
                        switch (event******.code){
                                case "NetConnection.Connect.Success": {
                                        this.cam = Camera.getCamera();
                                        this.ns = new NetStream (this.nc);
                                        
                                        //-------- PARAMETRES MICROPHONE --------------
                                        this.mic = Microphone.getMicrophone();
                                        //Supprime le probleme ECHO
                                        this.mic.setUseEchoSuppression(true);
                                        //Améliore la diffusion du son entre chaque utilisation temps en millisecondes
                                        this.mic.setSilenceLevel(10,1000);
                                        
                                        //--------- PARAMETRES CAMERA -----------------
                                        //Améliore la qualité de l'image
                                        this.cam.setQuality(40000,80);
                                        //Améliore la capture de l'image
                                        this.cam.setMotionLevel(30,500);
                                        //Definir les dimensions de la cam diffusée
                                        this.cam.setMode(407,307,25,true);
                                        
                                        this.ns.attachCamera(this.cam);
                                        this.ns.attachAudio(this.mic);
                                        
                                        try{
                                                this.ns.client = this;
                                                this.ns.publish(this.expediteur,"live");
                                        }
                                        catch (e:Error) {
                                                trace (e.message);
                                        }
                                        break;  
                                } 
                                default:
                                alert.show("Attention...Assurez-vous que votre webcam soit branchée !");
                                break;
                        }
                }
                
                public function onBWDone():void {
                        // Appelé par RED5 au moment de la connexion
                }
                                
                public function onMetaData (data : Object) : void{
                        // Appelé par RED5 au moment de la connexion
                }
         
                public function onPlayStatus (data : Object) : void     {
                        // Appelé par RED5 au moment de la connexion
                }
                
                public function asyncErrorHandler(event:AsyncErrorEvent):void {
                        // Appelé par RED5 au moment de la connexion
                }
                
                public function stopperCamera():void{
                        this.ns.close();
                        this.monUrl = new URLRequest("http://xxxxxxxxxxxxxx/index.php?do=maj&cs="+this.code);
                        navigateToURL(this.monUrl,"_self");
                }
        }


Le 2ème pour le lire.
Code ActionScript :
public function initNC () : void{
                                // Pour indiquer au serveur qui doit être le client (peut être tout objet ActionScript)
                                this.nc = new NetConnection();
                                this.nc.client = this;
                                // Red5 ne supporte que AMF0
                                this.nc.objectEncoding = ObjectEncoding.AMF0;
                                // Connection au serveur Red5 sur le port RTMP 1935
                                this.nc.connect("rtmp://xxxxxxxxxxxxxxxxxxxxxxxxxxx");
                                // On écoute les évènements de la couche transport
                                this.nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
                                this.nc.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
                        }
                        
                        private function netStatusHandler (event : NetStatusEvent) : void{
                                switch (event******.code){
                                        case "NetConnection.Connect.Success": {
                                                this.ns = new NetStream(this.nc);
                                                this.video = new Video();
                                                this.video.attachNetStream(this.ns);
                                                this.video.width = 407;
                                                this.video.height = 307;
                                                slr.addChild(this.video);
                                                try{
                                                        this.ns.client = this;
                                                        this.ns.play(this.destinataire);
                                                }
                                                catch (e:Error) {
                                                        trace (e.message);
                                                }
                                                break;  
                                        } 
                                        default:
                                        break;
                                }
                        }
 
                        public function onBWDone():void {
                                // Appelé par RED5 au moment de la connexion
                        }
                                
                        public function onMetaData (data : Object) : void{
                                // Appelé par RED5 au moment de la connexion
                        }
         
                        public function onPlayStatus (data : Object) : void     {
                                // Appelé par RED5 au moment de la connexion
                        }
                        public function asyncErrorHandler(event:AsyncErrorEvent):void {
                                // Appelé par RED5 au moment de la connexion
                        }


Merci de votre aide


Cette discussion est classée dans : public, function, void, nc, red5


Répondre à ce message

Sujets en rapport avec ce message

Souci POO en AS2 [ par syndrael ] Bonjour, J'ai le code suivant: class myObjet extends MovieClip{     public var __ObjetId:Number;     public function myObjet () {     }  &nbs getURL ? [ par MatthieuFourcade ] Bonjour !J'ai un petit bout de code pour faire fonctionner des boutons.// Bouton 1 : Views        var halo1 :HaloFilter= new HaloFilter(Viewer,0xEEFF3 Cartographie [ par thorssven ] Comment importer des données (attributs) d'un noeud XML liées à un clip ou à un bouton, en boucle ? J'ai 350 clips ou boutons à lier à leurs données r probleme avec classe étendue et getChildByName [ par sprullex ] bonjour/bonsoir j'ai d'abord créé un movieClip que j'ai nommé [i]carre[/i]. Je l'ai exporté en AS3. j'ai déclaré une classe [i]carreDiagonale[/i] hér Chargment fichier texte (publication) [ par Igone ] Bonjour,   Je cherche à publier un site AS3 qui fonctionne bien en local mais une fois sur un serveur distant, je rencontre un problème récurrent d'af setTimeout qui veut pas se laisser faire dans une classe AS2 [ par goldenboy68 ] Hello, Je suis tombé sur un truc hier soir, et j'ai fait que contourner le problème...alors quelqu'un sait-il comment on implémente la fonction "setT Appel d'une méthode de classe à partir d'un onPress lui-même inclu dans une méthode... [ par goldenboy68 ] Hello TLM... Je sèche encore sur de l'AS 2! Je charge des miniatures avec une classe "Pellicule"   Première méthode: public var chargeur:MovieClipLo probleme de communication client-server avec fms [ par adess00 ] Bonjour, J'aimerais faire un chat et j'ai un probleme avec quelques fonctions. Coté server, je crée le SO : application.onAppStart = function() { t Probleme avec mon ActionScript [ par lapetitenovice ] Bonjour, Je suis entrain de créer un site en flash mais gros problème :s avec l'un de mes fichier .as car ce n'est pas moi qui l'ai conçu en entier m condition appele un fonction avec parametre [ par Luigi1205 ] Bonjours j'ai cette condition qui doit appeler diffrente fonction le probleme c est que se sont des fonction parametre lorsque j ajoute le parametre


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales