摄像头聊天网站 (tinychat、omegle、cam4) 的系统架构

摄像头聊天网站 (tinychat、omegle、cam4) 的系统架构

有人知道 tinychat、omegle、cam4、chatroulette 等网站背后的系统架构是什么样的吗?每个连接需要多少带宽?

如果我没记错的话,他们使用了一些视频流服务器,比如 Flash Media Server、Wowza Media Server、Red5、Erlyvideo,但这会占用 20'000 个用户大约 1 Gb/s 的带宽?或者他们使用了一些正在运行 peer2peer 的软件?我找到了一些这样的软件,但它们都需要打开一些 UDP 端口。

有人知道使用上述服务器软件的 1 个服务器实例可以处理多少个用户吗?

我很高兴得到任何背景信息。

答案1

至少 chatroulette 使用 RTMFP 和 stratus 将视频从客户端推送到客户端,而无需将其传递到服务器(不会占用大量带宽)。得益于打洞技术,这可以通过大多数简单的家庭网络实现。

会话设置和元数据通过服务器传递,但这只是简单的消息传递,如今几乎任何技术都可以实现。据我所知,他们使用 FMS 来实现这一点。

http://labs.adobe.com/technologies/stratus/http://blogs.adobe.com/collabmethods/2008/12/try_rtmfp_and_clienttoclient_d.html

大致流程如下:

  1. 用户启动浏览器访问该网站
  2. Flash 客户端连接到服务器(到服务器的出站连接,可以是 rtmp 或任何其他协议)
  3. Flash 客户端通过 stratus api 获得超出内置策略的特殊连接权限
  4. Flash 客户端与对方客户端同时执行 UDP 打洞。建立直接 UDP 链接并交换音频/视频数据

我必须进行一些研究才能弄清楚他们如何进行后备,但最有可能的是,这是一个简单的服务器数据中继,附带吞吐量要求。

答案2

我相信聊天轮盘使用点对点功能,我认为这确实会减少您所需的带宽,但除此之外,我没有其他选择!抱歉 :)

相关内容