阿里云搭建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