自建直播服务器的需求越来越多,无论是企业内部培训直播、付费知识直播课,还是游戏直播自建平台,香港服务器凭借低延迟和带宽资源,是搭建推流服务器的优质选择。本文从零开始,教你完成 OBS + SRS + CDN 的完整直播链路搭建。
一、架构说明
完整的直播链路由三个部分组成:
- OBS(推流端):运行在主播电脑上,负责采集音视频并推送至服务器。
- SRS(流媒体服务器):运行在香港服务器上,接收推流并转为HLS/HTTP-FLV等格式供观众播放。
- CDN(分发层):将SRS产生的流通过边缘节点分发至全球,降低大并发时的服务器压力。
二、服务器配置要求
| 参数 | 单路直播(<100并发) | 多路直播(<1000并发) |
|---|---|---|
| CPU | 2核 | 4核以上 |
| 内存 | 2G | 8G以上 |
| 带宽 | 10M独享 | 50M以上独享 |
| 系统 | Ubuntu 22.04 | Ubuntu 22.04 |
注意:1路720P推流约需2~4Mbps带宽,100名观众同时观看则需要200~400Mbps分发带宽,务必提前规划CDN分流。
三、安装SRS流媒体服务器
第一步:安装Docker
curl -fsSL https://get.docker.com | bash
第二步:通过Docker运行SRS
docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 ossrs/srs:5
启动后,SRS将在以下地址提供服务:
- RTMP推流地址:rtmp://服务器IP/live/livestream
- HLS播放地址:http://服务器IP:8080/live/livestream.m3u8
- HTTP-FLV播放:http://服务器IP:8080/live/livestream.flv
第三步:开放防火墙端口
ufw allow 1935 && ufw allow 1985 && ufw allow 8080
四、配置OBS推流
- 打开OBS,进入"设置" → "推流"。
- 服务选择"自定义"。
- 服务器填写:
rtmp://你的服务器IP/live - 推流码填写:
livestream(可自定义) - 点击"确定"后,点击"开始推流"。
推流成功后,可通过SRS控制台(http://服务器IP:1985/console)查看推流状态。
五、配置播放器
网页端播放(HLS)
在网页中引入 hls.js,将播放地址指向HLS流:
<video id="video" controls></video>
初始化hls.js并加载 http://服务器IP:8080/live/livestream.m3u8
移动端播放
iOS原生支持HLS协议,直接将 m3u8 地址传入 AVPlayer 即可播放。Android推荐使用 ExoPlayer 库加载HLS流。
六、接入CDN降低带宽成本
当并发观众超过50人时,建议将SRS作为源站,接入CDN进行流量分发:
- 在CDN服务商创建直播加速域名,配置回源至服务器IP的8080端口。
- 将播放地址替换为CDN域名,SRS继续接收OBS推流。
- CDN按实际分发流量计费,100人观看的带宽成本通常比直接从服务器分发低60%以上。
香港服务器的低延迟特性非常适合实时直播场景,尤其是面向大陆观众的直播业务。网宝提供香港云服务器和CDN产品,可满足从小规模私域直播到中等规模公开直播的带宽需求。