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 |
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 |
Free forum by Nabble | Edit this page |