搭建流媒体服务器一般从硬件、软件、带宽等几个方面来考虑。
流媒体服务器是支撑视频播出的基础系统,具有视频直播、视频点播的播出能力,有些使用场景下还会承担转码任务,因此,其对软硬件和网络的要求要高于Web服务器和数据库服务器等。我们今天从云主机、网络带宽和存储性能等几个方面来探讨下流媒体服务器搭建的关键步骤。
配置什么样的硬件和网络,主要依据对并发播出能力的期望,并发能力可以直接映射到配置的选择上,我们今天从100并发和1000并发两个级别来说明。在流媒体服务器软件选择合适的情况下,100并发是个很小的并发,1000并发是个中等规模的并发。
考虑性价比,云主机可以选择通用云主机机型,适用于对计算和网络性能和稳定性要求较高的场景。
100并发,选择2核心CPU,4GB内存即可。
CPU数量
2
内存数量
4GB
基频/睿频2.6GHz/3.5GHz
1000并发,选择8核心CPU,32GB内存即可。
CPU数量
8
内存数量
32GB
基频/睿频2.6GHz/3.5GHz
操作系统根据选用的流媒体服务器软件来选择,如果选用NTV Media Server G3流媒体服务器软件,则可以选择CentOS等linux系统。
视频播出网络需求跟并发需求直接相关,计算公式如下:
带宽需求 = 播出码率 x 并发数
一般720p视频播出使用800Kpbs 到 1Mbps的码率,则100并发需要100Mbps的出口带宽。
注意,在选用公网带宽时,有按流量计费和按带宽计费两种模式,模式的选择对您的费用支出会有较大影响。
如果您的网络利用率很高,带宽占用较高而且稳定,譬如说经常会把100Mpbs带宽占满,那您要选择按带宽计费。
如果您的网络利用率不是很高,偶尔会有较大并发需求,譬如1个月有几次大并发的直播,那您一定要选择按流量计费,这样最经济。
当并发超过200并发时,建议您采用出口带宽和CDN结合的方式,这样最经济。
配置多大的存储,主要看您要存储多少视频资源。由于视频资源上传到流媒体服务器后是要进行转码压缩存储的,因此所需的存储相对于存储原始视频会小得多。
存储需求计算公式如下:
存储量 = 播出码率*播出时长/8
例如,对于一般高清视频,播出码率在2Mbps左右,1小时(3600秒)的存储需求为:
2*3600/8 = 900 MB
可以看到,1个小时的高清视频经压缩后,大概占用900MB的存储,接近1GB。这样算下来,1000个小时的资源大概需要1TB的存储。
存储类型,可以选择SSD存储或云存储,对于视频点播业务,存储吞吐能力很重要,需要核算磁盘读效率和用户播出需求的关系,有些流媒体服务器产品(如NTV Media Server G3)会充分利用缓存技术,把常用的数据提前读入内存,降低对存储的读取压力。
流媒体服务器的软件选配是个关键,对播出性能的影响至关重要,软件选择不好,再好主机和带宽也很难带来好的播出效果。根据笔者的项目经验,建议选如下产品:
1) NTV Media Server G3
Linux操作系统,单机并发5000,具有文件缓存、用户限流、文件句柄复用、网卡数据拷贝等高级功能,售后服务好。
2)Adobe Flash Media Server
Windows 操作系统,并发能力也能达到1000以上,对rtmp协议支持完善
3)SRS
Linux操作系统,单间并发1000以上,开源产品,没有售后服务。
4)Wowza
Windows \Linux操作系统,官宣能超过5000并发,实际测试相差较远。产品比较成熟,国内有代理商支持。