【问题标题】:How to implement MCU for Audio conference using Kurento Media Server?如何使用 Kurento Media Server 实现 MCU 进行音频会议?
【发布时间】:2017-08-29 10:19:22
【问题描述】:

我可以使用 WebRTC 通过 Kurento 流式传输视频,我需要使用 Kurento 媒体服务器的 MCU 功能实现多方音频会议。因此,来自所有客户端的音频被合并,并使用 WebRTC 以有效的方式将合并后的音频发送回所有客户端。

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

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

【问题讨论】:

  • 请检查已编辑的回复,也许对您有用。
  • @santoscadenas。我应该使用 JavaScript API(Like Node)中的媒体元素插件(gst-plugin)吗?
  • 是的,只需实例化一个Composite 元素,并在连接HubPort 时使用音频连接它们。

标签: webrtc audio-streaming kurento


【解决方案1】:

恐怕没有任何代码可以让这个un Kurento。有Composite 媒体元素,但通常用于音频和视频。它将流组合成所需大小的单个流矩阵,通常超过 9 个流可能会出现性能问题。如果您只想处理音频,那么它肯定可以处理超过 9 个流。要仅使用音频,只需将 AUDIO 流连接到 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);

请注意,连接是从WebRtcEndpointHubPort。如果你需要它是双向的,你也需要以这种方式连接。

hubport.connect(webrtc, MediaType.AUDIO);

【讨论】:

  • 是否可以通过仅发送音频流来使用复合媒体元素(我将尝试从发送到服务器的 SDP 中删除视频部分)?或者composite媒体元素代码是否需要修改?
  • @NileshWagh 不需要删除任何东西(除非你想节省带宽,这很有意义)。只要记住使用媒体类型调用连接即可。我正在编辑答案以包含应有的完整命令。
  • 您对使用复合媒体元素的此类音频会议的 JavaScript(node) 实现有任何参考。请向我推荐一些示例代码。
  • @NileshWagh 你有没有关于复合元素的示例代码?
  • @akshay 音频作曲家可以参考this
猜你喜欢
  • 2015-05-13
  • 1970-01-01
  • 2014-10-24
  • 2016-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-28
  • 1970-01-01
相关资源
最近更新 更多