我想使用 Flash 进行视频直播。
我们的目标是支持最多 2000 个用户同时观看视频。
如果不考虑带宽,哪台服务器(red5、wowza、FMS)可以同时处理 2000 个连接?
计算机硬件要求是什么?
或者我们是否需要设置一个小型集群来做到这一点?
如果我们说,1s div 2000 = 0.0005s = 0.5ms 每个连接的 CPU 时间。这是现实吗?
最佳答案
我不会考虑毫秒,而是考虑带宽。
一个流的带宽使用情况是多少? 假设 1000Kb/s,您需要 2000x1000Kbs = 2.000.000 Kbps = 2000Mb/s = 2Gbs
如果每个人都是相同的流,则一台服务器可以物理处理该流(200MB/s)。但很难找到允许您使用如此多带宽的提供商。
此外,设置和测试将使用大量资源。我建议您为您的事件租用专门的服务。这样做的公司拥有经验和基础设施。您只需将您的流发送到他们的中继即可。
啊...我刚刚看到“如果我们不考虑带宽”。奇怪的是不考虑这一点,因为它是主要问题......然后我建议在负载均衡器后面使用多个服务器。提供 2Gb/s 速度并管理用户连接可能会变得很困难,尤其是在出现中断并且所有客户端同时尝试重新连接的情况下。如果不了解有关您的流的更多信息,没有人可以告诉您需要多少台服务器。 - 只有一个决议吗? - 您只是按原样转发编码数据还是实时重新编码? - 你想做动态质量吗? - 它的比特率是多少?是视频还是音频? 1 台像样的服务器仅适用于音频 4台服务器应该足以为视频提供冗余(1000kbs比特率) 用少量用户测试 CPU 使用情况,然后更多,然后更多...跟踪图表,需求线性增长。
我对外部提供商的建议保持不变。建立这样的基础设施是一项全职工作,需要经验和测试,测试 2000 个流连接并不容易。如果您只使用一台服务器,那么这很简单。但如果您需要集群,那就是另一回事了。
提供商可能是:youtube live、akamaï 等等。
关于flash - red5 vs wowza vs FMS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9485515/