[RED 5] el problema de calidad de audio del micrófono
- kosmos17
- Born


- Registrado: Oct 25, 2009
- Mensajes: 1
- Status: Offline
Hola,
Jutilise RED5 para transmitir mi webcam en directo, pero es sólo Laudio podrida
Es intermitente y de mala calidad de sonido.
Le puse 2 scripts usando el correo de mi cámara en directo.
Mi configuración es buena porque intentó jai vídeo de alta calidad y daméliorer Laudio?
La 1 ª es para publicarlo.
La 2 ª a leer.
Gracias por tu ayuda
Jutilise RED5 para transmitir mi webcam en directo, pero es sólo Laudio podrida
Es intermitente y de mala calidad de sonido.
Le puse 2 scripts usando el correo de mi cámara en directo.
Mi configuración es buena porque intentó jai vídeo de alta calidad y daméliorer Laudio?
La 1 ª es para publicarlo.
Código: [ Select ]
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");
- }
- }
La 2 ª a leer.
Código: [ Select ]
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
- }
Gracias por tu ayuda
- Anonymous
- Bot


- Registrado: 25 Feb 2008
- Mensajes: ?
- Loc: Ozzuland
- Status: Online
Octubre 25th, 2009, 1:07 am
Página 1 de 1
Para responder a este tema que necesita para ingresar o registrarse. Es gratis.
Publicar Información
- Total de mensajes en este tema: 1 mensaje
- Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 66 invitados
- No puede abrir nuevos temas en este Foro
- No puede responder a temas en este Foro
- No puede editar sus mensajes en este Foro
- No puede borrar sus mensajes en este Foro
- No puede enviar adjuntos en este Foro
