1,服务器推流的流程(基于RTMP协议)
流程.png2,NGINX流媒体服务器搭建
Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务
在Linux上搭建服务器操作:
1.下载nginx
wget http://nginx.org/download/nginx-1.15.3.tar.gz
2,解压
tar xvf nginx-1.15.3.tar.gz
3,下载nginx rtmp模块(需要支持rtmp协议)
wget https://codeload.github.com/arut/nginx-rtmp-module/tar.gz/v1.2.1
4,解压
tar xvf v1.2.1
5,进入nginx目录
cd nginx-1.15.3
6.执行
#--add-module 指向rtmp模块目录
./configure --prefix=./bin --add-module=../nginx-rtmp-module-1.2.1
在这个过程中可能因为环境不同而出现不同错误,比如缺少pcre、openssl等,这时候就需要安装这些库。
https://blog.csdn.net/z920954494/article/details/52132125
7,执行Makefile
make install Makefile
8,编译安装完成后,当前目录会有个bin目录。
cd bin/conf
vim nginx.conf 修改为:
worker_processes 1;
error_log logs/error.log debug;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
application myapp {
live on;
drop_idle_publisher 5s;
}
}
}
http{
server{
listen 8080;
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
#注意目录
root /home/sven/live/nginx-rtmp-module-1.2.1/;
}
location /control {
rtmp_control all;
}
location /rtmp-publisher {
#注意目录
root /home/sven/live/nginx-rtmp-module-1.2.1/test;
}
location / {
#注意目录
root /home/sven/live/nginx-rtmp-module-1.2.1/test/www;
}
}
}
其实就是从 nginx-rtmp-module-1.2.1/test/nginx.conf
中拷贝。
端口占用检查: lsof -i:8080
需要注意的是目录与端口是否被占用,比如我的8080端口被占用,我改为了8081。
9,配置完成后,就可以启动nginx了
在nginx-1.15.3目录下执行bin/sbin/nginx即可启动(启动是否成功可以通过检测执行前后端口是否打开)
bin/sbin/nginx -s stop停止
一定要在当前目录启动,因为上面的配置 error_log logs/error.log debug; 会去执行命令的目录下查找 logs。
在浏览器输入[ip]:8080能访问就表示配置完成了
网友评论