小白学习音视频系列(二) 编译nginx rtmp模块

小白学习音视频系列(二)

编译nginx rtmp模块

image

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

文章目录

  • 小白学习音视频系列(二)
    • 编译nginx rtmp模块
      • 1.先下载nginx源码
      • 2.在下载nginx的RTMP模块
      • 3.准备编译源码
      • 4.使用ffmpeg推流
      • 5.使用nginx查看推流的详细信息

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;
            }
        }
}

小白学习音视频系列(二) 编译nginx rtmp模块_第1张图片

图五

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

sudo ./nginx -s reload

使用命令查看端口情况

netstat -tlanp

小白学习音视频系列(二) 编译nginx rtmp模块_第2张图片

图六

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

小白学习音视频系列(二) 编译nginx rtmp模块_第3张图片

图七

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;
            }

        }

小白学习音视频系列(二) 编译nginx rtmp模块_第4张图片

图八

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

小白学习音视频系列(二) 编译nginx rtmp模块_第5张图片

图九

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

你可能感兴趣的:(小白学习音视频)