我发现https://github.com/cloudwebrtc/flutter-webrtc用于Flutter。但在存储库中,示例仅与2个设备对等。我为我的客户建立了一个应用程序,用于与许多人进行视频通话。这是可能使用这个软件包建立视频会议(2+)在flutter?
我发现https://github.com/cloudwebrtc/flutter-webrtc用于Flutter。但在存储库中,示例仅与2个设备对等。我为我的客户建立了一个应用程序,用于与许多人进行视频通话。这是可能使用这个软件包建立视频会议(2+)在flutter?
4条答案
按热度按时间oo7oh9g91#
是的,您应该能够使用WebRTC和此软件包与许多人建立视频通话。
一种方法是为房间中的每个新对等点创建一个新的RTCPeerConnection。看看这个example,它确实做到了这一点。
然而,由于WebRTC是针对点对点的,因此此解决方案根本无法扩展,因为您将以指数级的方式创建新的对等连接。有了~6个人,你的通话质量已经很糟糕了。如果您的目的是拥有一个会议室,那么如果您计划实现可扩展性,那么您应该真正考虑使用Selective Forwarding Unit (SFU)。
检查Janus VideoRoom插件的开源SFU实现,只是要注意,它的设置有点麻烦。
h5qlskok2#
建筑会议系统需要一个集中的SFU或MCU服务器来处理所有的音视频流。在对等(P2P)会议系统中,可以使用N *(N-1)/ 2来计算必要连接的数目,其中N表示参与者的数目。这将导致非常差的性能,因为许多连接。所以没有人使用这种方法来制作会议系统。我们使用一个集中的服务器来处理我们的媒体。
而如果您使用集中式服务器,则每个用户将只有一个连接。Ant Media提供MCU和SFU满足您的需求。Ant Media Server提供了Flutter SDK,它提供了在Flutter中构建视频会议应用程序的特定功能。他们还有一个使用Flutter的会议系统的例子。他们的SDK可以增强您的视频会议应用程序并提供额外的功能。
mnemlml83#
房间视频通话,或者直播……你必须使用一个媒体服务器来制作它,webrc只允许两个对等体,需要一个媒体服务器来作为中介
ax6ht2ek4#
不幸的是,你不能使用它进行2+通信,因为webRTC的主要思想是通过P2P连接双方。