下载nginx
http://nginx.org/en/download.html
wget http://nginx.org/download/nginx-1.14.1.tar.gz
下载openssl
https://github.com/openssl/openssl
wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_0f.tar.gz
nginx编译需要opensll
so 头文件
下载nginx-rtmp
https://github.com/arut/nginx-rtmp-module
1.2.0版本
tar -xzf xxx.tar.gz 解压所有下载文件
编译
进入openssl目录
1. mkdir bin 建立一个bin目录
2. 执行下面命令
./config --prefix=`pwd`/bin
3. 执行make install
4.回到Nginx目录(开始编译nginx)
执行
./configure --prefix=`pwd`/bin --add-module=/ngnix/nginx-rtmp-module-1.2.0
生成makefile文件
有坑
解决方案 sudo apt-get install libpcre3 libpcre3-dev
再次执行./configure --add-module=/ngnix/nginx-rtmp-module-1.1.10
解决方案
if [ $ngx_found = no ]; then
# MacPorts
ngx_feature="OpenSSL library in /ngnix/openssl-OpenSSL_1_1_0f/"
ngx_feature_path="/ngnix/openssl-OpenSSL_1_1_0f/bin/include"
if [ $NGX_RPATH = YES ]; then
ngx_feature_libs="-R/ngnix/openssl-OpenSSL_1_1_0f/bin/lib -L/ngnix/openssl-OpenSSL_1_1_0f/bin/lib -lssl -lcrypto $NGX_LIBDL"
else
ngx_feature_libs="-L/ngnix/openssl-OpenSSL_1_1_0f/bin/lib -lssl -lcrypto $NGX_LIBDL"
fi
. auto/feature
fi
修改/ngnix/nginx-1.14.1/auto/lib/openssl里面的conf文件
再次执行 ./configure --prefix=`pwd`/bin --add-module=/ngnix/nginx-rtmp-module-1.2.0
执行sudo apt-get install zlib1g-dev
再次执行 ./configure --prefix=`pwd`/bin --add-module=/ngnix/nginx-rtmp-module-1.2.0
成功了
真正编译
make install
make之后会多出一个bin目录
来到这个目录
执行
./nginx
在vim /etc/ld.so.conf
加入
/ngnix/openssl-OpenSSL_1_1_0f/bin/lib
ldconfig 运行刚刚的配置
配置阿里云服务器打开端口
nginx默认是80端口 我们可以改
修改 /ngnix/nginx-1.14.1/bin/conf ngnix.conf
server {
listen 80;把这个改了就可以
如果配置流媒体服务器
我们需要把/ngnix/nginx-rtmp-module-1.2.0/test 的 nginx.conf 替换 /ngnix/nginx-1.14.1/bin/conf的 nginx.conf
修改nginx.conf内容
重启服务
下载ffmpeg推流
http://www.ffmpeg.org/download.html#releases
下载Snapshot
跳转到ffmpeg-20170915-6743351-win64-static\ffmpeg-20170915-6743351-win64-static\bin目录
在这个地方打开cmd 执行下面命令
ffmpeg -re -i E:\ss.flv -f flv rtmp://94.191.92.69/myapp/mystream
直播推流