Dear all, I am new to gstreamer and it is a bit overwhelming. I have a project i would like some help with. I have two devices each sending an rtp audio stream using the following pipelines gst-launch-1.0 -v rtpbin name=rtpbin alsasrc ! audio/x-raw,format=S32LE,rate=48000,width=32,depth=32,channels=2 ! audioconvert ! rtpL24pay ! rtpbin.send_rtp_sink_0 rtpbin.send_rtp_src_0 ! udpsink host=192.168.0.1 port=5002 rtpbin.send_rtcp_src_0 ! udpsink host=192.168.0.1 port=5003 sync=false async=false udpsrc port=5007 ! rtpbin.recv_rtcp_sink_0 gst-launch-1.0 -v rtpbin name=rtpbin alsasrc ! audio/x-raw,format=S32LE,rate=48000,width=32,depth=32,channels=2 ! audioconvert ! rtpL24pay ! rtpbin.send_rtp_sink_0 rtpbin.send_rtp_src_0 ! udpsink host=192.168.0.1 port=5008 rtpbin.send_rtcp_src_0 ! udpsink host=192.168.0.1 port=5009 sync=false async=false udpsrc port=5013 ! rtpbin.recv_rtcp_sink_0 I would like to receive the two audio streams on a third device. I can receive and play one stream at a time but i am unsure how to receive and play both. I naively tried the following which is not working and likely does not make much sense. gst-launch-1.0 -v rtpbin name=rtpbin udpsrc caps="application/x-rtp,media=(string)audio,clock-rate=(int)48000,encoding-name=(string)L24,encoding-params=(string)2,channels=(int)2, payload=(int)96" port=5002 ! rtpbin.recv_rtp_sink_0 rtpbin. ! rtpL24depay ! audioconvert ! audiomixer name=audiomix ! alsasink udpsrc port=5003 ! rtpbin.recv_rtcp_sink_0 rtpbin.send_rtcp_src_0 ! udpsink host=192.168.0.2 port=5007 sync=false async=false udpsrc caps="application/x-rtp,media=(string)audio,clock-rate=(int)48000,encoding-name=(string)L24,encoding-params=(string)2,channels=(int)2, payload=(int)96" port=5008 ! rtpbin.recv_rtp_sink_1 rtpbin. ! rtpL24depay ! audioconvert ! audiomix. udpsrc port=5009 ! rtpbin.recv_rtcp_sink_1 rtpbin.send_rtcp_src_1 ! udpsink host=192.168.0.3 port=5013 sync=false async=false I will be very grateful for any hints. All the best, Mikkel Pihl _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Tue, 2019-04-30 at 10:00 +0200, Mikkel Pihl wrote:
Hi Mikkel, Not sure if this is an option for you and makes sense for your use case, but if this is unidirectional I would recommend just using RTSP instead of setting up RTP pipelines yourself 'manually', e.g. something like this as sender: https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/blob/master/examples/test-launch.c with alsasrc ! audio/x-raw,format=S32LE,rate=48000,channels=2 ! audioconvert ! rtpL24pay name=pay0 as pipeline string, and then on the client side you can just do: rtspsrc location=rtsp://1.2.3.4/test ! rtpL24depay ! audioconvert ! .. or even uridecodebin uri=rtsp://1.2.3.4/test ! audioconvert ! ... As for debugging your existing receiver pipeline, have you tried without the audiomixer already? I would first try with two audio sinks (e.g. pulsesink if you have pulseaudio running on your system) or just two fakesink silent=false (so it will print output with gst-launch-1.0 -v when it receives buffers). That way you should be able to narrow it down to the RTP part or the audiomixing/sinks part at least. Cheers Tim -- Tim Müller, Centricular Ltd - http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |