步骤 1:安装依赖
1、安装基础开发工具和依赖库
sudo yum install -y epel-release
sudo yum groupinstall -y "Development Tools"
sudo yum install -y pcre-devel openssl-devel zlib-devel wget git
sudo yum install openssl openssl-devel
1、以上同时下载并安装了git,后面拉取RTMP模块源码需要用到,如果已安装git,上面
wget git
可以去掉
groupinstall可能会报错,执行以下命令刷新缓存:
yum clean all
yum makecache
步骤 2:下载Nginx和RTMP模块源码
1、 创建工作目录
mkdir ~/rtmp_server && cd ~/rtmp_server
2、下载Nginx源码(以1.27.3版本为例)
wget https://nginx.org/download/nginx-1.27.3.tar.gz
tar -zxvf nginx-1.27.3.tar.gz
3、下载nginx-rtmp-module源码
git clone https://github.com/arut/nginx-rtmp-module.git
步骤 3:编译并安装Nginx
cd nginx-1.23.3
1、配置编译参数(包含RTMP模块)
./configure \
--prefix=/usr/local/nginx \
--add-module=../nginx-rtmp-module \
--with-http_ssl_module \
--with-http_v2_module
2、编译并安装
make && sudo make install
步骤 4:配置Nginx支持RTMP
1、编辑配置文件 /usr/local/nginx/conf/nginx.conf,在文件末尾添加以下内容:
rtmp {
server {
listen 1935; # RTMP默认端口
chunk_size 4096;
application live {
live on;
hls on // 开启hls
hls_path /tmp/hls;
hls_fragment 3s;
hls_playlist_length 60s;
record off; # 关闭录制
allow publish all; # 允许推流
allow play all; # 允许拉流
}
}
}
步骤 5:启动Nginx并开放防火墙
1、启动Nginx
sudo /usr/local/nginx/sbin/nginx
2、开放防火墙端口(CentOS 7+,如果关闭了防火墙,则不需要配置端口策略)
sudo firewall-cmd --permanent --add-port=1935/tcp
sudo firewall-cmd --permanent --add-port=80/tcp # 如果需要HTTP访问
sudo firewall-cmd --reload
步骤 6:测试RTMP服务器
推流测试
可以使用OBS或其他推流工具,设置服务器地址为(下章节分享javacv实现推流到rtmp服务,记得点赞收藏加关注哦):
rtmp://你的服务器IP:1935/live
流密钥(Stream Key)自定义,例如:test
拉流测试
使用VLC或其他播放器,打开URL:
rtmp://你的服务器IP:1935/live/test