2012-02-27 12 views
5

Sto provando a creare una soluzione di conferenza con gstreamer-java.Pipeline GStreamer con più lavandini UDP (immagine inclusa)

Sono bloccato con la parte audio, perché ogni partecipante dovrebbe ascoltare solo gli altri, non se stesso.

Ho costruito una pipeline (vedere il file di immagine incluso).

L'intero costrutto funziona, se metto un rtpmuxer e un singolo udpsink/multiudpsink alla fine. Ma in quel caso, ogni partecipante ottiene tutti i flussi audio multiplexati (come previsto).

Se lo faccio come nella figura non viene creato alcun pacchetto (controllato con wireshark). Dov'è il mio errore nel ragionamento?

(si può tirare l'immagine in un'altra scheda per essere in grado di leggere il testo)

debug-image of the pipe

+1

Ho ottenuto che la pipeline funzionasse nella riga di comando, quindi il mio errore sembra essere nel mio codice Java. Pubblicherò la pipeline di lavoro come una risposta per tutti quelli che potrebbero essere interessati ... –

risposta

3

E 'un inferno di un oleodotto, ma lo fa, ciò che si suppone. Ho aggiunto un dump di un dot-file, in modo da poter estrarre l'immagine della pipeline per comodità.

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. 
Problemi correlati