2012-02-27 10 views
5

Estoy tratando de construir una solución de conferencia con gstreamer-java.GStreamer Pipeline múltiples sumideros UDP (la imagen incluida)

Estoy atrapado con la parte de audio, porque cada participante solo debe escuchar a los demás, no a sí mismo.

Construí una tubería (ver el archivo de imagen incluido).

El conjunto de construcción de obras, si pongo un rtpmuxer y una sola udpsink/multiudpsink al final. Pero en ese caso, cada participante obtiene todas las transmisiones de audio multiplexadas (como se esperaba).

Si lo hago como en la imagen no se crean paquetes (verificados con wireshark). ¿Dónde está mi error de razonamiento?

(se puede tirar de la imagen a otra ficha para poder leer el texto)

debug-image of the pipe

+1

Tengo la tubería trabajando en la línea de comandos, por lo que mi error parece estar en mi código de Java. Voy a publicar la tubería a trabajar como una respuesta para todo el mundo que podía interesarle ... –

Respuesta

3

Es un infierno de una tubería, pero lo hace, lo que se supone que es. He añadido un volcado de un punto-archivo, por lo que puede extraer la imagen de la tubería para mayor comodidad.

GST_DEBUG_DUMP_DOT_DIR=/tmp/ gst-launch --gst-debug-level=2 gstrtpbin name=rtpbin latency=2 sync=false udpsrc name=udpsrc0 caps="application/x-rtp, media=audio, clock-rate=8000, payload=0, encoding-name=PCMU" port=5000 ! rtpbin.recv_rtp_sink_0 rtpbin. ! rtppcmudepay ! mulawdec ! tee name=t0 ! queue max-size-buffers=150 ! liveadder name=mix1 ! mulawenc ! rtppcmupay ! udpsink name=udpsink1 host=192.168.0.101 port=5050 t0. ! queue max-size-buffers=150 ! liveadder name=mix2 ! mulawenc ! rtppcmupay ! udpsink name=udpsink2 host=192.168.0.112 port=5050 rtpbin. ! rtppcmudepay ! mulawdec ! tee name=t1 ! queue max-size-buffers=150 ! liveadder name=mix0 ! mulawenc ! rtppcmupay ! udpsink name=udpsink0 host=192.168.0.101 port=5051 t1. ! queue max-size-buffers=150 ! mix2. rtpbin. ! rtppcmudepay ! mulawdec ! tee name=t2 ! queue max-size-buffers=150 ! mix0. t2. ! queue max-size-buffers=150 ! mix1. 
Cuestiones relacionadas