搭建nginx rtmp流媒体服务器(超详细)

来源:互联网 发布:windows phone微信 编辑:程序博客网 时间:2024/06/05 17:02

阿里云搭建rtmp流媒体服务器,中间踩过一些坑,过程一步步纪录的很详细,以及碰到的一些问题。

一.工具下载

下载Nginx
wget http://nginx.org/download/nginx-1.12.1.tar.gz

下载 OpenSl

https://github.com/openssl/openssl/archive/OpenSSL_1_1_0f.tar.gz

下载 Rtmp
https://github.com/arut/nginx-rtmp-module/archive/v1.2.0.tar.gz

下载解压后目录情况如下:
这里写图片描述
二. 编译
1)编译openssl
1.进入openssl目录新建bin目录,单独存放编译的文件
执行命令 ./config –prefix=pwd/bin
执行后生成Makefile文件说明执行成功
这里写图片描述
2执行编译make install
这个过程等待数分钟
编译成功后目录如下,主要拿到so和一些头文件
这里写图片描述
2)编译nginx
1.
修改配置文件不然会报openssl库找不到错误
修改 auto/lib/openssl/conf文件
这里写图片描述
增加下面这个分支替换增加的路径

if [ $ngx_found = no ]; then            ngx_feature="OpenSSL library in //root/liushen/nginx/openssl-OpenSSL_1_1_0f/bin/include"            ngx_feature_path="/root/liushen/nginx/openssl-OpenSSL_1_1_0f/bin/include"            if [ $NGX_RPATH = YES ]; then                ngx_feature_libs="-R/root/liushen/nginx/openssl-OpenSSL_1_1_0f/bin/lib -L/root/liushen/nginx/openssl-OpenSSL_1_1_0f/bin/ -lssl -lcrypto $NGX_LIBDL"            else                ngx_feature_libs="-L/root/liushen/nginx/openssl-OpenSSL_1_1_0f/bin/lib -lssl -lcrypto $NGX_LIBDL"            fi          . auto/feature        fi

增加后截图如下:
这里写图片描述
2.生成Makefile
./configure –prefix=pwd/bin –add-module=/root/liushen/nginx/nginx-rtmp-module-1.2.0

执行成功后生成Makefile文件

3.执行编译make install
这里写图片描述

编译成功后生成bin文件

三.运行nginx
这里写图片描述
执行 ./nginx
出现错误:
这里写图片描述
解决办法:
vim /etc/ld.so.conf
加入自己so路径
/root/liushen/nginx/openssl-OpenSSL_1_1_0f/bin/lib
这里写图片描述
ldconfig 使更改的配置生效
再执行./nginx运行成功

四. 服务器配置
rtmp默认端口号1935,阿里云配置1935端口号,其他服务器配置一样。

这里写图片描述服务器配置后,访问出现这个页面说明nginx配置成功。
这里写图片描述
最后配置项目

1.替换nginx.conf

root@iZwz90hkn403d9imuy1zjvZ:~/liushen/nginx/nginx-rtmp-module-1.2.0/test# cp nginx.conf /root/liushen/nginx/nginx-1.12.1/bin/conf

修改项目
这里写图片描述
这里写图片描述
以上配置成功,就可以实现推流。

测试
使用ffmpeg工具推流,vlc播放器播放
ffmpeg -re xxxx.flv -f flv rtmp://xxxxx/myapp/mystream
这里写图片描述