domingo, 10 de enero de 2010

Como implementar un buen sistema de videoconferencia.

La base para implementar un sistema de videoconferencia compatible con conexiones low rate ( de baja velocidad ) es la siguiente:

Implementar codecs qué apliquen suficiente compresion en los buffers qué llegan de los dispositivos in line ( microfono y webcam ) y enviarlos a traves de un socket preferiblemente UDP.

estos codecs deben de cumplir un estandar (H263) (ULAW) y la implementacion debe de cumplir un estandar logicamente ( RTP ) con soporte para multiples clientes.

Basicamente para conectar muchos clientes a un solo cliente se determina a traves de un vector qué almacena todos los buffers qué le llegan de los clientes y los mezcla en diferentes ventanas ( aquí es donde hace incapie el protocolo RTP ) y los descomprime mediante una clase qué se encarga de descomprimir el buffer y asignar los datos descomprimidos en una ventana.

El proceso de implementacion de un sistema de videoconferencia basado en H263_RTP y ULAW_RTP lo podeis encontrar en jmf, es muy sencillo, y teneis varios ejemplos como por ejemplo el AVTransmiter, ofrecido por sun microsystems qué utiliza las clases basicas para realizar la conexion con multiples clientes y reproducir los buffers.

Os dejo el enlace, y espero qué mi entrada haya sido aclaradora.

Saludos desde barcelona.

http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/solutions/AVTransmit2.java