Skip to content
Advertisement

udpsink doesnt seem to stream anything but filesink works

I have trouble streaming pulse audio monitor via rtp to an audio player like vlc or gst-launch with udpsrc

this command works and the file has audio that is currently being played

gst-launch-1.0 -v pulsesrc device = "alsa_output.pci-0000_00_1b.0.analog-stereo.monitor" ! opusenc ! oggmux ! filesink location=test.ogg 

but when i use this,

gst-launch-1.0 -v pulsesrc device="alsa_output.pci-0000_00_1b.0.analog-stereo.monitor" ! opusenc ! rtpopuspay ! udpsink host=0.0.0.0 port=4000

vlc (from an android phone) tells me that it cannot play the stream with uri rtp://ip-addr:4000

and gst-launch from same machine starts but the resulting file is empty.

gst-launch-1.0 -v udpsrc uri=rtp://0.0.0.0:4000 ! rtpopusdepay ! oggmux ! filesink location=test.ogg

gstreamer version is

$ gst-launch-1.0 --version  
gst-launch-1.0 version 1.16.0  
GStreamer 1.16.0

Advertisement

Answer

Just started this account, I wanted to add this as a comment, but couldn’t because of rep limitations.

I’m not experienced in using vlc, but at least I get your GStreamer pipelines working if I add the caps, definitions of the rtp stream parameters, to the rtpopusdepay.

So instead of:

gst-launch-1.0 -v udpsrc uri=rtp://0.0.0.0:4000 ! rtpopusdepay ! oggmux ! filesink location=test.ogg

you’ll need to use:

gst-launch-1.0 udpsrc uri=udp://0.0.0.0:4000 ! application/x-rtp,payload=96,encoding-name=OPUS ! rtpopusdepay ! opusdec ! autoaudiosink

for GStreamer. The mandatory parts are the payload and encoding-name, others you can find from gst-inspect-1.0 rtpopuspay/rtpopusdepay. You might need to change the numbers depending on what you define on the server side/what’s the default on your machine.

So in conclusion, I got that GStreamer pipeline working by moving the rtp definitions to the caps for rtpopusdepay. As I said, I’m not familiar with vlc, so I don’t know how to define those GStreamer caps there, if it even depends on those, but I hope this gives some insight on your work.

User contributions licensed under: CC BY-SA
4 People found this is helpful
Advertisement