RTP Mux Help

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

RTP Mux Help

Jonathan Kelley
Hello,

I am trying to get RTP multiplexing working and having some issues - the examples in the docs don't really help.

I am trying to mux together two RTP streams and have problems with decoding just two videotestsrc's. My launch code (seems to work):

gst-launch-1.0 rtpmux name=mux ! udpsink host=127.0.0.1 port=9510  
    videotestsrc is-live=1 ! vtenc_h264 ! rtph264pay ! mux.sink_0 
    videotestsrc is-live=1 pattern=18 ! vtenc_h264 ! rtph264pay ! mux.sink_1

And my receiver code (fails when the launch code starts):

gst-launch-1.0 udpsrc port=9510 caps="application/x-rtp" ! rtpptdemux name=demux 
    demux.src_0 ! "application/x-rtp, clock-rate=(int)90000, payload=(int)96" ! rtph264depay ! avdec_h264 ! glimagesink 
    demux.src_1 ! "application/x-rtp, clock-rate=(int)90000, payload=(int)96" ! rtph264depay ! avdec_h264 ! glimagesink

Unfortunately it fails immediate giving me an Internal data steam error and a reason not-linked (-1) error. Any suggestions?

Thanks,

Jon

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: RTP Mux Help

Desouza, Ederson
On Tue, 2019-07-30 at 17:41 -0700, Jonathan Kelley wrote:
> Hello,
>
> I am trying to get RTP multiplexing working and having some issues - the examples in the docs don't really help.
>
> I am trying to mux together two RTP streams and have problems with decoding just two videotestsrc's. My launch code (seems to work):
>
> gst-launch-1.0 rtpmux name=mux ! udpsink host=127.0.0.1 port=9510  
>     videotestsrc is-live=1 ! vtenc_h264 ! rtph264pay ! mux.sink_0
>     videotestsrc is-live=1 pattern=18 ! vtenc_h264 ! rtph264pay ! mux.sink_1

You need to use different payload types for each stream, something
like:
 
  (...) ! application/x-rtp,payload=96 ! mux.sink_0
  (...) ! application/x-rtp,payload=97 ! mux.sink_1

>
> And my receiver code (fails when the launch code starts):
>
> gst-launch-1.0 udpsrc port=9510 caps="application/x-rtp" ! rtpptdemux name=demux
>     demux.src_0 ! "application/x-rtp, clock-rate=(int)90000, payload=(int)96" ! rtph264depay ! avdec_h264 ! glimagesink
>     demux.src_1 ! "application/x-rtp, clock-rate=(int)90000, payload=(int)96" ! rtph264depay ! avdec_h264 ! glimagesink

And use those numbers here, in the caps. And also, on the pad names:

 (...) ! demux.src_96 ! (...)
 (...) ! demux.src_97 ! (...)

As well as add more information on the caps about the stream:

"encoding-name=H264, media=video"

So you should have something like:

demux.src_96 ! queue ! "application/x-rtp, payload=96, clock-rate=90000, encoding-name=H264, media=video" ! rtph264depay ! (...)
demux.src_97 ! queue ! "application/x-rtp, payload=97, clock-rate=90000, encoding-name=H264, media=video" ! rtph264depay ! (...)

You'll also need queues so that you can have separated threads after
the demux.

Hope that helps!

>
> Unfortunately it fails immediate giving me an Internal data steam error and a reason not-linked (-1) error. Any suggestions?
>
> Thanks,
>
> Jon
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel