问题:
WebRTC 为我们提供了点对点的视频/音频连接。它非常适合 p2p 通话、环聊。但是广播呢(一对多,例如,1-to-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/带宽;
- 获取媒体服务器。