RTP を使用したいリアルタイム音声通信システムを設計しています。私の一般的な要件は次のとおりです。
- すべてのユーザーが 1 つのオーディオ ストリームをサーバーにストリーミングします
- 着信ストリームは、ソース (SIP トランク、Android フォン、デスクトップ クライアントなど) に応じて、異なる方法で圧縮される場合があります。
- ユーザーは受信したいストリームを選択できます
ユーザーが無制限の帯域幅を持っていて、ポートの数に制限がない場合は、受信したいストリームごとにサーバーで RTP ストリームを開くだけです。ただし、多くのユーザーは 3G または 2G ネットワークを使用するため、私の質問は、(ユーザーが選択した) ストリームを単一の RTP ストリームにバンドルするにはどうすればよいですか?
私が見たオプションの 1 つは、ストリームを単一のパケットに多重化することですが、私が知る限り、実際には RFC に反します (ただし、多重化の作業草案があります)。
もう 1 つのオプションは、オーディオを 1 つのパケットにミックスすることです。それはこれを行うための推奨される方法ですか?最初に、選択したすべてのストリームを 1 つの形式に正規化する必要があります。
私は VoIP/ストリーミング メディア全体に非常に慣れていないので、これは不適切な質問かもしれません。