1.首先安装必要开发者工具,如gcc make cmake 等工具软件,以及wget下载软件,unzip解压软件
apt install build-essential wget unzip
2.安装nginx+rtmp运行所要用到的库和依赖环境
apt install libpcre3 libpcre3-dev
apt install zlib1g-dev
apt install openssl libssl-dev
3.下载nginx-1.20.2源码
wget -c http://nginx.org/download/nginx-1.20.2.tar.gz
4.下载nginx-rtmp-module
https://github.com/arut/nginx-rtmp-module
5.解压所ngnix源码和rtmp预编译的zip包
tar -zxvf nginx-1.20.2.tar.gz
unzip master.zip
6.进入nginx源码文件夹,进行手动编译安装。这里假设 nginx和rtmp文件夹都在 /home/userA/ 下
./configure --prefix=/usr/local/nginx-1.20.2 --add-module=/home/UserA/nginx-rtmp-module-master --with-http_ssl_module
make
make install
7.新建文件夹,用于保存nginx所形成的web服务的文件
mkdir /usr/share/nginx /usr/share/nginx/html /usr/share/nginx/html/live
chmod -R 0777 /usr/share/nginx/html/live
8.配置nginx服务,主要是设置web服务的主目录和推流到的端口、临时文件夹
vim /usr/local/nginx-1.20.2/conf/nginx.conf
8.1首先设定web服务的根目录和网页端口
找到 server {} 配置段,修改
location / {
root /usr/share/nginx/html; #主要修改了这一句,定义了web服务的根目录
index index.html index.htm;
}
注意: 如果要开启对IPV6的支持,需要在 listen 80; 下面加一行
listen [::]:80 ipv6only=on;
8.2增加如下内容,也就是设置 rtmp服务器的监听端口,推流数据的存储位置等
rtmp {
server {
listen 5678; #监听的端口
listen [::]:8089 ipv6only=on; #开启对ipV6 的支持,允许通过ipv6访问
chunk_size 4096;
application live {
live on;
record off;
allow play all;
}
}
}
9.启动nginx
/usr/local/nginx-1.20.2/sbin/nginx -c /usr/local/nginx-1.20.2/conf/nginx.conf
注:可以编辑一个nginx.service 服务,用systemd 配置为开机自启动
[Unit]
Description=Nginx Service
After=network.target
[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/local/nginx-1.20.2/sbin/nginx -c /usr/local/nginx-1.20.2/conf/nginx.conf
ExecReload=/usr/local/nginx-1.20.2/sbin/nginx reload -c /usr/local/nginx-1.20.2/conf/nginx.conf
LimitNOFILE=1048579
[Install]
WantedBy=multi-user.target
10. 使用ffmpeg 推流一个mp4视频测试一下
ffmpeg -re -stream_loop -1 -i /home/video/test_video.mp4 -f flv "rtmp://192.168.1.10:5678/live/99745321&60"
#live就是我们增加的rtmp模块的名称,99745321&60 这是一个随意编辑的推流码,拉流时需要这个来确定拉哪个视频。一个推流码,代表一个视频,可以向服务器推流多个视频。
11.使用VLCplayer 播放推流的内容
没有什么问题的话,稍等2~3秒,播放器即可打开推流的视频
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)