2022-06-29 银河麒麟V10 Nginx-rtmp+FF
银河麒麟V10
系统信息
2022-06-29_10-06-50.png
FFmpeg
下载源码
https://github.com/FFmpeg/FFmpeg/releases/tag/n3.4.11
这里下载tag版,也是笔记时间最新的版本
下载完成后你将得到FFmpeg-n3.4.11.tar.gz压缩包
使用命令tar -xvf FFmpeg-n3.4.11.tar.gz解压这个压缩包,得到FFmpeg-n3.4.11文件夹
进入FFmpeg-n3.4.11文件夹执行命令./configure --enable-shared --disable-yasm --prefix=/home/lib/ffmpeg.n3.4.11,配置FFmpeg的安装信息
执行命令make install安装FFmpeg,这个过程需要一段时间
安装完成后进入/etc/ld.so.conf.d文件夹,执行命令touch ffmpeg.conf,创建FFmpeg的配置文件
编辑该文件输入/home/lib/ffmpeg.n3.4.11/lib保存,执行ldconfig命令使其生效
进入/etc文件夹,编辑profile文件,在文件最后添加一行输入export PATH=$PATH:/home/lib/ffmpeg.n3.4.11/bin并保存,执行命令source /etc/profile使其生效
然后在命令行里面就可以使用FFmpeg了
2022-06-29_10-12-42.png
Nginx-rtmp
下载Nginx源码
http://nginx.org/en/download.html
笔者这里下载的是nginx-1.16.1
下载完成后你将得到nginx-1.16.1.tar.gz压缩包
执行命令tar -xvf nginx-1.16.1.tar.gz解压nginx压缩包,得到nginx-1.16.1文件夹
使用Git命令在nginx-rtmp模块的仓库中下载源码
这里笔者在GitHub网站上面也下载过tag版本的,但是在安装过程中会有错误,但是在仓库下载最新的代码就可以
git clone https://github.com/arut/nginx-rtmp-module.git
下载完成后你会有nginx-1.16.1和nginx-rtmp-module2个文件夹
进入nginx-1.16.1文件夹,执行命令./configure --add-module=../nginx-rtmp-module --with-http_ssl_module配置Nginx安装信息
执行命令make install安装nginx
安装完成后在/usr/local会出现一个nginx文件夹
执行命令/usr/local/nginx/sbin/nginx启动nginx
在浏览器中访问localhost:80,可以看到nginx的主页,说明安装成功
2022-06-29_10-23-28.png
执行命令/usr/local/nginx/sbin/nginx -s stop停止nginx
进入/usr/local/nginx/conf文件夹,编辑nginx.conf文件
可以修改nginx的默认端口,并且在http节点同级节点添加rtmp服务器的配置,在配置中你可以根据规则配置你的服务器或者参数
rtmp {
server {
listen 81;
chunk_size 4096;
application live {
live on;
}
}
}
完整信息如下
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
rtmp {
server {
listen 81;
chunk_size 4096;
application live {
live on;
}
}
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
这里添加rtmp节点表示创建rtmp服务器,名称是live,端口是81
执行命令/usr/local/nginx/sbin/nginx启动nginx,如果没有出现错误,就说明配置生效了,可以执行命令netstat -ntulp | grep 81查看rtmp服务器端口是否使用了
这样一个rtmp服务器就开启成功了,服务器地址是rtmp://ip:81/live
VLC
执行命令apt install vlc安装VLC
执行vlc启动VLC客户端软件
2022-06-29_10-33-36.png
推流
使用FFmpeg将本地的一个视频文件循环的往rtmp服务器中推流
ffmpeg -re -stream_loop -1 -i /home/1.mp4 -vcodec copy -f flv rtmp://localhost:81/live/test
执行命令ffmpeg -re -stream_loop -1 -i /home/1.mp4 -vcodec copy -f flv rtmp://localhost:81/live/test命令将本地的1.mp4视频文件循环的往rtmp服务器中推流
看到此信息就说明rtmp流媒体服务器搭建成功
拉流
在VLC中打开网络串流,URL输入推流指定的rtmp地址,本文中的就是[rtmp://localhost:81/live/test]