From: Alexandre IOOSS <erdnaxe@crans.org> To: Juliusz Chroboczek <jch@irif.fr> Cc: galene@lists.galene.org Subject: [Galene] Re: Building a streaming gateway for Galène Date: Fri, 9 Apr 2021 15:42:08 +0200 [thread overview] Message-ID: <802366a1-df1b-3b4c-4c0d-b49c0dde9210@crans.org> (raw) In-Reply-To: <87tuohn42a.wl-jch@irif.fr> On 4/8/21 12:05 AM, Juliusz Chroboczek wrote: >>> Looking at the Wireshark dump, Galène seems also to use "0" as sender >>> SSRC, so that might be the issue. I might try to do a dirty hack >>> somewhere to confirm this hypothesis. > >> Galène doesn't choose the SSRC -- the SSRC is chosen by the offerer. > > You can find out the SSRC that Galène thinks the offerer has chosen by > adding the following line: > > diff --git a/rtpconn/rtpconn.go b/rtpconn/rtpconn.go > index eec5d97..6b7e8cb 100644 > --- a/rtpconn/rtpconn.go > +++ b/rtpconn/rtpconn.go > @@ -509,6 +509,7 @@ func newUpConn(c group.Client, id string, labels map[string]string, offer string > up := &rtpUpConnection{id: id, pc: pc, labels: labels} > > pc.OnTrack(func(remote *webrtc.TrackRemote, receiver *webrtc.RTPReceiver) { > + log.Println("SSID", remote.SSRC()) > up.mu.Lock() > > mid := getTrackMid(pc, remote) > Ok so everything is fine with SSRC. I was worried because Wireshark does not seem to decode properly the RTP packets (encryption?). I also confirm that keyframe requests are received by GStreamer and I can observe the signal going back to the VP8 encoder. I did some digging in GStreamer code and from what I understand: 1. PLI are working fine, and I can confirm that Galène manages to ask for keyframes. 2. NACK are received but ignored because my GStreamer webrtcbin element doesn't have "RTX" enabled. * <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/blob/1.18/ext/webrtc/gstwebrtcbin.c#L5310> is reached, * <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/blob/1.18/ext/webrtc/gstwebrtcbin.c#L5324> is never reached. This implies that `transport_stream_get_pt(stream, "RTX")=0`, which should not happen. I don't really understand why it's happening but maybe it has something to do with the SDP response of Galène not including the "a=rtpmap:100 rtx/90000"? > The purpose of the sender RTX object is to keep a history of RTP > packets up to a configurable limit [...]. It will listen for upstream > custom retransmission events (GstRTPRetransmissionRequest) that comes > from downstream (#GstRtpSession). When receiving a request it will > look up the requested seqnum in its list of stored packets. If the > packet is available, it will create a RTX packet according to RFC 4588 > and send this as an auxiliary stream. RTX is SSRC-multiplexed. -- https://gstreamer.freedesktop.org/documentation/rtpmanager/rtprtxsend.html Do you confirm that "RTX" (https://tools.ietf.org/html/rfc4588) is the feature missing? -- Alexandre erdnaxe@crans.org
next prev parent reply other threads:[~2021-04-09 13:42 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-04-06 11:05 [Galene] " Alexandre IOOSS 2021-04-06 12:57 ` [Galene] " Juliusz Chroboczek 2021-04-06 16:10 ` [Galene] webrtc security cameras? Dave Taht 2021-04-06 17:07 ` [Galene] " Juliusz Chroboczek 2021-04-06 17:44 ` [Galene] Re: Building a streaming gateway for Galène Alexandre IOOSS 2021-04-06 23:19 ` Juliusz Chroboczek 2021-04-07 20:40 ` Alexandre IOOSS 2021-04-07 22:01 ` Juliusz Chroboczek 2021-04-07 22:05 ` Juliusz Chroboczek 2021-04-09 13:42 ` Alexandre IOOSS [this message] 2021-04-09 13:55 ` Juliusz Chroboczek 2021-04-09 14:17 ` Juliusz Chroboczek
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style List information: https://lists.galene.org/postorius/lists/galene.lists.galene.org/ * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=802366a1-df1b-3b4c-4c0d-b49c0dde9210@crans.org \ --to=erdnaxe@crans.org \ --cc=galene@lists.galene.org \ --cc=jch@irif.fr \ --subject='[Galene] Re: Building a streaming gateway for Galène' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox