Hi all, I try to implement retransmission of RTP.
I got RTCP NACK packets to notify packet loss from the receiver to sender, but I cannot see any re-transmission RTP packets sent and the rtprtxqueue of sender side reports 0 retransmission requests. Actually the video streaming is quite well except that the re-transmission doesn't work at the sender side when I drop some packets using identity element. The pipelines are as follows: Sender side: appsrc->encoder->rtp payloader->rtprtxqueue->rtpbin.send_rtp_sink_0 rtpbin.send_rtp_src_0->udpsink udpsrc->rtpbin.recv_rtcp_sink_0 rtpbin.send_rtcp_src_0->udpsink Receiver side: (rtpbin enables re-transmission) udpsrc->identity->rtpbin.recv_rtp_sink_0 rtpbin.recv_rtp_src_0->rtp depayloader->decoder->appsink udpsrc->rtpbin.recv_rtcp_sink_0 rtpbin.send_rtcp_src_0->udpsink I'd appreciate it if anyone can provide some hints on how to implement it. -- Li Ma (Nick) Email: [hidden email] _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
See this bug for some links that might help you forward. Especially server-rtpaux.c and client-rtpaux.c found in the GStreamer repo show a possible implementation of getting rtx to work.
|
Thanks a lot for replying. I've read all these references before I coded.
In my pipeline, I just want to demonstrate the retransmission is done by gstreamer. I use the rtprtxqueue element at the sender side. As the document states [1], rtprtxqueue element is able to work with rtpbin, and it doesn't need to implement 'request-aux-sender' signal which is the RFC4588 implementation in the source code you provided. There is almost no settings for rtprtxqueue. I followed the document, and I have no idea how to make it work. [1] https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-rtprtxqueue.html On Sun, Aug 27, 2017 at 5:40 PM, Arjen Veenhuizen <[hidden email]> wrote: > See this <https://bugzilla.gnome.org/show_bug.cgi?id=758719> bug for some > links that might help you forward. Especially server-rtpaux.c and > client-rtpaux.c found in the GStreamer repo show a possible implementation > of getting rtx to work. > > > > -- > View this message in context: http://gstreamer-devel.966125.n4.nabble.com/RTP-re-transmission-using-rtprtxqueue-and-rtpbin-tp4684341p4684342.html > Sent from the GStreamer-devel mailing list archive at Nabble.com. > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel -- Li Ma (Nick) Email: [hidden email] _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I also tested rtprtxsend and rtprtxreceive using the logic inside
sample code (server-rtpaux.c and client-rtpaux.c). But it seems still not working. I can receive NACK for packet loss, but the sender side doesn't respond anything. I'm using the gstreamer 1.12.2 version. On Sun, Aug 27, 2017 at 10:55 PM, Li Ma <[hidden email]> wrote: > Thanks a lot for replying. I've read all these references before I coded. > > In my pipeline, I just want to demonstrate the retransmission is done > by gstreamer. I use the rtprtxqueue element at the sender side. As the > document states [1], rtprtxqueue element is able to work with rtpbin, > and it doesn't need to implement 'request-aux-sender' signal which is > the RFC4588 implementation in the source code you provided. > > There is almost no settings for rtprtxqueue. I followed the document, > and I have no idea how to make it work. > > [1] https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-rtprtxqueue.html > > On Sun, Aug 27, 2017 at 5:40 PM, Arjen Veenhuizen > <[hidden email]> wrote: >> See this <https://bugzilla.gnome.org/show_bug.cgi?id=758719> bug for some >> links that might help you forward. Especially server-rtpaux.c and >> client-rtpaux.c found in the GStreamer repo show a possible implementation >> of getting rtx to work. >> >> >> >> -- >> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/RTP-re-transmission-using-rtprtxqueue-and-rtpbin-tp4684341p4684342.html >> Sent from the GStreamer-devel mailing list archive at Nabble.com. >> _______________________________________________ >> gstreamer-devel mailing list >> [hidden email] >> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel > > > > -- > > Li Ma (Nick) > Email: [hidden email] -- Li Ma (Nick) Email: [hidden email] _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |