搭建流媒体服务器

本文介绍如何在阿里云、腾讯云等云主机上搭建流媒体服务器,包括如何选择云主机配置、如何选择带宽和流媒体服务器软件选择等。

流媒体服务器是支撑视频业务的基础系统,具有视频直播、视频点播的能力,有些使用场景下还会承担转码任务,因此,其对云主机和网络带宽的要求要高于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并发,实际测试相差较远,配置和使用比较复杂。产品比较成熟,国内有代理商支持。