nginx rtmp流媒体直播服务器配置
nginx是一个轻量级的web服务器,通过RTMP模块可以提供流媒体服务。RTMP没有预编译好的包,需要从源码编译。
安装nginx和RTMP模块
本文在ubuntu环境实现。安装前的编译工具准备:
$ sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev
下载nginx源码包:
$ wget http://nginx.org/download/nginx-1.15.1.tar.gz
从git上下载RTMP模块源码:
$ wget https://github.com/sergey-dryabzhinsky/nginx-rtmp-module/archive/dev.zip
解压两个压缩包,进入nginx文件夹:
$ tar -zxvf nginx-1.15.1.tar.gz
$ unzip dev.zip
$ cd nginx-1.15.1
编译带有rtmp模块的nginx:
$ ./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-dev
$ make
$ sudo make install
到此,nginx安装完成。默认安装到 /usr/local/nginx, 启动命令
$ sudo /usr/local/nginx/sbin/nginx
测试nginx是否正常工作,使用浏览器打开http://ip/,可以看到 "Welcome to nginx!" 页面。
nginx配置RTMP模块
打开配置文件,位置在/usr/local/nginx/conf/nginx.conf ,添加如下配置:
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
}
}
}
这个一个最基础的直播流配置,把RTMP流发送给请求者。
重启nginx:
$ sudo /usr/local/nginx/sbin/nginx -s stop
$ sudo /usr/local/nginx/sbin/nginx
测试
1.配置OBS推流
新建一个场景,配置如下:
Streaming Service: Custom
Server: rtmp://<your server ip>/live
Play Path/Stream Key: test
2.播放流
使用VLC v2.1.0以后版本,打开网络流文件,输入rtmp://<your server ip>/live/test 就可以看到视频了!