[!tip] 参考文档直播流转码 采用
ubuntu20.04进行安装,centos自行替换 文章的nginx版本为1.8.1,新版本的插件不支持,所以用的1.20.2所需环境软件包
[!tip]
nginx-flv-module基于nginx-rtmp-module进行开发,所以安装flv模块后可以直接用
- nginx
- nginx-http-flv-module
- 推流工具
obs或者ffmpeg- 播放工具
vlc或者flv在线播放工具
配置编译前置环境pcre库,可能还需要zip g++等库来解压或者编译
非
ubuntu可跳过sudo apt-get install libpcre3 libpcre3-dev你可能还需要安装,安装时没出现
sudo apt-get install openssl libssl-devcentos
非
centos可跳过yum -y install unzip yum -y install gcc-c++ yum -y install pcre pcre-devel yum -y install zlib zlib-devel yum -y install openssl openssl-devel
下载对应的数据包nginx-flv-module以及nginx
[!tip] 下载
nginx-flv-module模块,如果下载不动可以选择下载zip然后在解压 可选克隆方案,或者下载zip方案克隆方案
git clone https://github.com/winshining/nginx-http-flv-module.gitzip方案
wget https://github.com/winshining/nginx-http-flv-module/archive/refs/heads/master.zip unzip nginx-http-flv-module-master.zip
下载编译nginx
下载并解压
nginx,选择版本为1.20.2wget http://nginx.org/download/nginx-1.20.2.tar.gz tar -zxvf ./nginx-1.20.2.tar.gz cd ./nginx-1.20.2为
nginx添加flv模块,--add-module可以多次输入,等号后接模块路径 为防止权限问题,make install 用sudo进行获取权限./configure --prefix=/usr/local/nginx --add-module=../nginx-http-flv-module make sudo make install
nginx
nginx的二进制文件在 对应目录下sbin文件夹内
配置
nginx,编辑nginx配置文件sudo vim /usr/local/nginx/conf/nginx.conf配置参考
#定义Nginx运行的用户和用户组 user nginx nginx; #nginx进程数,建议设置为等于CPU总核心数。 worker_processes 8; #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ] error_log /home/nginx/log/error.log info; events { worker_connections 1024; } rtmp { server { listen 1988; chunk_size 4000; notify_method get; #直播 application live { live on; publish_notify on; # 这个地址可以用来作权限验证,可以不填写,内部内容自行查找 # on_publish http://127.0.0.1:80/on_publish.php; } #点播 application vod { play /tmp/video; } } } http { # http监听地址,可以忽略 server { listen 80; server_name localhost; } # flv转发地址 server { # 端口 listen 19123; server_name localhost; location / { add_header 'Access-Control-Allow-Origin' '*'; root html; index index.html index.htm; } # 原始流地址 location /live { flv_live on; } # 转换为flv后的流地址 请求时 ip:port/flv location /flv { add_header 'Access-Control-Allow-Origin' '*'; flv_live on; chunked_transfer_encoding on; } } }查看配置是否正确
nginx -t[!tip] 进入到nginx目录下的sbin文件夹执行目录 问题自行解决,无效配置会提示sudo ./nginx -t启动
nginxsudo ./nginxTips:停止nginx服务
./nginx -s stop./nginx -s stop重新加载配置
./nginx -s reload./nginx -s reload通过以上配置,即可完成服务端的直播环境配置。
查看是否启动成功
[!tip] 如果没有返回,代表没启动成功,检查配置. 浏览器访问
ip,有显示nginx即可sudo lsof -i:19123 sudo lsof -i:1988 sudo lsof -i:80测试推流
使用
obs进行推流