直播点播服务器搭建 服务器搭建教程
发布时间:2026-06-23 02:06:44 编辑: 来源:
搭建直播点播服务器的核心在于选择流媒体服务软件(如Nginx-RTMP、SRS、Wowza等)、配置推拉流地址、设置转码/切片功能,并确保网络带宽与存储空间满足并发需求。 以下以开源轻量方案Nginx+RTMP模块为例,详细演示从环境准备到推流播放的全流程。
首先,需要一台Linux服务器(推荐Ubuntu 20.04或CentOS 7+),并确保拥有root权限或sudo权限。更新系统包并安装编译工具:
`sudo apt update && sudo apt install build-essential libpcre3 libpcre3-dev libssl-dev zlib1g-dev -y`
下载Nginx源码与RTMP模块源码:
`wget http://nginx.org/download/nginx-1.24.0.tar.gz`
`tar -zxvf nginx-1.24.0.tar.gz`
`git clone https://github.com/arut/nginx-rtmp-module.git`
进入Nginx目录,编译安装:
`cd nginx-1.24.0`
`./configure --add-module=../nginx-rtmp-module --with-http_ssl_module`
`make && sudo make install`
配置Nginx的RTMP流媒体功能。编辑nginx.conf(默认路径/usr/local/nginx/conf/nginx.conf),在http块之外增加rtmp块:
```
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
allow publish 127.0.0.1; 限制推流来源(可选)
allow play all;
}
}
}
```
如需支持点播,增加application vod:
```
application vod {
play /var/www/videos; 存放mp4/flv文件的目录
}
```
保存后启动Nginx:`sudo /usr/local/nginx/sbin/nginx`
测试推流:使用OBS或FFmpeg向`rtmp://你的服务器IP/live/streamkey`推流。例如FFmpeg命令:
`ffmpeg -re -i test.mp4 -c copy -f flv rtmp://192.168.1.100/live/test`
测试拉流:使用VLC或ffplay播放`rtmp://你的服务器IP/live/test`。若需要HLS输出,可在rtmp块内开启HLS:
```
application live {
live on;
hls on;
hls_path /tmp/hls;
hls_fragment 5s;
}
```
然后通过Nginx提供HTTP服务访问HLS切片(需配置一个server块监听80端口并指向/tmp/hls)。
安全加固:建议设置推流密钥、限制IP白名单、开启HTTPS并集成Token认证。点播场景可配合Nginx的ngx_http_secure_link_module实现防盗链。
【直播点播服务器搭建 服务器搭建教程相关话题】
问题1:推流成功但播放卡顿或无法拉流,常见原因是什么?
回答1:可能原因包括:1)防火墙未开放1935端口(RTMP)或对应HTTP端口;2)服务器带宽不足,可降低推流码率(如h264设置bitrate=1500k);3)HLS切片路径权限错误,需确保nginx用户可写/tmp/hls;4)播放器与流格式不匹配(如RTMP需Flash支持,移动端推荐HLS)。
问题2:如何实现多码率自适应转码直播?
回答2:可结合FFmpeg对推流进行实时转码。例如在服务器上运行FFmpeg进程:`ffmpeg -i rtmp://localhost/live/input -c:v libx264 -b:v 500k -c:a aac -f flv rtmp://localhost/live/500k -c:v libx264 -b:v 1500k -c:a aac -f flv rtmp://localhost/live/1500k`。更推荐使用专业流媒体服务器如SRS或Wowza,它们内置自适应转码和ABR(自适应码率)功能。
