nginx 加载 nginx-rtmp-module

22 阅读3分钟

硬件

macOS m1

备注:其它操作系统的安装主流程都一样,即 "nginx如何加载外部模块"

软件

1)安装nginx

打开 "终端", 输入如下命令

brew install nginx

注意: 如果安装比较慢,最好对 brew 进行镜像设置,具体方法自查

2)验证nginx

打开 "终端", 输入如下命令

nginx -V

出现如下字样,证明安装成功。备注:出现的数字是版本号

`nginx version: nginx/1.27.5

built by clang 16.0.0 (clang-1600.0.26.6)

built with OpenSSL 3.5.0 8 Apr 2025`

3) 复制自己机器上的 nginx 源码

3.1) 源码压缩包路径

/opt/homebrew/Cellar/nginx/1.27.5/share/nginx

3.2) 复制到自己的文件

假如文件夹名为 : temp_nginx_module

3.3) 解压缩

解压缩完成后,nginx 源码会出现在 src 文件下边, 即:temp_nginx_module/src

3.4) 改名

这一步纯粹为了好看,将 src 文件夹名称修改为 brew_nginx_1.27.5, 这个新修改的文件夹名称可以由自己随意定义

4) 克隆 nginx-rtmp-module

这里将 nginx-rtmp-module 源码克隆到 temp_nginx_module 文件夹下

git clone https://github.com/arut/nginx-rtmp-module.git

备注:如果克隆失败,可以考虑 github 镜像地址,帮助文档自查

5) 添加 nginx-rtmp-module 源码到 nginx 源码中

5.1) 查看 nginx 当前已有的模块配置

在 “终端” 中,输入如下命令

ngnix -V

在结果中找关键词 "configure arguments:" , 这个词之后的内容(假设整体叫: MyNginxContent)都保存下来

5.2) 添加 nginx-rtmp-module 源码模块

通过 "终端" 进入 ”temp_nginx_module/brew_nginx_1.27.5“ 文件夹中

执行如下命令:

./configue MyNginxContent --add-module=nginx-rtmp-module源码文件夹所在的位置

MyNginxContent : 5.1) 中保存下来的内容

nginx-rtmp-module源码文件夹所在的位置 : xxx/temp_nginx_module/nginx-rtmp-module

xxx : 代表temp_nginx_module的父文件夹路径

5.3) 编译 nginx 源码

通过 "终端",在”temp_nginx_module/brew_nginx_1.27.5“ 文件夹下输入如下命令

make

5.4) 安装 通过 "终端",在”temp_nginx_module/brew_nginx_1.27.5“ 文件夹下输入如下命令

make install

5.5) 验证 通过 "终端",输入如下命令

nginx -V

不出意外的话,会出现 nginx-rtmp-module 字样

6) 配置 rtmp

在 “/opt/homebrew/etc/nginx” 路径下,打开 nginx.conf 文件

打开文件后,拉到最末端,添加如下文字命令,然后保存。

注意: 最后手动敲上去,喜欢对齐的,必须用空格

rtmp {
    server {                  # 标识为一个服务
        listen 1935;          # rtmp流服务器监听的端口号
        chunk_size 4000;      # 流复用块的大小,值越大cpu消耗越低
        application live{     # live是推拉流的路径名字
            live on;          # 开始实时直播
        }
    }
}

检查配置文件是否有问题,在 “终端” 中,输入如下命令

nginx -t

如果语法格式正确的话,会出现如下字样

nginx: the configuration file /opt/homebrew/etc/nginx/nginx.conf syntax is ok
nginx: configuration file /opt/homebrew/etc/nginx/nginx.conf test is successful

7) 启动 nginx 在 "终端" 中,输入如下命令

brew services start nginx

8) 通过 OBS 软件,验证推流

打开OBS软件,从菜单栏进入OBS 设置 菜单

WX20250516-164116@2x.png

在 控制按钮 模块中,选择 “开始直播”

如果成功,“开始直播” 按钮会变为 “停止直播”

总结

耐心一点,应该会成功,祝你好运

From harvey_fly。