2016-04-01 31 views
4

WebRTCを使用してKurentoでビデオをストリーミングすることができます。私は、Kurento MediaサーバーのMCU機能を使用してマルチパーティーのオーディオ会議を実装する必要があります。したがって、すべてのクライアントからのオーディオがマージされ、WebRTCを使用して、その結合されたオーディオをすべてのクライアントに効率的に返信します。Kurento Media Serverを使用してオーディオ会議用のMCUを実装する方法は?

それが動作する場合、WebRTCを使用するすべてのクライアントへのピア接続が必要な2つの接続(送信用と受信用)が必要です。すべてのすべてのクライアントにピア接続を確立することは実現可能ではありません。

私は、Kurento Media Serverを使用してオーディオ用にMCUを実装したサンプルコードを提案するか、Kurento Media Serverを使用して同じものを実装するように案内してください。

+0

回答を編集してください。多分役立つかもしれません。 @Santoscadenas。 – santoscadenas

+0

JavaScript API(Nodeと同様)からMedia Elementプラグイン(gst-plugin)を使用する必要がありますか? –

+0

はい、単に 'Composite'要素をインスタンス化し、' HubPort'を接続するときにオーディオを使用して接続します。 – santoscadenas

答えて

3

私は恐れていないことを許すコードはありません。メディア要素はCompositeですが、通常はオーディオとビデオ用です。ストリームを必要なサイズの単一のストリーム・マトリックスに結合します。通常、9つ以上のストリームにはパフォーマンス上の問題があります。オーディオのみを処理したい場合は、確実に9ストリームを超える処理が可能です。オーディオのみを使用するには、AUDIOストリームをHubPortに接続してください。


EDIT 1

必要なメディア要素を生成するためのコード、および正しい方法次のようにオーディオのみの接続が確立します。

WebRtcEndpoint webrtc = new WebRtcEndpoint.Builder(pipeline).build(); 
Composite composite = new Composite.Builder(pipeline).build(); 
HubPort hubport = new HubPort.Builder(composite).build(); 
webrtc.connect(hubport, MediaType.AUDIO); 

接続がWebRtcEndpointからHubPortにあることに注意してください。双方向にする必要がある場合は、その方法でも接続する必要があります。

hubport.connect(webrtc, MediaType.AUDIO); 
+0

オーディオストリームのみを送信してコンポジットメディア要素を使用することはできますか(サーバーに送信するSDPからビデオ部分を削除しようとします)?または、[composite](https://github.com/Kurento/kms-elements/blob/3c6d673ddadfcce0ab23a7856b356a7de0069cf0/src/gst-plugins/kmscompositemixer.c)のメディア要素コードに変更が必要ですか? –

+0

@NileshWagh何も削除する必要はありません(帯域幅を保存する必要がある場合を除き、多くの意味があります)。メディアタイプとの接続を呼び出すことを忘れないでください。私はそれがすべきであるように完全なコマンドを含める答えを編集しています。 – igracia

+0

複合メディア要素を使用したそのようなオーディオ会議のJavaScript(ノード)実装のための参照があります。いくつかのサンプルコードを教えてください。 –

関連する問題