用nginx Rtmp Module自建直播服务器
Posted 晨峰说
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用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
以上是关于用nginx Rtmp Module自建直播服务器的主要内容,如果未能解决你的问题,请参考以下文章
「自己开发直播」rtmp-nginx-module实现直播状态观看人数控制
obs nginx-rtmp-module搭建流媒体服务器实现直播 ding