1

我正在做一个个人项目,以继续我自己的教育。

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

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

他们通常使用什么方法来多流这个单个会话?我一直在研究共享内存、消息队列。

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

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

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

4

1 回答 1

0

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

于 2012-08-16T08:12:12.020 回答