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 \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox