2-编译nginx rtmp模块

  1. 1.先下载nginx源码
  2. 2.在下载nginx的RTMP模块
  3. 3.准备编译源码
  4. 4.使用ffmpeg推流
  5. 5.使用nginx查看推流的详细信息

image

关注微信号:cpp手艺人,获取更多文章

1.先下载nginx源码

创建一个新的目录

mkdir nginx

cd nginx

wget http://nginx.org/download/nginx-1.18.0.tar.gz

下载完源码之后,解压nginx

tar zxvf nginx-1.18.0.tar.gz

2.在下载nginx的RTMP模块

同样在nginx目录下

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

注意你的目录结构应该如下所示:
image

图一

3.准备编译源码

进入到nginx源码目录中

cd nginx-1.18.0

image

图二

注意把上面的rtmp-module模块的路径替换为你的路径,下面的是我路径

./configure –add-module=/home/game/nginx/nginx-rtmp-module

configure结束后,执行下面的编译和安装

make && make install

如果在编译过程中报出什么库没有安装的,就执行apt-get install lib_name
比如:

sudo apt-get install zlib1g-dev

至此编译完成之后,nginx会安装到/usr/local/nginx,启动nginx

sudo /usr/local/nginx/sbin/nginx

我们使用浏览器访问下看看nginx有没有起来。在浏览器中输入:http://you_ip_host
比如我的:192.168.26.31
如果你发现不能访问,先查看下nginx进程存不存在

ps -ajx | grep “nginx”

image

图三

如果进程存在还不能访问,很大概率上是80端口被禁用了。

sudo ufw allow 80

注意这里的命令,sudo uwf allow 80,上一篇文章写错了,感谢一位网友的提出

image

图四

4.使用ffmpeg推流

1.首先需要配置下nginx.conf文件

在nginx的安装目录中找到nginx.conf文件,写入如下的配置

例如我的配置文件在:/usr/local/nginx/conf/nginx.conf

rtmp {
    server {
            listen 1935;
            chunk_size 4096;
            application live
            {
                live on;
            }
        }
}

image

图五

注意我已经cd /usr/local/nginx/sbin目录下 配置完成之后,重新加载配置

sudo ./nginx -s reload

使用命令查看端口情况

netstat -tlanp

image

图六

2.使用ffmpeg准备推流

ffmpeg 推流

ffmpeg.exe -i 006.mp4 -f flv rtmp://192.168.26.31/live

ffplay 拉流

ffplay.exe rtmp://192.168.26.31/live -fflags nobuffer

image

图七

5.使用nginx查看推流的详细信息

1.在nginx中配置添加如下的信息:

    server {
            listen 8080;
            location /stat {
                    rtmp_stat all;
                    rtmp_stat_stylesheet stat.xsl;
            }

            location /stat.xsl {
                    root /home/game/nginx/nginx-rtmp-module;
            }

        }

image

图八

2.我们在浏览器中输入:192.168.26.31:8080/stat

image

图九

好,至此,nginx源码编译已经结束。虽然走了点弯路,但是你还是会成功的。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 635672377@qq.com

文章标题:2-编译nginx rtmp模块

文章字数:597

本文作者:刘世雄

发布时间:2020-06-08, 19:18:58

最后更新:2020-06-08, 11:20:22

原始链接:http://lsxcpp.com/2020/06/09/2-%E7%BC%96%E8%AF%91nginx-rtmp%E6%A8%A1%E5%9D%97/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录