2012-02-27 40 views
5

gstreamer-javaで会議ソリューションを構築しようとしています。複数のUDPシンクを持つGStreamerパイプライン(画像が含まれています)

すべての参加者は自分自身ではなく、他の人だけが聞くべきなので、私はオーディオ部分についています。

パイプラインを構築しました(付属の画像ファイルを参照)。

rtpmuxerと1つのudpsink/multiudpsinkを最後に置くと、構造全体が機能します。しかし、その場合、すべての参加者はすべてのオーディオストリームを多重化します(期待どおり)。

私が写真のようにすると、パケットは作成されません(wiresharkでチェックされます)。推理で私の誤りはどこですか?

(あなたがテキストを読むことができるように別のタブにイメージを引くことができます)

debug-image of the pipe

+1

コマンドラインでパイプラインが動作しているので、私のJavaコードにエラーがあるようです。私は興味があるかもしれない皆のための答えとして作業パイプラインを掲示します... –

答えて

3

そのパイプラインの地獄が、それはそれがになっているもの、ありません。私は、ドットファイルのダンプを追加したので、パイプラインのイメージを簡便に抽出することができます。

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. 
関連する問題