一、安装Nginx依赖库
#安装Nginx的编译环境gcc
yum install gcc-c++或者sudo apt install gcc
二、安装pcre
wget https://ftp.pcre.org/pub/pcre/pcre-8.10.tar.gz
tar -zxf pcre-8.10.tar.gz
./configure
make
make install
三、安装zlib
wget http://prdownloads.sourceforge.net/libpng/zlib-1.2.11.tar.gz
tar -zxf zlib-1.2.11.tar.gz
./configure
make
make install
四、下载rtmp
wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1-pre9.tar.gz
tar -zxvf v1.2.1.tar.gz
五、下载OpenSSL
wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1-pre9.tar.gz
tar -zxvf OpenSSL_1_1_1-pre9.tar.gz
编译OpenSSL
./config --prefix=`pwd`/libs
make
make install
- 执行./config --prefix=
pwd
/libs如下结果 - make
- make install
六、下载Nginx,版本是nginx-1.15.3
1、创建如下目录
cd /usr/local/
2、输入如下连接下载nginx,复制链接地址
https://github.com/nginx/nginx
wget https://github.com/nginx/nginx/archive/release-1.15.3.tar.gz
tar -zxvf release-1.15.3.tar.gz
- 编译nginx
./auto/configure --add-module=/root/usr/local/nginx-rtmp-module-1.2.1 --with-openssl=/root/usr/local/openssl-OpenSSL_1_1_1-pre9
make
备注:1、/root/usr/local/nginx-rtmp-module-1.2.1 是在nginx-rtmp-module-1.2.1目录下面pwd命令获取的
2、/root/usr/local/openssl-OpenSSL_1_1_1-pre9 是在openssl-OpenSSL_1_1_1-pre9目录下面通过pwd获取的
安装PCRE、ZLIB后执行以上脚本会出现如下图所示,表示编译正确
- make 执行命令是会出现如下
- make install(生成so库) 执行命令是会出现如下
- Nginx生成目录:/usr/local/nginx
- 配置Nginx
//复制nginx.conf到/usr/local/nginx/conf/路径下面
cp /root/work/nginx/nginx-rtmp-module-1.2.1/test/nginx.conf /usr/local/nginx/conf/
- 打开/usr/local/nginx/conf/nginx.conf文件
- 验证Nginx是否在运行(ps aux | grep nginx)
- 在当前视频文件下面输入如下命令推流
ffmpeg -re -i cqz.mp4 -vcodec libx264 -acodec aac -f flv rtmp://47.106.15.76:1935/myapp/
由于没有在服务器上面设置安全组,所以会报如下错误
解决办法:添加一个安全组就可以解决问题,解决方法如下图所示
验证推流是否成功
一、启动停止Nginx
1、启动:./nginx 2、停止:./nginx -s stop
二、推流成功如下图所示:
使用ffmpeg进行推流,VLC进行拉流,我们可以看到拉流和推流的延迟大概是10秒左右
备注:我们推流的过程中,用VLC可能拉流不成功,这个时候我们需要重新关闭VLC和重新复制网络的地址:rtmp://47.106.15.76:1935/myapp/