WebRTC - 可扩展的实时流广播/组播
问题:
WebRTC为我们提供了点对点的视频/音频连接。它非常适合p2p通话,环聊。但是广播(一对多,例如,1到10000)呢?
假设我们有一个广播公司“B”和两个与会者“A1”,“A2”。当然,这似乎是可以解决的:我们只是将B与A1连接,然后将B与A2连接起来。因此,B将视频/音频流直接发送到A1,将另一个流发送到A2。B 发送流两次。
现在让我们想象一下有10000名与会者:A1,A2,...,A10000。这意味着 B 必须发送 10000 个流。每个流约为40KB / s,这意味着B需要400MB / s的传出互联网速度来维持此广播。无法接受。
原始问题(已过时)
是否有可能以某种方式解决这个问题,所以B只在某些服务器上发送一个流,而与会者只是从这个服务器拉取这个流?是的,这意味着此服务器上的传出速度必须很高,但我可以维护它。
或者,也许这意味着破坏WebRTC的想法?
笔记
Flash无法满足我的需求,因为最终客户的用户体验很差。
解决方案(不是真的)
26.05.2015 - 目前没有这样的WebRTC可扩展广播解决方案,您根本不使用媒体服务器。市场上有服务器端解决方案以及混合(p2p +服务器端,具体取决于不同条件)。
有一些有前途的技术,虽然像 https://github.com/muaz-khan/WebRTC-Scalable-Broadcast 但它们需要回答这些可能的问题:延迟,整体网络连接稳定性,可扩展性公式(它们可能不是无限可扩展的)。
建议
- 通过调整音频和视频编解码器来降低CPU /带宽;
- 获取媒体服务器。