我需要为一个可以流式传输实时音频和视频的网站构建一个服务器。其功能类似于 www.ustream.tv,拥有一个广播公司和无限订阅者(只能通过文本聊天)的频道。根据连接情况,流式传输将具有多种比特率。首先,我需要能够拥有 100 个广播用户和 1000 个订阅者。
哪种软件和硬件组合最好?我将从一台服务器开始,然后根据需要构建更多服务器。
我听说过基于 Flash Media Server 3.5 或 Red5 的媒体服务器。但我不知道该选择哪一个。
提前致谢(抱歉我的英语不好)
答案1
一些想法;
- 您的客户端软件是什么,这非常重要,特定操作系统上的特定版本 - 这将定义您的流媒体软件。
- 您的流配置文件是什么,您是否打算预先编码或者您是否已经/期望即时进行交叉编码?
- 您是否计算过平均和突发带宽需求,您的最高数字是否考虑了从磁盘/内存到 CPU、IO、NIC、L2、L3、负载均衡器、防火墙、您可能拥有/需要的任何 VPN、外部路由、后续传输等的整个路径。
- 您是否计划从流媒体服务器提供非流流量(首页,交易等)?如果是这样,为什么这种流量可以轻松处理抖动而视频不能 - 考虑将您的前端拆分为工作负载类型,以便更容易扩展。
- 现在考虑一下您将如何“利用”实时内容,您很有可能需要这种能力来遵守权利。
至于硬件,我认为你需要同时具备以下性能:和弹性,您将很难以便宜的价格获得它,坚持使用中型/大型公司(戴尔或更好)而不是自己构建 - 您将会足够忙碌。
希望这能有所帮助。
答案2
即时编码 100 个视频流,无论你想要多少比特率,都会让任何服务器瘫痪,除非你使用大型机器,而且听起来你想要一个便宜的解决方案,所以这不是一个选择。如果你的客户端进行编码,而你的服务器只是处理分发,它仍然会造成很大的影响,但影响会大大降低,但这意味着让客户端对不同的比特率进行编码,并同时将所有内容流式传输回你。
这类事情可能需要您编写自己的客户端,或者改编一个可以进行流式屏幕捕获的开源项目来获取信息。我会研究一下这个问题,看看您可以将信息流传输到哪种服务器,然后从那里开始。
答案3
Windows 2008 媒体服务。
答案4
要想在不投入大量硬件和网络规划的情况下完成此类任务,唯一的办法就是使用托管流媒体服务(类似于网络托管服务,但更加小众)。您还可以考虑使用亚马逊的 CloudFront 流媒体服务。