[RED 5] Prob quality audio microphone
- kosmos17
- Born


- Joined: Oct 25, 2009
- Posts: 1
- Status: Offline
Hello,
Jutilise RED5 to broadcast my live webcam but laudio is just rotten
It is intermittent and of poor sound quality.
I put my 2 scripts using the mailing of my live cam.
My config is good because she tried jai daméliorer quality video and laudio?
The 1st is to publish it.
The 2nd to read.
Thank you for your help
Jutilise RED5 to broadcast my live webcam but laudio is just rotten
It is intermittent and of poor sound quality.
I put my 2 scripts using the mailing of my live cam.
My config is good because she tried jai daméliorer quality video and laudio?
The 1st is to publish it.
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)
nc = new NetConnection();
nc.client = this;
// Red5 ne supporte que AMF0
nc.objectEncoding = ObjectEncoding.AMF0;
// Connection au serveur Red5 sur le port RTMP 1935
nc.connect("rtmp://xxxxxxxxxxxxxxxxxxxx");
// On écoute les évènements de la couche transport
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
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 (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");
}
}
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)
nc = new NetConnection();
nc.client = this;
// Red5 ne supporte que AMF0
nc.objectEncoding = ObjectEncoding.AMF0;
// Connection au serveur Red5 sur le port RTMP 1935
nc.connect("rtmp://xxxxxxxxxxxxxxxxxxxx");
// On écoute les évènements de la couche transport
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
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 (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");
}
}
- 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)
- nc = new NetConnection();
- nc.client = this;
- // Red5 ne supporte que AMF0
- nc.objectEncoding = ObjectEncoding.AMF0;
- // Connection au serveur Red5 sur le port RTMP 1935
- nc.connect("rtmp://xxxxxxxxxxxxxxxxxxxx");
- // On écoute les évènements de la couche transport
- nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
- 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 (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");
- }
- }
The 2nd to read.
public function initNC () : void{
// Pour indiquer au serveur qui doit être le client (peut être tout objet ActionScript)
nc = new NetConnection();
nc.client = this;
// Red5 ne supporte que AMF0
nc.objectEncoding = ObjectEncoding.AMF0;
// Connection au serveur Red5 sur le port RTMP 1935
nc.connect("rtmp://xxxxxxxxxxxxxxxxxxxxxxxxxxx");
// On écoute les évènements de la couche transport
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
nc.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
}
private function netStatusHandler (event : NetStatusEvent) : void{
switch (event******.code){
case "NetConnection.Connect.Success": {
this.ns = new NetStream(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
}
// Pour indiquer au serveur qui doit être le client (peut être tout objet ActionScript)
nc = new NetConnection();
nc.client = this;
// Red5 ne supporte que AMF0
nc.objectEncoding = ObjectEncoding.AMF0;
// Connection au serveur Red5 sur le port RTMP 1935
nc.connect("rtmp://xxxxxxxxxxxxxxxxxxxxxxxxxxx");
// On écoute les évènements de la couche transport
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
nc.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
}
private function netStatusHandler (event : NetStatusEvent) : void{
switch (event******.code){
case "NetConnection.Connect.Success": {
this.ns = new NetStream(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
}
- public function initNC () : void{
- // Pour indiquer au serveur qui doit être le client (peut être tout objet ActionScript)
- nc = new NetConnection();
- nc.client = this;
- // Red5 ne supporte que AMF0
- nc.objectEncoding = ObjectEncoding.AMF0;
- // Connection au serveur Red5 sur le port RTMP 1935
- nc.connect("rtmp://xxxxxxxxxxxxxxxxxxxxxxxxxxx");
- // On écoute les évènements de la couche transport
- nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
- nc.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
- }
- private function netStatusHandler (event : NetStatusEvent) : void{
- switch (event******.code){
- case "NetConnection.Connect.Success": {
- this.ns = new NetStream(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
- }
Thank you for your help
- Anonymous
- Bot


- Joined: 25 Feb 2008
- Posts: ?
- Loc: Ozzuland
- Status: Online
October 25th, 2009, 1:07 am
Page 1 of 1
To Reply to this topic you need to LOGIN or REGISTER. It is free.
Post Information
- Total Posts in this topic: 1 post
- Users browsing this forum: No registered users and 49 guests
- You cannot post new topics in this forum
- You cannot reply to topics in this forum
- You cannot edit your posts in this forum
- You cannot delete your posts in this forum
- You cannot post attachments in this forum

