最近android项目要实现rtmp推流,就搭建了一下推流环境,踩了一些坑,学有所得,想着记录一下该过程,话不多说,上代码!!!

1、安装工具:

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

2、安装PCRE

切换到目录(非必须):cd /usr/local/src/
下载pcre:wget http://downloads.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz
解压:tar zxvf pcre-8.45.tar.gz
切换到目录:cd pcre-8.45
编译:./configure
安装:make && make install
到此PCRE安装完毕,可以使用pcre-config --version命令查看版本号验证是否安装成功

3、下载nginx

还是回到用户目录:cd /usr/local/src/
下载它:wget http://nginx.org/download/nginx-1.18.0.tar.gz

4、下载RTMP模块

下载地址:https://github.com/arut/nginx-rtmp- module
我下载的是v1.2.2版本,然后通过xftp上传到服务器备用

5、

先把nginx解压:tar zxvf nginx-1.18.0.tar.gz
解压rtmp:tar zxvf nginx-rtmp-module-1.2.2.tar.gz
切换到nginx目录下:cd /usr/local/src/nginx-1.18.0
命令: --prefix是安装位置(可调整) --add-module命令将rtmp模块添加到nginx中(刚刚rtmp的解压目录)
编译:./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.45 --add-module=nginx-rtmp-module-1.2.2
先执行命令:make
再执行命令:make install
就这样nginx和rtmp模块都已经安装完成,使用/usr/local/nginx/sbin/nginx -v验证一下版本号

6、配置文件

切换到目录:cd conf
编辑配置文件:vim nginx.conf
在你的配置文件中添加rtmp节点、需注意它与http同级,具体配置请到第四步提供的下载地址查看官方文档,此处不再赘述!

nginx arm架构rpm包 nginx rtmp模块_ffmpeg

rtmp {

server {

listen 7527;#端口号

application live {

live on;

}

}

}

保存并退出文件后回到上一级:cd …(回到/usr/local/src/nginx-1.18.0目录)

使用命令检查一下配置文件是否正确:/usr/local/nginx/sbin/nginx -t

nginx arm架构rpm包 nginx rtmp模块_nginx_02


启动nginx:/usr/local/nginx/sbin/nginx

浏览器输入localhost回车如可正常打开此界面表示nginx已正常启动!

nginx arm架构rpm包 nginx rtmp模块_配置文件_03

7、推流

这里作者采用的是ffmpeg,也可使用其它工具,可以随意搭配!这里顺便说一下ffmpeg的安装,帮助一下小白!

下载地址:https://github.com/FFmpeg/FFmpeg

下载官方提供的zip文件后解压并将解压路径添加到系统变量中!

nginx arm架构rpm包 nginx rtmp模块_配置文件_04


ffmpeg推流命令:

将本地视频推送到服务器:

ffmpeg -re -i D:\ffmpegWork\wb.mp4 -c copy -f flv rtmp://localhost:9527/live/9999

nginx arm架构rpm包 nginx rtmp模块_nginx arm架构rpm包_05

8、播放

下载一个VLC media player工具并安装,进入主界面后在界面左上角点击媒体>打开网络串流输入你的推流地址即可播放:rtmp://localhost:9527/live/9999

nginx arm架构rpm包 nginx rtmp模块_ffmpeg_06


安卓端正在开发中,后续会继续更新踩坑记录,尽情期待!