RTP re-transmission using rtprtxqueue and rtpbin

Li Ma skywalker.nick at gmail.com
Sun Aug 27 03:42:15 UTC 2017


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: skywalker.nick at gmail.com


More information about the gstreamer-devel mailing list