网络电视服务器...专用?

网络电视服务器...专用?

我正在开发一个网站,我想集成一个直播网络电视。

我有这个专用服务器:

Quad Core Q6600
4x 2.40+ GHz
4GO RAM
1TO Disk Space
Unmetered Bandwidth
100Mbps (goes down to 10Mbps if I reach 3TO of bandwidth. Possibility to swtich to 1 Gbps if I pay more)
  • 我想我会使用 Red5(安装将由 Re5 团队完成),因为它是开源的并且免费。

  • 比特率约为 500kbps

我预计大约有:

  • 100 位用户正在观看我的直播活动
  • 我每天只会直播2小时。
  • 对于录制的事件,应始终提供视频点播。

我的服务器能支持这种活动吗?还是我需要更多资源?请注意,我已将客户的网站托管在此服务器上。我是否必须为 WebTV 制定 VPS 计划并单独提供资源?当然,如果此服务器支持该流量。

我真的不想选择提供这种服务的公司,因为它们太贵了。

答案1

让我们来做一下数学题,从带宽开始;

您希望有 100 个用户观看实时 500Kbps 单播流,那就是 50Mbps - 所以正好是 100Mbps 的一半,假设所有流量都是传出的,并且没有抖动或其他流量,例如登录页面/目录等的常规网络点击。这令人惊讶地接近极限。

然后,您希望人们也能够观看录制的材料,如果允许在直播期间发生这种情况,这将严重扰乱您的直播,这纯粹是由于缓存管理开销和录制此直播以供以后播放所需的工作量(我认为这就是您打算这样做的原因?)。

现在谈到磁盘,您没有提到您希望多少人观看录制的内容或比特率,但我们假设您坚持(顺便说一下相当低的)500Kbps 速率并且 1TB 来自消费者 7.2krpm SATA 磁盘。很有可能,尽管您的系统会尝试使用剩余的少量内存作为磁盘缓存,但由于内容存储与缓存的比例,它不会那么成功(我始终假设缓存的有效性为 0%,这是一个很好的基础),所以您的磁盘必须能够为每个用户、每个内容项目获得 50KBps,而这个磁盘最多只能为您提供 20-25MBps 的随机读取速度 - 这应该是一个简单的 25MBps 除以 50KBps,不幸的是,这并不容易,因为每次读取都是一个“IO 操作”,这些磁盘每秒大概可以达到 150 次 - 所以从绝对理论上讲,如果您的用户知道如何以适合您的方式提出请求,您可以支持 150 个同时播放。

现在谈谈你的 CPU,虽然它是一个 4 年前的消费级 CPU,但考虑到在总线之间传输数据的这项小任务,它应该可以胜任,但它是一个消费级 CPU,几乎没有使用 Xeon 中的技术来保证你的服务器的可靠性,但我再次假设这对你来说现在并不重要。4GB 应该没问题,你需要的代码甚至不需要这个,剩下的将是与内容存储相关的差劲缓存,但它应该可以保存你所有的静态页面内容,所以没问题。

因此,总而言之,您将受到带宽和供应商传输大量流量的能力的限制,即使流量本来就很低 - 而且您的磁盘不支持许多播放流。除此之外,您一切顺利。

答案2

亚马逊网络服务昨天通过 Cloudfront 发布了直播;我认为这是可靠性、成本和麻烦的最佳解决方案。它可能比你想象的要便宜得多- 做数字。见下文。

尊敬的 Amazon Web Services 客户,

我们很高兴地宣布推出针对 Amazon CloudFront(AWS 易于使用的内容交付网络)的实时 HTTP 流式传输。

通过使用 Amazon CloudFront 和运行 Adob​​e Flash Media Server 的 Amazon EC2 以及 Amazon Route 53(AWS 的 DNS 服务),您现在可以轻松且经济高效地通过 AWS 交付实时视频。此外,我们通过创建 AWS CloudFormation 模板简化了入门过程,该模板负责处理此实时流堆栈所需的所有 AWS 资源的所有配置和排序。

您只需为您使用的 AWS 资源付费,并可以完全控制您的直播流原始服务器(在 Amazon EC2 上运行的 Adob​​e 的 Flash Media Server)——因此您可以对其进行配置,以最好地适应您事件的具体性质。

开始的最佳方式是按照我们的直播教程中的说明进行操作。本教程将逐步指导您如何启动直播活动。它会要求您选择直播模板,在 AWS 管理控制台中输入有关直播活动的几个参数,然后让 CloudFormation 自动创建直播堆栈并启动 AWS 资源以流式传输您的直播活动。

真挚地,

Amazon CloudFront 团队

相关内容