Implement RTX for WebRTC
Categories
(Core :: WebRTC: Signaling, enhancement, P1)
Tracking
()
backlog | webrtc/webaudio+ |
People
(Reporter: pablo.platt, Assigned: dminor)
References
(Blocks 1 open bug)
Details
(Keywords: dev-doc-needed, enterprise, Whiteboard: [jitsi-meet])
Attachments
(9 files, 2 obsolete files)
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
Comment 1•10 years ago
|
||
Comment 2•10 years ago
|
||
Comment 3•10 years ago
|
||
Updated•10 years ago
|
Updated•10 years ago
|
Comment 4•8 years ago
|
||
Comment 5•8 years ago
|
||
Comment 6•8 years ago
|
||
Comment 7•8 years ago
|
||
Comment 8•8 years ago
|
||
Comment 9•8 years ago
|
||
Comment 10•8 years ago
|
||
Comment 11•8 years ago
|
||
Comment 12•7 years ago
|
||
Comment 13•7 years ago
|
||
Comment 14•7 years ago
|
||
Comment 15•7 years ago
|
||
Comment 16•7 years ago
|
||
Comment 17•7 years ago
|
||
Comment 18•7 years ago
|
||
Comment 19•7 years ago
|
||
Comment 20•7 years ago
|
||
Comment 21•7 years ago
|
||
Comment 22•7 years ago
|
||
Comment 23•7 years ago
|
||
Comment 24•7 years ago
|
||
Comment 25•7 years ago
|
||
Comment 26•7 years ago
|
||
Comment 27•7 years ago
|
||
Comment 28•7 years ago
|
||
Comment 29•7 years ago
|
||
Comment 30•7 years ago
|
||
Comment 31•7 years ago
|
||
Comment 32•7 years ago
|
||
Comment 33•7 years ago
|
||
Comment 34•7 years ago
|
||
Comment 35•7 years ago
|
||
Comment 36•7 years ago
|
||
Comment 37•7 years ago
|
||
Comment 38•7 years ago
|
||
Assignee | ||
Updated•7 years ago
|
Comment 39•6 years ago
|
||
Comment 40•6 years ago
|
||
mime types are case insensitive, so should be irrelevant
Comment 41•6 years ago
|
||
Are you still able to work on this?
Comment 42•6 years ago
|
||
(In reply to Jeremy Lainé from comment #39)
Out of curiosity, why "RTX" in capitals in the SDP? RFC 4588 mentions
audio/rtx, video/rtx, etc.. in lowercase and Chrome also uses a lowercase
"rtx" in its SDP.
You are right. Since the RFC actually uses lower case I'm going to change it lower case in Firefox as well.
Comment 43•6 years ago
|
||
This turns on support for RTC (RFC 4588) in our WebRTC implementation.
Thank you to Sergio Garcia Murillo for the initial patch!
Updated•6 years ago
|
Comment 44•6 years ago
|
||
What's the status or next steps for this bug?
Appears to me like there's an 8 month old ni that may not happen?
Comment 45•5 years ago
|
||
This bug looks stalled right now.
Updated•5 years ago
|
Comment 46•5 years ago
|
||
Hello and thanks for all your work
I have been years recommending and teaching Firefox and now, for the first time I have to recommend to people not to use Firefox.
Please, make this feature request in this moments of so much need on communicating and organizing.
Thanks
Assignee | ||
Updated•5 years ago
|
Comment 47•5 years ago
|
||
offtopic-reviewed |
I have created a bounty towards this work: https://www.bountysource.com/issues/90834026-implement-rtx-for-webrtc
Comment 48•5 years ago
|
||
Hello and sorry for the bad reporting before :)
With Coronavirus a face-to-face class that I was going to give ended in a online class. When testing in Ubuntu 18.04 with Firefox 74.0 (64-bit), I realize that I was not able to share the screen with Jitsi meet. I searched and found that many users had problems and I didn't want to use Chrome, so I tried an old Firefox that I had, Firefox Developer Edition 64.0b8 (64-bit) and it worked. Then in the class we had to reconnect many times because we lost sound. So after the class, I kept searching and ended here from
https://github.com/jitsi/jitsi-meet/issues/4758
Now, when I have to use Jitsi, I have to say to people not to use Firefox :_( but that this will change and I will tell to them.
At this moment, I have ended another task and I will be pleased to test anything you need, here or in any other issue related to this problem. I find this problem very important because Jitsi is becoming famous and people that come to open source sofware with Firefox and doesn't know about what you are solving comments that free software is not good :(
Thanks a lot for your generous work
Comment 49•5 years ago
|
||
Same for me. For the first time in 19 years (!!!), I need to not recommand ff but chromium. In this period where jitsi in particular is gaining momemtum, this bug is earning an enormous visibility and it will make advocacy for FF even harder.
Comment 50•5 years ago
|
||
offtopic-reviewed |
(In reply to sam tygier from comment #47)
I have created a bounty towards this work: https://www.bountysource.com/issues/90834026-implement-rtx-for-webrtc
I have not paypal and found a friend to make a donation, but now the bounty page gives an error. I have tried several times for 3h.
Application error
An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details. You can do this from the Heroku CLI with the command
heroku logs --tail
Comment 51•5 years ago
|
||
offtopic-reviewed |
(In reply to ona from comment #50)
bounty page gives an error. I have tried several times for 3h.
"We're really sorry for the recent site performance issues. We are working to fix this." -- https://twitter.com/Bountysource/status/1245863063162466311
Comment 52•5 years ago
|
||
It looks like Bounty Source is broken, so for the moment I'm going to flag both of those comments as off-topic; if it comes back in a reasonable time frame I'll change that.
For everyone else, I promise that we share your sense of urgency about this and the related bugs. Media codecs and inter-company diplomacy are both delicate work on a good day, and these have not been good days; still, please trust that we care about this, and are working on it. We'll have more to say, both in this bug and elsewhere, when it's ready to ship.
Thank you all.
Assignee | ||
Updated•5 years ago
|
Comment 53•5 years ago
|
||
Comment 54•5 years ago
|
||
Sorry if I miss something (didn't follow the evolution of this issue). Does the RTX implementation of Firefox also work with 'rtp-stream-id' (RID) and 'repaired-rtp-stream-id' (RRID) RTP header extensions? libwebrtc does.
Does Firefox announce and negotiate support for 'repaired-rtp-stream-id'? Does it send RTX packets with such a extension header?
These questions are just about simulcast.
Comment 55•5 years ago
|
||
We do not support repaired-rtp-stream-id. I doubt the version of webrtc.org that we're using right now supports that.
Comment 56•5 years ago
|
||
Ok, Sergio just told me that FF will send RID into RTX packets (instead of the standard RRID).
Comment 57•5 years ago
|
||
Comment hidden (offtopic) |
Comment hidden (offtopic) |
Comment hidden (advocacy) |
Comment hidden (offtopic) |
Comment 62•5 years ago
|
||
¡Hola!
Ended up here via https://github.com/jitsi/jitsi-meet/issues/5439 https://github.com/jitsi/jitsi-meet/issues/5439#issuecomment-605458804 and https://github.com/jitsi/jitsi-meet/issues/4758#issuecomment-604465391
Updating flags accordingly FWIW as this is still an issue on Firefox Nightly 20200415092524.
¡Gracias!
Alex
Comment 63•5 years ago
|
||
Please add support in Firefox for changing of the audio output devices
https://bugzilla.mozilla.org/show_bug.cgi?id=1631672
Hey there, what browser are you seeing this on ? Please note that the speakers will only be enumerated one chrome. Firefox and Safari, do not support changing of the audio output devices and therefore do not enumerate those devices.
https://github.com/jitsi/jitsi-meet/issues/6208#issuecomment-616929454
Comment 64•5 years ago
|
||
We gonna release the output device enumeration (bug 1630289) before the support for changing the output device. However, we are working actively on the latter, it is more involved and it takes more time, it's coming rapidly though.
Assignee | ||
Comment 65•5 years ago
|
||
(In reply to Iñaki Baz Castillo from comment #56)
Ok, Sergio just told me that FF will send RID into RTX packets (instead of the standard RRID).
Sergio is correct, the rid is copied into the headers of the rtx packet from the original packet. I've filed Bug 1632489 for rrid support. Our version of libwebrtc appears to support it already, so this is hopefully just a matter of adding support to the sdp parsers and the jsep implementation. I think that is too big a chunk of work to do as part of this bug, but I plan to start on rrid once this is up for review.
Assignee | ||
Comment 66•5 years ago
|
||
This changes the constructor to not take any parameters for consistency
with how the other parameters are handled. It also fixes serialization, the
current code will output an ascii character rather than the numeric value.
Assignee | ||
Comment 67•5 years ago
|
||
Depends on D72222
Assignee | ||
Comment 68•5 years ago
|
||
Depends on D72223
Assignee | ||
Comment 69•5 years ago
|
||
Depends on D72224
Assignee | ||
Comment 70•5 years ago
|
||
Depends on D72225
Assignee | ||
Comment 71•5 years ago
|
||
Depends on D72226
Assignee | ||
Comment 72•5 years ago
|
||
Depends on D72228
Assignee | ||
Comment 73•5 years ago
|
||
With rtx enabled, we can't just switch ssrcs when we receive a packet with an
unrecognized ssrc. This changes the ReceiveRTPPacket call to take the entire
rtp header, and then examines the payload type. If the payload type is
associated with rtx or ulpfec, the ssrc will not be changed. This is what is
done by the libwebrtc unsignaled ssrc change code, so this behaviour should
match what Chrome does.
Depends on D72229
Assignee | ||
Comment 74•5 years ago
|
||
This is disabled by default. I think we'll want to either support rrid or
disable rtx when simulcast is enabled before we want to pref this on.
Depends on D72230
Updated•5 years ago
|
Updated•5 years ago
|
Comment 75•5 years ago
|
||
Comment 76•5 years ago
|
||
Off by default until we land repaired-rid support.
https://hg.mozilla.org/integration/autoland/rev/b974cc5c2efa
Are you able to advise if all aspects of this issue, Implement RTX for WebRTC, are planned to be enabled by default for Firefox 78 ESR? Thank you
Comment 77•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/9dea3e3fde18
https://hg.mozilla.org/mozilla-central/rev/681fef42e386
https://hg.mozilla.org/mozilla-central/rev/c985621e8c34
https://hg.mozilla.org/mozilla-central/rev/42b4a06406eb
https://hg.mozilla.org/mozilla-central/rev/75f8af7968c0
https://hg.mozilla.org/mozilla-central/rev/6002ef13d802
https://hg.mozilla.org/mozilla-central/rev/13f662a653da
https://hg.mozilla.org/mozilla-central/rev/22b469147068
https://hg.mozilla.org/mozilla-central/rev/b974cc5c2efa
Updated•5 years ago
|
Assignee | ||
Comment 78•5 years ago
|
||
(In reply to Óvári from comment #76)
Off by default until we land repaired-rid support.
https://hg.mozilla.org/integration/autoland/rev/b974cc5c2efaAre you able to advise if all aspects of this issue, Implement RTX for WebRTC, are planned to be enabled by default for Firefox 78 ESR? Thank you
At the moment, we're only planning to enable this for "nightly or early beta" which means it would not default to on in Firefox 78. If everything seems to be working fine while Firefox 78 is in beta, it's possible we'll change this so that is in enabled in 78. We'll have to see how things go.
Updated•5 years ago
|
Comment 79•5 years ago
|
||
(In reply to Dan Minor [:dminor] from comment #78)
At the moment, we're only planning to enable this for "nightly or early beta" which means it would not default to on in Firefox 78. If everything seems to be working fine while Firefox 78 is in beta, it's possible we'll change this so that is in enabled in 78. We'll have to see how things go.
- What stage/date of the Firefox 78 Beta would determine that everything seems to be working fine or otherwise?
- Is there a separate issue for "repaired-rid support" or would this be added to this issue?
Thank you
Assignee | ||
Comment 80•5 years ago
|
||
(In reply to Óvári from comment #79)
(In reply to Dan Minor [:dminor] from comment #78)
At the moment, we're only planning to enable this for "nightly or early beta" which means it would not default to on in Firefox 78. If everything seems to be working fine while Firefox 78 is in beta, it's possible we'll change this so that is in enabled in 78. We'll have to see how things go.
- What stage/date of the Firefox 78 Beta would determine that everything seems to be working fine or otherwise?
- Is there a separate issue for "repaired-rid support" or would this be added to this issue?
Thank you
We've hit a bug with Google Meet when RTX is enabled, which forced us to add a blocklist preventing it from being used with certain sites (Bug 1641600) as well as a problem with our MID filter affecting RTX packets (Bug 1640697). Those are both fixed in Firefox 79 and I don't think there is any plan to backport them to Firefox 78, although that would be possible. Repaired Rid Support did land in Firefox 78 (Bug 1632489).
So at this point, it doesn't seem very likely we would enable RTX in Firefox 78, it seems too risky to me when we're still encountering significant bugs and site compatibility issues in Nightly.
Comment 81•5 years ago
|
||
(In reply to Dan Minor [:dminor] from comment #80)
So at this point, it doesn't seem very likely we would enable RTX in Firefox 78, it seems too risky to me when we're still encountering significant bugs and site compatibility issues in Nightly.
Is RTX planned to be enabled by default with Firefox 79? Thank you
Comment 82•5 years ago
•
|
||
At a minimum, this should be mentioned in the Firefox X for developers page.
Ideally, we should have some content added that explains what RTX is (retransmission of lost/corrupted packets) and what its benefits are. We should also cover how to control use of RTX and so on. Someone implementing a service needs to know specifically about its effects on network behavior (more bits being transferred), decoding/presentation behavior (more latency and better reliability), how RTX is signaled in SDP, etc. dminor and/or drno may have more information.
Comment 83•5 years ago
|
||
Since RTX is only enabled in early beta and earlier, it should be mentioned on https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Experimental_features
Comment 84•5 years ago
|
||
Does firefox 78 support RTX for WebRTC?
Assignee | ||
Comment 85•5 years ago
|
||
(In reply to Nedo from comment #84)
Does firefox 78 support RTX for WebRTC?
Sort of. Support was landed, but it is behind a pref which defaults to off. There are also some bug fixes that only landed in Firefox 79. You can try turning it on, but you will likely run into problems.
Comment 86•5 years ago
|
||
(In reply to Dan Minor [:dminor] from comment #85)
Support was landed, but it is behind a pref which defaults to off. There are also some bug fixes that only landed in Firefox 79.
Will the pref be defaulted to on in Firefox 79? Thank you
Comment 87•5 years ago
|
||
Will the preference "media.peerconnection.video.use_rtx" value will this be false by default in the stable version?. Couldn't find this details from the documentation. Can I get an answer for this?
BlueJeans meeting is also failing by enabling "rtx", If we are enabling by default we might need to blacklist this "*.bluejeans.com" domain.
Please let us know.
Comment 88•5 years ago
|
||
(In reply to Dan Minor [:dminor] from comment #85)
(In reply to Nedo from comment #84)
Does firefox 78 support RTX for WebRTC?
Sort of. Support was landed, but it is behind a pref which defaults to off. There are also some bug fixes that only landed in Firefox 79. You can try turning it on, but you will likely run into problems.
Does Firefox 79.0 support RTX for WebRTC by default? Couldn't see anything about this in Firefox 79 release notes
https://www.mozilla.org/en-US/firefox/79.0/releasenotes/
Thank you
Assignee | ||
Comment 89•5 years ago
|
||
(In reply to Óvári from comment #88)
(In reply to Dan Minor [:dminor] from comment #85)
(In reply to Nedo from comment #84)
Does firefox 78 support RTX for WebRTC?
Sort of. Support was landed, but it is behind a pref which defaults to off. There are also some bug fixes that only landed in Firefox 79. You can try turning it on, but you will likely run into problems.
Does Firefox 79.0 support RTX for WebRTC by default? Couldn't see anything about this in Firefox 79 release notes
https://www.mozilla.org/en-US/firefox/79.0/releasenotes/Thank you
We've turned it on by default in Firefox 80.
Comment 90•5 years ago
|
||
(In reply to Dan Minor [:dminor] from comment #89)
We've turned it on by default in Firefox 80.
Thank you for your work and reply.
Looking forward to the Firefox 80 release on 2020-08-25.
Hopefully Firefox with Jitsi Meet will be even more performant.
Is this something that the Firefox 80 release notes will state?
Thank you once again.
Comment 91•5 years ago
|
||
This feature was enabled by default with bug 1651722.
Updated•4 months ago
|
Description
•