obs+nginx直播部署 2022-04-06 网络 暂无评论 3378 次阅读 系统为centos7 安装宝塔 ``` yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ``` 1、在宝塔安全中放行1935端口 2、编译Nginx-rtmp-module模块环境 第一步,登录面板——软件商店——运行环境——Nginx——安装 ![obs-nginx-01.png](https://blog.moper.net/usr/uploads/2022/04/33370389.png) 第二步,选择版本——编译安装——自定义模块 ![obs-nginx-02.png](https://blog.moper.net/usr/uploads/2022/04/3405557327.png) 第三步,自定义编译模块参数 ![obs-nginx-03.png](https://blog.moper.net/usr/uploads/2022/04/1072634568.png) 模块名称:`nginx_rtmp_module` 模块描述:`nginx_rtmp_module` 模块参数:`--add-module=/www/server/nginx/src/nginx-rtmp-module` 前置脚本: ``` #安装依赖库 yum install libmaxminddb-devel -y #下载第三方扩展源码 git clone https://github.com/arut/nginx-rtmp-module.git ``` 点击“提交”。第四步,返回前面一个页面 点击“提交”进行编译并安装。 ![obs-nginx-04.png](https://blog.moper.net/usr/uploads/2022/04/4030486278.png) 3、打开/www/server/nginx/conf/nginx.conf或选择软件商店->nginx->设置->配置修改 在`http{`前加上如下内容: ``` rtmp_auto_push on; rtmp { server { listen 1935;#监听的端口 chunk_size 4000; notify_method get; #HLS 直播流配置 application hls { live on; hls on; #录像配置 record all; record_path /www/wwwroot/aaa.com/rec; record_suffix -%Y-%m-%d-%H_%M_%S.flv; hls_path /www/wwwroot/aaa.com/live; #视频流存放地址 hls_fragment 5s; hls_sync 100ms; hls_playlist_length 10s; hls_continuous on; #连续模式。 hls_cleanup on;#对多余的切片进行删除。 hls_nested on;#嵌套模式。 # convert recorded file to mp4 format exec_record_done ffmpeg -y -i $path -acodec copy -vcodec libx264 /www/wwwroot/aaa.com/rec/$basename.mp4; } application vod { play /www/wwwroot/aaa.com/vod; #点播媒体文件存放目录 } # Video on demand #application vod { # play /www/tmp/Videos; #} # Video on demand over HTTP #application vod_http { # play http://localhost:8080/vod/; #} } } ``` exec_record_done语句后执行的为flv转mp4命令,里面相关参数的含义如下 ``` $name 推流名称 (room1) $path 录像文件路径 (/User/user1/live/record/room1.flv) $filename 省略目录的路径 (room1.flv) $basename 扩展名省略的文件名 (room1) $dirname 目录路径 (/User/user1/live/record) ``` 4、添加站点aaa.com,在nginx的站点配置文件中加入 ``` location /stat { rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl { root /www/server/nginx/src/nginx-rtmp-module/;#替换成nginx-rtmp-module安装目录 } location /hls { #添加视频流存放地址。 types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; } #访问权限开启,否则访问这个地址会报403 autoindex on; alias /www/wwwroot/aaa.com/live; #视频流存放地址,与上面的hls_path相对应 expires -1; add_header Cache-Control no-cache; add_header Access-Control-Allow-Origin *; } location /mylive { types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; } root /www/server/nginx/src/nginx-rtmp-module; add_header Cache-Control no-cache; add_header Access-Control-Allow-Origin *; } ``` 5、打开ftp连入aaa.com的根目录。创建live、rec、vod文件夹。可以同时建立player文件夹,存放html5播放器。vod目录为rtmp点播服务器存放文件处,可以通过rtmp协议直接拉取已发布视频。可以用的html播放器已打包,可解压在player文件夹。 [player.zip](https://blog.moper.net/usr/uploads/2022/04/2914856031.zip) 6、安装FFMPEG支持,可根据Linux下编译安装,或静态库下载安装。 7、在DNS上指定rtmp.aaa.com解析为服务器IP 8、obs开启测试,设置推流地址为rtmp://rtmp.aaa.com/hls 串流密钥为直播流名称,会在live文件夹下自动建立文件夹,直播结束后自动删除。 假设串流密钥为bbb。 各地址如下 推流服务器状态 http://rtmp.aaa.com/stat 网页html5播放地址为 http://rtmp.aaa.com/player/index.html VLC播放器播放 hls模式直播播放 http://rtmp.aaa.com/live/bbb/index.m3u8 rtmp模式直播播放 rtmp://rtmp.aaa.com/hls/bbb vod点播播放,11为测试文件 rtmp://rtmp.aaa.com/vod/11.flv rtmp://rtmp.aaa.com/vod/11.mp4 参考 https://www.bt.cn/bbs/forum.php?mod=viewthread&tid=51618&extra=&highlight=Nginx-rtmp-module&page=1 https://blog.csdn.net/bowenxu11/article/details/107719679 https://www.bt.cn/bbs/forum.php?mod=viewthread&tid=50856&highlight=Nginx-rtmp-module 标签: nginx, obs 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。