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