1

RTP を使用したいリアルタイム音声通信システムを設計しています。私の一般的な要件は次のとおりです。

  • すべてのユーザーが 1 つのオーディオ ストリームをサーバーにストリーミングします
  • 着信ストリームは、ソース (SIP トランク、Android フォン、デスクトップ クライアントなど) に応じて、異なる方法で圧縮される場合があります。
  • ユーザーは受信したいストリームを選択できます

ユーザーが無制限の帯域幅を持っていて、ポートの数に制限がない場合は、受信したいストリームごとにサーバーで RTP ストリームを開くだけです。ただし、多くのユーザーは 3G または 2G ネットワークを使用するため、私の質問は、(ユーザーが選択した) ストリームを単一の RTP ストリームにバンドルするにはどうすればよいですか?

私が見たオプションの 1 つは、ストリームを単一のパケットに多重化することですが、私が知る限り、実際には RFC に反します (ただし、多重化の作業草案があります)。

もう 1 つのオプションは、オーディオを 1 つのパケットにミックスすることです。それはこれを行うための推奨される方法ですか?最初に、選択したすべてのストリームを 1 つの形式に正規化する必要があります。

私は VoIP/ストリーミング メディア全体に非常に慣れていないので、これは不適切な質問かもしれません。

4

1 に答える 1

1

データを失わないために tcp を使用したいと思います。tcp で rtp を使用する必要があります。rfc を参照してください。

これにより、ストリームごとに一意の ID を持つ単一のソケットを介して複数の rtp ストリームを送信できます。

于 2012-07-07T17:57:19.257 に答える