尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

nginx-rtmp-module:从编译到推流成功,一篇就够

nginx-rtmp-module:从编译到推流成功,一篇就够 nginx-rtmp-module从编译到推流成功一篇就够【免费下载链接】nginx-rtmp-moduleNGINX-based Media Streaming Server项目地址: https://gitcode.com/gh_mirrors/ng/nginx-rtmp-module这是个啥能带你走到哪nginx-rtmp-module 把 RTMP实时流媒体传输协议直播能力塞进 Nginx。这篇文章带你从零完成安装、配置到部署终点是推出一路真流并拉下来验证。读完你会完成三件事把模块编进 Nginx 二进制、让最小 RTMP 配置跑起来、用三条命令确认推流真的通了。三步把模块编进 NginxStep 1 拿到模块代码git clone https://gitcode.com/gh_mirrors/ng/nginx-rtmp-module它是 Nginx 的扩展单独跑不起来。源码都在仓库根目录构建脚本是同目录下的 config 文件。Step 2 拿 Nginx 源码和依赖下载一份 Nginx 官方源码解压模块必须跟着 Nginx 源码一起编。先装好 pcre、zlib、openssl 的开发包这是编译机上最常缺的三个。缺依赖configure 当场报错。Step 3 编译并安装cd nginx-1.25.x ./configure --add-module/path/to/nginx-rtmp-module make sudo make install加这个参数模块才会编进二进制。老版本 nginx1.3.14–1.5.0还要再带上--with-http_ssl_module。验证安装成功跑nginx -V 21 | grep rtmp输出里能看到--add-module...nginx-rtmp-module就说明编进去了。只改这 14 行就能推流打开主配置一般在 conf/nginx.conf总共加两个块多的一行都不用写。块 1RTMP 监听rtmp { server { listen 1935; application myapp { live on; } } }这段让 nginx 在 1935RTMP 默认端口上接推流application myapp表示地址形如 rtmp://主机/myapp/流名 的流都归它管live on打开直播转发。必须核对两个值1935 端口被别的进程占了就换以及 myapp它会成为流地址的一部分起名好记点。⚠️rtmp {}是顶层块不能塞进http {}里面这是最常见的配错姿势。块 2统计页http { server { listen 8080; location /stat { rtmp_stat all; } } }rtmp_stat all会把当前所有在线流和会话信息以 XML 吐到 /stat不用 SSH 就能看有没有人在推。8080 是随便选的跟后面验证命令对上就行。⚠️ 改完配置先nginx -t看到 syntax ok 再sudo nginx -s reload。跑起来之后用三条命令确认没配错先本地推一路测试流随便找个视频文件ffmpeg -re -i input.mp4 -f flv rtmp://localhost/myapp/mystream然后依次验证sudo ss -lnt | grep -E :(1935|8080) curl -s localhost:8080/stat | head ffplay rtmp://localhost/myapp/mystreamss 里 1935 和 8080 都应是 LISTEN 状态推流时 /stat 返回的 XML 里能看到 mystream 这个流名ffplay 弹出窗口开始播画面说明整条链路通了。仓库 test/www 下自带测试播放页推流成功后打开就能看到画面两个高频报错bind() ... 1935 failed (98: Address already in use)端口被占用sudo ss -lntp | grep 1935找到占用者或者换 listen 端口。unknown directive rtmp模块没编进二进制回去检查 configure 是否带了 --add-module重新编译安装。推流通了之后往哪走想让 H5 播放就在rtmp块里开hls产出 HLSHTTP 直播分片片段录像、on_publish 回调、relay 转推这些进阶玩法test/nginx.conf 里都有现成片段可抄。遇到问题仓库 README 开头就列了 wiki 和社区讨论组入口直接去问。【免费下载链接】nginx-rtmp-moduleNGINX-based Media Streaming Server项目地址: https://gitcode.com/gh_mirrors/ng/nginx-rtmp-module创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表