1.前言
要学习Android直播相关的知识,需要有一个服务器进行推流,所以写一篇快速配置nginx rtmp服务器的文章,用于记忆和备份
2.快速接入
我们需要的东西有:
- 1 linux服务器,笔者用的是阿里云 Ubuntu
- 2 nginx :笔者下载的是 wget http://nginx.org/download/nginx-1.17.0.tar.gz
- 3 nginx-rtmp 插件 :笔者下载的是 wget https://github.com/arut/nginx-rtmp-module/archive/v1.2.1.tar.gz
接下来 tar -xvf 解压这些文件,这里偷个懒直接用root用户了,所以路径分别为
/root/nginx-1.17.0 和 /root/nginx-rtmp-module-1.2.1
然后配置下 nginx的参数
执行命令
cd /root/nginx-1.17.0
./configure --prefix=./bin --add-module=../nginx-rtmp-module-1.2.1
make && make install
正常情况下直接好了,可能会提示缺少lib包 ,缺什么 sudo apt-get 获取什么
3.nginx配置
接下来bin/conf 目录下 配置nginx conf文件, ./bin/conf/nginx.conf
修改成如下内容即可
user root;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1958;
application myapp{
live on;
drop_idle_publisher 5s;
}
}
}
http {
server{
listen 8081;
location /stat{
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl{
root /root/nginx-rtmp-module-1.2.1/;
}
location /control{
rtmp_control all;
}
location /rtmp-publisher{
root /root/nginx-rtmp-module-1.2.1/test;
}
location / {
root /root/nginx-rtmp-module-1.2.1/test/www;
}
}
}
8081端口用于http访问,1958端口用于rtmp
4.启动服务和推流
./bin/sbin/nginx 命令启动 nginx服务
然后就是推流了,这里用obs软件测试,配置接收地址为
//myapp 是nginx配置文件写好的,一致即可
rtmp://ip地址:1958/myapp