jamulussoftware / jamulussoftware/jamulus

Improve the jitter buffer

オープン
#545 コメント 17 件 リアクション 0 件 担当者 0 名 GitHub で見る
feature request
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。