用nginx Rtmp Module自建直播服务器
下载源码
首先准备好源码和常用编译工具(gcc之类的)
mkdir /opt/git # 这里我偷懒直接把源码下载到这了,大家自行找地方 cd /opt/git git clone https://github.com/arut/nginx-rtmp-module.git # 下载 nginx-rtmp-module wget http://nginx.org/download/nginx-1.17.7.tar.gz # 下载nginx,这里用的最新测试版,推荐大家用稳定版 tar -zxvf nginx-1.17.7.tar.gz cd nginx-1.17.7/ ./configure --prefix=/opt/nginx1.17 --add-module=/opt/git/nginx-rtmp-module # 这里是重点,添加了一个mod make && make install # 编译安装 cd /opt/nginx1.17/ vim /opt/nginx1.17/conf/nginx.conf # 开始配置 # 全部注释或删除 /opt/nginx1.17/conf/nginx.conf 中的配置
# 在配置的最高层,可以是开头或结尾,添加下面的包含 include rtmp.conf
编辑rtmp配置文件
vim /opt/nginx1.17/conf/rtmp.conf
添加如下配置
rtmp { server { listen 8883; # 我使用的自定义端口,而不是标准的1935 application vod { play /opt/nginx1.17/video; } application live{ #第一处添加的直播字段,添加了一个live应用,里面可以有很多直播间 live on; } } } http { #include mime.types; #default_type application/octet-stream; #sendfile on; #keepalive_timeout 65; server { listen 8884; #用于查看直播状态和观看直播的web页面 server_name localhost; location /stat { # 状态查看页面实例 rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl { root /opt/git/nginx-rtmp-module/; } location /control { rtmp_control all; } location /rtmp-publisher { root /opt/git/nginx-rtmp-module/test; } location / { # 直播观看页面实例 root /opt/git/nginx-rtmp-module/test/www; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
开启防火墙
firewall-cmd --add-port=8883/tcp firewall-cmd --add-port=8883/udp firewall-cmd --add-port=8884/tcp firewall-cmd --add-port=8884/udp
至此服务器搭建完成
使用
obs推流到 rtmp://【ip地址】:8883/live
在网页上查看推流情况 http://【ip地址】:8884/stat
点播视频放在服务器的 /opt/nginx1.17/video 中
vnc查看流,打开网络URL rtmp://【ip地址】:8883/live
网页查看推流和点播视频,但是不会用 http://【ip地址】:8884