RTP/RTCP mux (RFC5761) how ?

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

RTP/RTCP mux (RFC5761) how ?

Ingemar Johansson
Hi

I have now tried in various ways to get RTP/RTCP mux over the same port but
still no luck, can you help and tell how to modify the pipelines below so
that both RTP and RTCP are sent over port 5000?

#sender
gst-launch-1.0 rtpbin name=rtpbin ! videotestsrc !
video/x-raw,width=1920,height=1080,framerate=30/1 ! x264enc  ! rtph264pay !
rtpbin.send_rtp_sink_0 rtpbin.send_rtp_src_0 ! udpsink host=$RECEIVER_IP
port=5000 rtpbin.send_rtcp_src_0 ! udpsink host=$RECEIVER_IP port=5001
udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0

#receiver
gst-launch-1.0 rtpbin name=rtpbin udpsrc port=5000 !
application/x-rtp,media=video,clock-rate=90000,encoding-name=H264 !
rtpbin.recv_rtp_sink_0 rtpbin. ! rtph264depay ! avdec_h264 ! videoconvert !
xvimagesink udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0
rtpbin.send_rtcp_src_0 ! udpsink port=5001 host=$SENDER_IP



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

Re: RTP/RTCP mux (RFC5761) how ?

Olivier Crête-3
Hi,

See below, I believe those should work

On Mon, 2019-04-01 at 00:47 -0500, Ingemar Johansson wrote:

> Hi
>
> I have now tried in various ways to get RTP/RTCP mux over the same port but
> still no luck, can you help and tell how to modify the pipelines below so
> that both RTP and RTCP are sent over port 5000?
>
> #sender
> gst-launch-1.0 rtpbin name=rtpbin ! videotestsrc !
> video/x-raw,width=1920,height=1080,framerate=30/1 ! x264enc  ! rtph264pay !
> rtpbin.send_rtp_sink_0 rtpbin.send_rtp_src_0 ! udpsink host=$RECEIVER_IP
> port=5000 rtpbin.send_rtcp_src_0 ! udpsink host=$RECEIVER_IP port=5001
> udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0

gst-launch-1.0 -v rtpbin name=rtpbin videotestsrc ! video/x-
raw,width=1920,height=1080,framerate=30/1 ! x264enc tune=zerolatency !
video/x-h264, profile=baseline ! rtph264pay !
rtpbin.send_rtp_sink_0   rtpbin.send_rtp_src_0 ! rtpfunnel name=f !
udpsink host=$RECEIVER_IP port=5000    rtpbin.send_rtcp_src_0 ! f.

>
> #receiver
> gst-launch-1.0 rtpbin name=rtpbin udpsrc port=5000 !
> application/x-rtp,media=video,clock-rate=90000,encoding-name=H264 !
> rtpbin.recv_rtp_sink_0 rtpbin. ! rtph264depay ! avdec_h264 ! videoconvert !
> xvimagesink udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0
> rtpbin.send_rtcp_src_0 ! udpsink port=5001 host=$SENDER_IP

gst-launch-1.0 rtpbin name=rtpbin udpsrc port=5000 ! application/x-
rtp,media=video,clock-rate=90000,encoding-name=H264 !
rtpbin.recv_rtp_sink_0 rtpbin. ! rtph264depay ! avdec_h264 !
videoconvert ! xvimagesink rtpbin.send_rtcp_src_0 ! udpsink port=6000
host=$SENDER_IP async=0

>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
--
Olivier Crête
[hidden email]

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

Re: RTP/RTCP mux (RFC5761) how ?

Ingemar Johansson
Thanks. I tried this and it almost seems to work.

Now I get the problem that if I add the gstreamrx plugin from my SCReAM
congestion control work, the plugin does not seem to be able to add the
necessary RTCP feedback elements to make SCReAM work.
I have registered a call back for on-sending-rtcp in
https://github.com/EricssonResearch/scream/blob/master/code/gscream/gst-gscreamrx/gst-plugin/src/gstgscreamrx.cpp#L449 
But somehow this does not seem to have any effect.


/Ingemar



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

Re: RTP/RTCP mux (RFC5761) how ?

Olivier Crête-3
Hi,

Are RTCP packets being sent? Without you RTP-FB added to them? The code
looks correct.

FYI, there is a GST_RTCP_BUFFER_INIT macro.

Olivier

On Wed, 2019-04-03 at 06:59 -0500, Ingemar Johansson wrote:

> Thanks. I tried this and it almost seems to work.
>
> Now I get the problem that if I add the gstreamrx plugin from my SCReAM
> congestion control work, the plugin does not seem to be able to add the
> necessary RTCP feedback elements to make SCReAM work.
> I have registered a call back for on-sending-rtcp in
> https://github.com/EricssonResearch/scream/blob/master/code/gscream/gst-gscreamrx/gst-plugin/src/gstgscreamrx.cpp#L449 
> But somehow this does not seem to have any effect.
>
>
> /Ingemar
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
--
Olivier Crête
[hidden email]

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

Re: RTP/RTCP mux (RFC5761) how ?

Ingemar Johansson
Hi

I see (with wireshark) that it is RTCP feedback is received on the sender
and that the RTCP contains the specific RTCP message needed for SCReAM .
The problem is that the on-rtcp-feedback is not called in gsctreamtx.
What is perhaps the problem is that I don't seem to find rtpfunnel when I do
gst-inspect | grep funnel
only something called "funnel" that I tried with. Are these the same ?

/Ingemar



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

Re: RTP/RTCP mux (RFC5761) how ?

Nicolas Dufresne-5
Le lundi 08 avril 2019 à 08:40 -0500, Ingemar Johansson a écrit :
> Hi
>
> I see (with wireshark) that it is RTCP feedback is received on the sender
> and that the RTCP contains the specific RTCP message needed for SCReAM .
> The problem is that the on-rtcp-feedback is not called in gsctreamtx.

I believe that's the reason:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/merge_requests/94

> What is perhaps the problem is that I don't seem to find rtpfunnel when I do
> gst-inspect | grep funnel
> only something called "funnel" that I tried with. Are these the same ?

rtpfunnel will be part of upcoming 1.16 release, so it's unlikely you
have this one if you are using stock GStreamer.

>
> /Ingemar
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> 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
Reply | Threaded
Open this post in threaded view
|

Re: RTP/RTCP mux (RFC5761) how ?

Ingemar Johansson
OK, thanks.
Then I guess that I'll wait a while with further testing.

Regards
Ingemar



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel