如何使用Kurento Media Server实现音频会议的MCU?

Nil*_*agh 5 audio-streaming webrtc kurento

我能够使用WebRTC与Kurento进行视频流传输,我需要使用Kurento Media服务器的MCU功能实现多方音频会议。因此,来自所有客户端的音频将被合并,并使用WebRTC高效地将合并后的音频发送回所有客户端。

如果它可以工作,那么我们仅需要两个连接(一个用于发送,一个用于接收),否则,我们需要使用WebRTC与所有客户端的对等连接。建立与所有所有客户端的对等连接是不可行的。

请向我建议使用Kurento Media Server实现音频MCU的任何示例代码,或指导我使用Kurento Media Server实现音频的MCU。

igr*_*cia 4

恐怕没有代码允许 Kurento 这样做。有Composite媒体元素,但通常用于音频和视频。它将流组合成所需大小的单个流矩阵,通常超过9个流可能会出现性能问题。如果你只想处理音频,它肯定可以处理超过 9 个流。要仅使用音频,只需将音频流连接到HubPort.


编辑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);
Run Code Online (Sandbox Code Playgroud)

请注意,连接是从WebRtcEndpoint到 的HubPort。如果您需要双向连接,则也需要以这种方式连接。

hubport.connect(webrtc, MediaType.AUDIO);
Run Code Online (Sandbox Code Playgroud)