我想从头开始构建视频托管服务。我可以访问多个流量频道,因此可以立即使用此类服务。我想看看有哪些选项可以实现此目的。
该网站的功能很简单。
用户上传任意格式的视频。视频转换为 mp4 和 3gpp 格式,之后可通过私人(或公共)网址进行流式传输。
我估计前 4 个月内就会有几 TB 的数据,带宽使用量超过 3 GB。
速度是关键,我希望视频能够快速加载,但我也不想花大价钱购买价值 20,000 美元的服务器。
你们能否推荐一个简单的、可以从 1 台服务器扩展到 100 台服务器的解决方案。
编辑1:
我最初的想法是这样的:
- 1 个用于 DB 和 mysql 的前端服务器(mysql 可以移至其自己的服务器)
- 1 个转换服务器
- 1 个媒体服务器
让我“害怕”的问题是,一台服务器大约有 500-800GB 的空间(raid5 中的 15k SAS 驱动器)。一旦超过这个数字...添加新服务器并只将服务器的 ID 保留在主文件列表中并不是什么大问题...但一段时间后,这将非常低效...因为一旦服务器被填满,文件就会变旧,访问它们的人就会减少...所以到那时它就变成了一个功能过剩的存档服务器,这是一种浪费。我想避免这个问题。
答案1
啊,这是我们最喜欢*的 SF.com 问题 - 您想要一个快速、可靠、灵活而且便宜的新系统 - 我们每隔几天才会收到这种帖子 ;)
我从事面向消费者的视频流工作已有四年多,你不可能拥有一切,在某些方面你必须做出妥协。也就是说,基于你无需担心 QoS 或客户端 SLA(会话启动时间、丢帧等)的假设,听起来你需要以下内容;
- 2 个中型/重型防火墙/负载平衡器/路由器或组合设备,用于面向客户端的设备。
- 2 个轻型组合设备(具有多 VPN 功能)用于传入服务。
- 至少 2 台高 CPU、低内存、低本地存储的服务器来执行 VoD 编码。
- 最初有 2 到 4 个中等 CPU、高内存、低本地存储 VoD 流媒体播放器。
- 一些专用的强大的数据库服务器。
- 您需要使用尽可能多的前端应用服务器来创建您的“目录”页面,检查播放前的授权要求,并生成要传递给客户端以便从 VoD 流媒体播放的 URL。
- 至少 2 个 Web 服务器用于提供目录并将 URL 交给客户端。
- 大概是某种形式的 MIS 系统,用于监控服务并报告商业和 SLA 遵守原因的活动。
- 两个双控制器 SAN/NAS 盒;一个用于“内部”数据库、VoD 导入过程、任何虚拟机、构建代码、开发和任何其他安全存储;另一个仅用于保存与流媒体服务器一起存放的后处理 VoD 内容。混合使用这两个功能会花费您一些钱,现在就将它们分开。
我个人更喜欢 FC,而不是任何基于以太网的东西,因为它的增长更加可预测,但预算可能起到一定作用;如果你必须使用 NAS,请使用 NFS 而不是 CIFS/SMB,它要成熟得多。哦,还有多路径,你也可以这样做。
其中,您要确保您的数据库盒是“坚固的”,并且您首先要整理好您的网络,其他一切都相当容易处理。不要愚蠢地为您的 VoD 服务器购买 10Gbps NIC,3Gbps 的并发流量实际上非常低,您几乎可以保证,即使是配置最差的现代服务器也会全天候达到 1Gbps 的流媒体,因此只需购买一堆便宜的,这样当它们发生故障时,您就有硬件弹性。
我很想对所有服务器使用刀片,对除 DB 和 VoD 服务器之外的所有服务器使用 VMWare,但您可能没有预算,当然这两种技术可以极大地帮助您实现未来的顺利扩展,但它们的入门成本并不便宜。
祝你好运。
*真的,真的不是 :)
答案2
我会把它扔到 EC2 上。除了这个简单而相当琐碎的提示之外,还有太多的可能性可以回答这样一个荒谬的开放式问题。
答案3
避免使用云解决方案来处理占用大量带宽的任何事物,因为您最终会花费数千美元,而您支付的费用仅为亚马逊收费的一半。当您回答一些问题时,我会添加更多信息。
答案4
查看 wowzahttp://www.wowzamedia.com/- 合理廉价的软件。至于硬件,您可以使用任何廉价的 700 美元 1u 服务器,因为流媒体不会占用太多 CPU。只需确保在故障转移设置中设置了多台服务器,这样您就可以承受硬件故障。至于存储等,很难说,取决于 io 要求。
基本上就像 womble 和 gekkz 所说的那样,变量太多,无法给出合理的答案。:)