简单的Nginx直播服务器搭建
一 准备工作
1、nginx下载
http://nginx.org/download/nginx-1.18.0.tar.gz
下载后放到Ubuntu系统下解压 ,tar -zxf nginx-1.18.0.tar.gz
2、rtmp module下载
https://github.com/arut/nginx-rtmp-module.git
下载后方到Ubuntu系统下 nginx-1.18.0 同级目录,解压 unzip nginx-rtmp-module-master.zip
修改解压后的文件夹名称 mv nginx-rtmp-module-master nginx-rtmp-module
3、openssl下载
https://www.openssl.org/source/openssl-1.1.1.tar.gz
下载后 解压 tar -zxf openssl-1.1.1.tar.gz
4、安装 pcre和zlib库
sudo apt install libpcre3 libpcre3-dev zlib1g-dev
二 编译安装
1、openssl编译安装
./config
make && sudo make install
2、nginx编译安装
cd nginx-1.18.0
./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module --with-http_ssl_module --with-debug
注意:如果提示缺乏库,可通过sudo apt-get install xxx安装
make && sudo make install
3、nginx配置
编译通过后就可以配置nginx了
sudo vi /usr/local/nginx/conf/nginx.conf
需要在配置文件里添加
#RTMP 服务
rtmp {
server{
#指定服务端口
listen 1935;
chunk_size 4000;
#指定RTMP流应用
application live
{
live on;
allow play all;
}
#指定 HLS 流应用
application hls {
live on;
hls on;
hls_path /tmp/hls;
}
}
}
和
location /hls {
# Serve HLS fragments
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root /tmp;
add_header Cache-Control no-cache;
}
三 运行测试
1、nginx运行
sudo /usr/local/nginx/sbin/nginx
netstat -ntpl | grep 1935
2、rtmp推流及rtmp拉流测试
ffmpeg -re -i gtx.mp4 -c copy -f flv rtmp://192.168.180.250/live/channel0
"channel0"字段可根据需要随便改名字
用vlc播放rtmp://192.168.180.250/live/channel0地址
3、rtmp推流及http拉流测试
ffmpeg -re -i gtx.mp4 -c copy -f flv rtmp://192.168.180.250/hls/channel0