jamulussoftware / jamulussoftware/jamulus
Improve the jitter buffer
- Vorherrschende Sprache
- C
- Sterne
- 1.1k
- Forks
- 248
- Ø Merge
- 2 T. 3 Std.
- Gemergte PRs (30 T.)
- 9
Beschreibung
The idea is:
A new jitter buffer uses a timing histogram to compute the actual jitter relative to the audio device or system clock timer.
A bit sequence will be added to all transmitted frames to improve the jitter histogram computation.
Open issues:
- What about compatibility to old Jamulus servers and clients?
- How does the new auto jitter buffer algorithm behave? For what situation is it optimized? See, e.g., https://github.com/corrados/jamulus/issues/417.
- The old algorithm was designed to measure the block error rate for different jitter buffer sizes. What is the metric for the new auto jitter buffer algorithm to set the buffer size?
- We are using an unused bit in the OPUS bit stream. Question: Why is this bit not used? Is it a reserved bit? Do we have a reference to the OPUS specification document, where this bit is mentioned? Is there a risk that at a later version of OPUS that this bit is then used by OPUS and we cannot upgrade Jamulus to a new OPUS version?
- A documentation of the algorithm should be added so that others can understand what's going on and can improve/tune the new algorithm.
A first patch is already available: https://github.com/corrados/jamulus/pull/539.
See also the discussion in the pull request: https://github.com/corrados/jamulus/pull/529#issuecomment-678292903
Beitragsleitfaden
Rechercherichtung
Beginne mit der Überprüfung des ersten Patches in pull request #539 und der Diskussion in pull request #529. Untersuche das vorgeschlagene Timing-Histogramm, die Bitfolge des übertragenen Frames, die Kompatibilität mit älteren Clients und Servern sowie die Verwendung von OPUS-Bits. Als abgeschlossen gilt die Aufgabe, wenn ein endgültiger Algorithmus und eine Metrik festgelegt, Kompatibilitäts- und Spezifikationsfragen geklärt und der Algorithmus dokumentiert sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- c
- Bereich
- audio-video-rtc
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 20/100