jamulussoftware / jamulussoftware/jamulus
Improve the jitter buffer
- 主要言語
- C
- スター
- 1.1k
- フォーク
- 248
- 平均マージ
- 2日 3時間
- マージ済み PR(30日)
- 9
説明
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
コントリビューションガイド
調査の方向性
まず pull request #539 の最初のパッチと、pull request #529 の議論を確認してください。提案されているタイミングヒストグラム、送信フレームのビット列、旧バージョンのクライアントおよびサーバーとの互換性、OPUS ビットの使用状況を調査してください。完了条件は、アルゴリズムとメトリックが確定し、互換性および仕様に関する問題が解決され、アルゴリズムが文書化されていることです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- c
- 領域
- audio-video-rtc
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 20/100