Comunidad de diseño web y desarrollo en internet online

No recibo video

Citar            
MensajeEscrito el 07 Jun 2012 09:46 pm
Estoy programando un videochat en Flex y Flash Media Server en el que un usuario envia video y el otro recibe. El código para enviar video ( que funciona) es:

stream.attachCamera(camara);
stream.publish("prueba","live");
video.attachCamera(camara);
camaraDisplay.x=320;
camaraDisplay.y=7;
camaraDisplay.addChild(video);

Del lado del emisor el código que se ejecuta cuando le toca, pero no funciona, es:

stream.play("prueba");
video.attachNetStream(stream);
camaraDisplay.x=320;
camaraDisplay.y=7;
camaraDisplay.addChild(video);

Este código no produce error pero no sale nada. ¿Qué es lo que me falla?

Por Xanatos34

15 de clabLevel



 

chrome
Citar            
MensajeEscrito el 07 Jun 2012 10:18 pm
No se si quisiste simplificar demasiado o si realmente faltan cosas. Tienes que crear un NetConnection para conectarte a la aplicación, verificar que la conexión sea correcta, luego attacharle el NetStream. En el caso del NetStream, también tienes que chequear el status (listener al NetStatusEvent ), sino navegas en la oscuridad.
Si quieres algún ejemplo que hice ya hace mucho tiempo (dehecho está en AS2 porque es del 2006) puedes mirarte http://www.flash-db.com/Tutorials/videoroom/

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 07 Jun 2012 10:24 pm
Bueno sí he simplificado un poco, voy a mirar el enlace y ya te comento.
Gracias,
Gabi.

Por Xanatos34

15 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Jun 2012 03:43 pm
Con el código siguiente, el que emite no puede ver el video de su camara, pero el que recibe si lo ve.
Algo me sobra o me falta. En el netStatusEvent del NetStream tengo los mensajes:
- "netStream.Publish.Start" del lado del emisor
- "netStream.Play.Start" del lado del receptor.

var nc:NetConnection
nc = new NetConnection();
nc.objectEncoding = ObjectEncoding.AMF3;
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
nc.client = this;
nc.connect("rtmp://localhost:1935/videochat",nick, nick);

var stream:NetStream= new NetStream(nc);
var video:Video = new Video();
stream.addEventListener(NetStatusEvent.NET_STATUS, estadoStream)


private function estadoStream(e:NetStatusEvent):void
{
// Da el resultado: netStream.Publish.Start del lado del emisor
// Da el resultado: netStream.Play.Start del lado del receptor

lblNetStream.text=e.info.code;
}


// De lado del emisor de video este código
stream.attachCamera(camara);
stream.publish("prueba","live");
video.attachCamera(camara);
video.attachNetStream(stream);
camaraDisplay.x=320;
camaraDisplay.y=7;
camaraDisplay.addChild(video);


// Del lado del receptor de video este código
stream.play("prueba");
video.attachNetStream(stream);
camaraDisplay.x=320;
camaraDisplay.y=7;
camaraDisplay.addChild(video);

Por Xanatos34

15 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Jun 2012 04:17 pm
Para local no necesitas attachar el NetStream al objeto video, solo la camara que funciona como loopback

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 11 Jun 2012 09:05 pm
Si elimino la linea: video.attachNetStream(stream) del local, el resultado es que el video se ve en local, pero el receptor no lo ve.

Quedaria así:

stream.attachCamera(camara);
stream.publish("prueba","live");
video.attachCamera(camara);
camaraDisplay.x=320;
camaraDisplay.y=7;
camaraDisplay.addChild(video);

Por Xanatos34

15 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.