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