jamulussoftware / jamulussoftware/jamulus

Improve the jitter buffer

Aperta
#545 17 commenti 0 reazioni 0 assegnatari Vedi su GitHub
feature request
Lingua principale
C
Stelle
1.1k
Fork
248
Merge medio
2g 3h
PR unite (30g)
9

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia esaminando la prima patch di pull request #539 e la discussione in pull request #529. Esamina l’istogramma temporale proposto, la sequenza di bit del frame trasmesso, la compatibilità con client e server meno recenti e l’uso dei bit OPUS. Il lavoro sarà considerato completato quando saranno definiti un algoritmo e una metrica definitivi, saranno risolte le questioni di compatibilità e di specifica e l’algoritmo sarà documentato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
c
Ambito
audio-video-rtc
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
20/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.