服务器直播服务器搭建:零基础搭建服务器直播:完整操作指南
适用场景与准备工作
直播服务器搭建常用于个人游戏直播、
在线教育、
企业内部会议或需要低延迟自定义播放器的场景。核心思路是拥有一台公网服务器,
安装直播流媒体软件(如 SRS 或 Nginx-RTMP),
然后通过 OBS 推流,
观众在网页或播放器里拉流观看。
服务器要求:最低 1 核 2GB 内存,系统推荐 Ubuntu 22.04 或 CentOS 7+。
带宽根据并发观众数估算,一个流畅的 720p 流约需 1.5Mbps 上行带宽。
域名最好提前解析到服务器 IP(可选,非必须)。
防火墙需要开放 1935(RTMP)、8080(HTTP-HLS) 等端口。
安装直播服务器软件(以 SRS 为例)
SRS(Simple Realtime Server) 是国产高性能直播服务器,支持 RTMP、HLS、WebRTC 等协议。
以下以 Ubuntu 系统为例,通过 Docker 快速安装(零基础友好):
# 安装 Docker(如果未安装)
curl -fsSL https://get.docker.com | sudo sh
sudo systemctl start docker
sudo systemctl enable docker
# 拉取 SRS 镜像并运行
docker run -d --name srs -p 1935:1935 -p 8080:8080 ossrs/srs:4
安装完成后,访问 http://你的服务器IP:8080 应看到 SRS 控制台页面。
如果不使用 Docker,也可直接二进制安装:
wget https://github.com/ossrs/srs/releases/download/v4.0.283/SRS-CentOS7-x86_64-20230712100609.zip
unzip SRS*.zip
cd srs/trunk
./configure --full && make && ./objs/srs -c conf/srs.conf
注意:生产环境建议修改配置文件 /usr/local/srs/conf/srs.conf(Docker 版需挂载配置),开启 HLS 和防盗链。
配置推流与拉流地址
SRS 默认推流地址为 rtmp://你的服务器IP:1935/live/房间名,播放地址则根据协议不同:
- RTMP 播放:
rtmp://你的服务器IP:1935/live/房间名 - HLS 播放:
http://你的服务器IP:8080/live/房间名.m3u8 - HTTP-FLV 播放:
http://你的服务器IP:8080/live/房间名.flv
房间名(stream key)可自定义,例如 test。
建议使用复杂的字符串避免被猜出,或者稍后配置鉴权。
OBS 推流测试
- 下载并安装 OBS Studio(官网免费)。
- 打开 OBS,点击「设置」→「推流」。
- 服务选择「自定义」,服务器填入
rtmp://你的服务器IP:1935/live,串流密钥填入房间名(如test)。 - 点击「开始推流」,观察状态变为“已连接”。
- 打开播放器(如 VLC),输入上述播放地址,即可看到画面。
如果推流成功但在外网无法播放,请检查服务器 防火墙规则:在云服务商安全组中放行 1935、8080 端口。
如果使用宝塔面板,需要在“安全”中添加端口规则。
避坑指南与高频问题
问题一:推流提示连接超时
原因:服务器防火墙未放行 1935 端口,或 SRS 服务未启动。检查 SRS 是否运行:docker ps 或 ps aux | grep srs。
问题二:HLS 播放黑屏
原因:SRS 默认 HLS 配置延迟较高,且第一个切片需等待几秒。建议在配置中添加 hls_wait_keyframe off; 和 hls_dispose 0; 降低延迟。
问题三:如何限制只有特定推流端能推流
打开 SRS 配置文件,开启 HTTP 回调鉴权。具体方法:在 vhost 段添加 http_hooks 指向你的鉴权 PHP 脚本(教程较多,此处不展开)。
避坑要点:
- 不要使用默认的 1935 端口结合弱密码,否则可能被恶意推流。可在云服务器安全组限制只允许自己 IP 推流。
- 带宽不足时,可降低 OBS 输出分辨率或 FPS。
- 使用 CDN 加速时,需将推流端送到源站,播放端从 CDN 边缘拉流,SRS 作为源站。
验证效果与后续优化
推流后在浏览器打开 http://你的服务器IP:8080/players/rtmp.html?(SRS 自带播放器)查看是否流畅。
autostart=true&server=rtmp://你的服务器IP:1935/live&vhost=live&app=live&stream=房间名
延迟良好即可投入使用。
如果你正在处理服务器直播服务器搭建,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先检查防火墙、SRS 进程状态和推流地址格式。
对于生产环境,务必配置 HTTPS 和鉴权机制,保证直播安全。