单实时资源,多客户端连接

时间:2012-08-15 16:43:38

标签: video-streaming messaging shared-memory live-streaming

我正在开展个人项目以促进自己的教育。

我想了解流媒体服务器通常使用什么模型来在有限资源上实现最大性能,同时连接到单个共享资源但将其发送到多个资源。

例如:假设我们的网络摄像头具有固定的带宽量(1 mb / s)。我们有这个网络摄像头的可变数量的观众。如果摄像机可以产生高质量的视频,这将使其上游功能饱和,我们将限制为1个连接。但我们希望满足所有这些连接请求。所以我们在其间放置一个流媒体服务器。

他们通常使用什么方法来多播这个单一会话?我一直在调查共享内存,消息队列。

我已经使用二进制pub-sub消息队列成功编写了一个简单的多连接服务器,但我正在寻找其他解决方案来解决这个问题。不是因为它不起作用,而是因为我想知道其他人是如何做到的。

我的问题是,流媒体服务器(FFServer,Red5,WMS,FMS等)用于连接到单个实时资源并将其联合到多个客户端的典型编程方法是什么。

这与语言无关,我对概念比对实现更感兴趣。

1 个答案:

答案 0 :(得分:0)

Adob​​e Flash使用一种P2P技术。您可以在使用CNN网站的直播时观看。经过一段时间的观察后,您可以看到上游和下游相同。 您的任务管理器中还有一个名为“omnixyz-something”的新流程。此过程管理您的流向其他查看者的P2P转发。 你可以在这里看到一些关于这个概念的漂亮图形: http://labs.adobe.com/technologies/cirrus/ 虽然我有点怀疑,目前Adobe的RTMFP与第二张图显示的一样灵活。图表很不错,但从技术上讲,我认为单个查看器在“播种机”网络中连接的节点数量是有限的。因此,您只需将您的信息流转发给1,2,3人,但不会转到“无限制”,如图所示。