N-N视频聊天系统与媒体服务器

时间:2014-07-05 08:23:34

标签: asterisk webrtc hangout kamailio

我正在寻找一种开源解决方案来创建N-N(多对多)视频聊天应用,例如环聊 GotoMeeting 。它应该基于用户带宽在所有设备上运行,就像环聊一样。

我已经在网状拓扑中尝试了WebRTC,但是如果我选择此解决方案,当参与者增加时它将消耗更多参与者带宽,并且WebRTC在iPad中没有独立支持。我想要一个优化的解决方案结合 WebRTC和媒体服务器(星形拓扑)(如Asterisk或Kamailio)可以进行“多对多”视频聊天吗?

还有其他方法可以达到这个目的吗?

重要要求:

它应该在所有或大多数平台上运行(特别是在iPad上)

注意: 服务器不是问题。但该技术应该是开源的。

4 个答案:

答案 0 :(得分:1)

没有这样的开源项目。

所有类似的项目在展示了有价值的东西后都会商业化。

答案 1 :(得分:1)

http://www.kurento.org/做了你想要的吗?

Kurento的核心元素是Kurento Media Server,负责媒体传输,处理,加载和录制。它基于GStreamer的低级技术实现,以优化资源消耗。它提供以下功能:

网络流媒体协议,包括HTTP(作为客户端和服务器),RTP和WebRTC。 支持媒体混合和媒体路由/调度的组通信(MCU和SFU功能)。 对计算视觉和增强现实过滤器的通用支持。 媒体存储支持WebM和MP4的写入操作,并以GStreamer支持的所有格式播放。 GStreamer支持的任何编解码器之间的自动媒体转码,包括VP8,H.264,H.263,AMR,OPUS,Speex,G.711等。

答案 2 :(得分:0)

Kurento提供composite媒体元素,可帮助您节省带宽。它基本上将多个流合并为一个,因此在多对多方案中,您可以在每个客户端中拥有一个传出流和一个传入流。在常规的多对多方案中,您将拥有一个传出流,并为每个客户端提供n-1个传入流,其中n是客户端数。

Kurento根据LGPLv2.1许可证分发。

答案 3 :(得分:0)

迄今为止在 github 上可用的最佳服务器是

1- meetecho/janus-gateway 开源免费源代码,可选择企业付费支持 javascript。

2- pion/webrtc 完全免费的开源构建 on go lang

3- ant-media/Ant-Media-Server 是从 Red5/red5-server 分叉出来的,它基于 Java 构建,有社区版和企业版,可以在亚马逊网络服务上轻松设置。

你也可以在github上查看那些laravel项目,比如 1- PHPJunior/laravel-video-chat 2- RTippin/信使 3- Mupati/laravel-video-chat

还有 github 上的 php 项目,比如 1- nielsbaloe/webrtc-php 用于共享主机