我想使用 Flash 进行视频直播。
我们的目标是支持多达 2000 个用户同时观看视频。
如果不考虑带宽,哪个服务器(red5、wowza、FMS)可以同时处理 2000 个连接?
计算机硬件要求是什么?
还是我们需要设置一个小集群来做到这一点?
如果我们说,1s div 2000 = 0.0005s = 0.5ms cpu time per connection。那是现实吗?
我想使用 Flash 进行视频直播。
我们的目标是支持多达 2000 个用户同时观看视频。
如果不考虑带宽,哪个服务器(red5、wowza、FMS)可以同时处理 2000 个连接?
计算机硬件要求是什么?
还是我们需要设置一个小集群来做到这一点?
如果我们说,1s div 2000 = 0.0005s = 0.5ms cpu time per connection。那是现实吗?
我不会考虑毫秒,而是带宽。
一个流的带宽使用量是多少?假设 1000Kb/s,你需要 2000x1000Kbs = 2.000.000 Kbps = 2000Mb/s = 2Gbs
如果每个人都使用相同的流,则一台服务器可以物理处理(200MB/s)。但是很难找到允许您使用这么多带宽的提供商。
此外,设置和测试将使用大量资源。我建议您为您的活动租用专门的服务。这样做的公司有经验和基础设施。您只需要将流发送到他们的中继。
啊...我刚刚看到“如果我们不考虑带宽”。奇怪的是不考虑这一点,因为它是主要问题......然后我建议在负载均衡器后面使用几台服务器。吐出 2Gb/s 和管理用户连接可能会变得很困难,特别是如果您遇到中断,然后所有客户端都尝试同时重新连接。如果不了解更多关于您的流的信息,没有人可以告诉您需要多少台服务器。- 只有一个决议吗?- 您只是按原样转发编码数据还是重新直播?- 你想做动态质量吗?- 它的比特率是多少?是视频还是音频?1 台体面的服务器只处理音频 4 台服务器应该足以为视频提供冗余(1000kbs 比特率) 用少数用户测试 CPU 使用率,然后更多,然后更多......跟踪图表,
我对外部提供商的建议保持不变。建立这样的基础设施是一项全职工作,需要经验和测试,测试 2000 个流连接并不容易。如果您保持在一台服务器的能力范围内,那将非常简单。但如果你需要一个集群,那就另当别论了。
提供者可能是:youtube live、akamaï 等等。
就流媒体服务器而言,我会使用 Wowza,因为它具有最强大的功能集。
您的负载设置将完全取决于您提供的协议。如果您使用 HLS,则 HTTP 块可以由任何标准缓存服务器或 CDN(如 akamai 或 cloudfront)缓存。如果您使用的是基于单一连接的协议,例如 RTMP,则支持的流的数量将取决于您的硬件限制。
CDN 还提供流媒体服务,如果您不想自己设置一个编码器,只需将其指向一个编码器即可。不过,这可能会变得非常昂贵,具体取决于您的提供商。
一个不错的选择可能是在 EC2 上运行 Wowza 的每日实例,然后在它前面使用亚马逊的云端。这样您就不必购买任何硬件或保护任何 CDN 合同。
Flash Media Server 或 (FMS) 是一种通过 HTTP 直播视频的理想解决方案。
Red5 是作为 Adobe FMS 的开源版本开发和提供的。但是,Red5 的反响非常温和。
Wowza 和 Adobe Media Server 之间的详细比较 http://www.webnethosting.net/wowza-media-servers-vs-adobe-flash-media-servers/