Centos7使用nginx搭建rtmp流媒体服务器

为什么写这篇文章

2023年10月份,公司系统中有个需求,需要使用摄像头记录工程师在维修设备时的工作状态,找到了一家做执法记录仪的厂商,通过厂商发过来的文档了解到该执法记录仪支持通过rtmp协议推流至服务器,第一次接触相关知识,研究了一下午,搞通了,特此记录,以备查阅

所需相关软件下载

https://download.csdn.net/download/qq32933432/88409654

安装nginx

我这里使用的是nginx的模块的方式,也有不依赖于nginx的,自行研究,由于rtmp模块nginx默认是不带的,需要编译自行安装

cd /usr/local
# 下载
wget https://nginx.org/download/nginx-1.9.9.tar.gz

# 解压改名
tar zxvf nginx-1.9.9.tar.gz
mv nginx-1.9.9 nginx

# 创建nginx安装目录与模块目录
mkdir -p /usr/local/nginx/module

# 创建视频数据存放位置
mkdir -p /usr/local/nginx/myapp

# 进入到/usr/local/nginx/module目录,下载nginx-rtmp-module,下载后的文件夹名叫nginx-rtmp-module,需要先安装git,也可以自己打开这个地址下载了上传到服务器/usr/local/nginx/module目录
cd /usr/local/nginx/module
git clone https://github.com/arut/nginx-rtmp-module.git

# 指定nginx安装目录并且指定了安装的模块
cd /usr/local/nginx/
yum -y install gcc‐c++ pcre pcre‐devel zlib zlib‐devel openssl openssl-devel
./configure --prefix=/usr/local/nginx --add-module=/usr/local/nginx/module/nginx-rtmp-module --conf-path=/usr/local/nginx/nginx.conf

# 编译并安装
make && make install

# 启动nginx
/usr/local/nginx/sbin/nginx &

浏览器访问服务,可以看到nginx已经启动起来了
Centos7使用nginx搭建rtmp流媒体服务器_第1张图片

配置nginx与nginx-rtmp-module

在nginx-rtmp-module中带有一个nginx.conf的配置文件,把它覆盖到nginx中的配置文件

cp /usr/local/nginx/module/nginx-rtmp-module/test/nginx.conf /usr/local/nginx/conf

修改这个文件

vi conf/nginx.conf
# rtmp节点下,在myapp下面添加:
hls on;
hls_path /usr/local/nginx/myapp; #视频存放路径

# 加vod配置
application vod {
    play /usr/local/nginx/vod/flvs;
}

Centos7使用nginx搭建rtmp流媒体服务器_第2张图片
rtmp就是用nginx搭建流媒体的简单配置

关掉nginx重新用这个配置文件启动

cd /usr/local/nginx/sbin
./nginx -s stop
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

测试

安装一个推流的软件一个拉流的软件

推流OBS
下载地址
设置一下推流服务器
Centos7使用nginx搭建rtmp流媒体服务器_第3张图片
加一个源,然后点击开始直播
Centos7使用nginx搭建rtmp流媒体服务器_第4张图片
拉流VLC
下载地址
Centos7使用nginx搭建rtmp流媒体服务器_第5张图片
Centos7使用nginx搭建rtmp流媒体服务器_第6张图片
可以看到成功了

你可能感兴趣的:(nginx,服务器,elasticsearch)