一读就会!搭建Nginx服务器用于慢直播推流:ffmpeg+obs集成攻略
1.整体解决方案
安装nginx + Nginx-rtmp-module + ffmpeg + 本地端OBS环境,即可组件慢直播推流环境。
本次安装环境在UbuntuOS系统,腾讯轻量云服务器。
2.在UbuntuOS系统下部署Nginx服务器和Nginx-rtmp-module模块
2.1 需要nignx集合rtmp模块一起编译
2.2 安装基础依赖
$ sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev
2.3 下载nginx源码
我下载的最新源码版本是1.24版本,各位请自行寻找当前最新版本http://nginx.org/en/download.html
$ wget http://nginx.org/download/nginx-1.24.0.tar.gz
2.4 下载Nginx-rtmp-module模块
$ wget https://github.com/sergey-dryabzhinsky/nginx-rtmp-module/archive/dev.zip
2.5 解压文件
$ tar -zxvf nginx-1.15.1.tar.gz
$ unzip dev.zip
$ cd nginx-1.15.1
2.6 编译nginx
# http_ssl_module 叫模块/扩展/ 可以支持http/https访问
# nginx-rtmp-module 模块/扩展 用于推流
$ ./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-dev
$ make
$ sudo make install
2.7 查看 nignx 版本
$ /usr/local/nginx/sbin/nginx -V
3.ffmpeg安装
3.1 安装ffmpeg命令
$ sudo apt-get install ffmpeg
3.2 查看ffmpeg版本
$ ffmpeg -version
4.配置文件介绍及命令介绍
4.1 配置文件位置
# ubuntu下文件位置,修改配置文件
$ vim /usr/local/nginx/conf/nginx.conf
4.2 可执行文件位置与执行
# ubuntu下默认可执行文件位置
$ /usr/local/nginx/sbin/nginx
# nginx启动
$ /usr/local/nginx/sbin/nginx
# nginx关闭
$ /usr/local/nginx/sbin/nginx -s stop
# nginx重启
$
5.rtmp推流配置
5.1 新增rtmp推流模块
在配置文件中新增如下内容
# nginx.conf新增内容
# 新增与http配置块同级配置rtmp
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935; # rtmp推流监听端口
chunk_size 4096; # rtmp推流块大小
# application 后面跟的是网页标签
application chinamobilelive {
live on;
hls off; # 关闭HLS推流模式
record off; # 关闭直播记录
}
}
}
http {
......
}
如此配置以后,配置完服务器端的推流地址为:
# rtmp推流地址格式
rtmp://[your ip]:[your port]/[your application]
# 按照上面配置的rtmp推流地址为
# 本地推流
rtmp://localhost:1935/chinamobilelive
# 公网推流,需开放1935防火墙端口才能从外网推流过来
rtmp://[公网IP]:1935/chinamobilelive
5.2 重启nginx服务
# nginx重启
$ /usr/local/nginx/sbin/nginx -s stop && /usr/local/nginx/sbin/nginx
5.3 利用ffmpeg推本地视频资源
视频路径资源假设在"/var/ftp/test/livevideo.mp4"
,使用ffmpeg推流,会提示推流成功。
# rtmp推流地址格式
ffmpeg -re -i "/var/ftp/test/livevideo.mp4" -c copy -f flv rtmp://localhost:1935/chinamobilelive
5.4 利用OBS推远端视频
# 在OBS串流设置里设置
服务器: rtmp://localhost:1935/chinamobilelive
串流密钥: test (串流密钥可任意设置)
5.5 利用VLC访问该推流地址
6.hls推流配置
未完待续