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: Tue, 6 Apr 2021 19:44:07 +0200 [thread overview]
Message-ID: <76e5b62b-ee5b-3117-ea04-368fab0e659b@crans.org> (raw)
In-Reply-To: <87zgybsh84.wl-jch@irif.fr>
On 4/6/21 2:57 PM, Juliusz Chroboczek wrote:
> I'll have a look at your code as soon as I have some time. In the
> meantime, there are three things that you need to do:
>
> 1. send periodic RTCP Sender Reports with accurate NTP times;
> 2. react to RTCP PLI packets by inserting a keyframe;
> 3. react to RTCP NACK packets by resending the packets listed in the NACK.
>
> (1) is essential for proper lipsynch. (2) is what allows a stream to
> recover after a catastrophic loss event. (3) is what allows a stream to
> recover rapidly after moderate amounts of loss.
When dumping traffic in Wireshark, I see only RTCP "Sender report" and
"Receiver report" packets. Sender reports are periodic, and sent by
groups of 2 (video then audio):
```
Real-time Transport Control Protocol (Sender Report)
10.. .... = Version: RFC 1889 Version (2)
..0. .... = Padding: False
...0 0000 = Reception report count: 0
Packet type: Sender Report (200)
Length: 6 (28 bytes)
Sender SSRC: 0x9ce1015b (2631991643)
Timestamp, MSW: 2797058655 (0xa6b7ba5f)
Timestamp, LSW: 1448315617 (0x56538ae1)
[MSW and LSW as NTP timestamp: Aug 20, 1988 08:44:15.337212257 UTC]
RTP timestamp: 866227088
Sender's packet count: 2194185357
Sender's octet count: 2612991028
[RTCP frame length check: OK - 28 bytes]
Real-time Transport Control Protocol (Sender Report)
10.. .... = Version: RFC 1889 Version (2)
..0. .... = Padding: False
...0 0000 = Reception report count: 0
Packet type: Sender Report (200)
Length: 6 (28 bytes)
Sender SSRC: 0x3a724a90 (980568720)
Timestamp, MSW: 4079490799 (0xf32816ef)
Timestamp, LSW: 2870575121 (0xab198011)
[MSW and LSW as NTP timestamp: Apr 10, 2029 07:53:19.668357853 UTC]
RTP timestamp: 2166723788
Sender's packet count: 468654353
Sender's octet count: 2838781192
[RTCP frame length check: OK - 28 bytes]
```
I don't really understand what you mean by "accurate NTP times". Streams
from Firefox or GStreamer seem to use random NTP timestamps.
When dumping Firefox WebRTC traffic, I also see "Generic RTP Feeback:
NACK" packets, which confirms the fact that GStreamer is not doing NACK
in my script. I should see if it's possible to enable it.
I am still quite new to WebRTC, so be aware that I might have done
something stupid with the GStreamer pipeline.
Thank you for pointing out this could be a potential problem,
--
Alexandre Iooss
next prev parent reply other threads:[~2021-04-06 17:44 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 ` Alexandre IOOSS [this message]
2021-04-06 23:19 ` [Galene] Re: Building a streaming gateway for Galène 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
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=76e5b62b-ee5b-3117-ea04-368fab0e659b@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