直播--如何搭建rtmp推流服务器

首先需要了解什么事rtmp协议

概念:与HTTP(超文本传输协议)同样是一个基于TCP的Real Time Messaging Protocol(实时消息传输协议)。由Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的一种开放协议 。在国内被广泛的应用于直播领域。HTTP默认端口为80,RTMP则为1935。 本质上我们通过阅读Adobe的协议规范,通过与服务器建立TCP通信,根据协议格式生成与解析数据即可使用RTMP进行直播。当然我们也可以借助一些实现了RTMP协议的开源库来完成这一过程。

然后需要了解什么是nginx服务器

概念:Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等

我们需要配置的服务器就是nginx服务器,配置流程如下:

1、下载ngix,链接地址:nginx服务器

2、执行命令tar xvf nginx-1.15.3.tar.gz进行解压得到nginx-1.15.3文件夹

3、下载nginx-rtmp-module-1.2.1模块,可以在github上下载,地址nginx-rtmp-module-1.2.1

4、进入nginx目录,执行命令./configure --prefix=./bin --add-module=../nginx-rtmp-module-1.2.1 在这个过程中可能因为环境不同而出现不同错误,比如缺少pcre、openssl等,这时候就需要安装这些库。参考错误解决方法https://blog.csdn.net/z920954494/article/details/52132125

pcre找不到

如果发现执行该命令,在目录下并没有生成bin目录,继续执行make 和make install命令

5、编译完成后,下面需要将服务器安装在当前目录的bin目录下,依次执行命令cd bin/conf  、vim nginx.conf 

6、修改nginx.conf 配置文件信息,代码如下:

user root;
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      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;
        }
    }
}

7、在nginx-1.15.3根目录下执行命令./bin/sbin/nginx  即可启动nginx服务器,其中可能会出现端口占用的情况,执行命令netstat -anp | grep 1935 ,找到进程号,杀掉即可。使用 命令./bin/sbin/nginx  -s stop停止服务。

8、验证,在浏览器中输入当前服务器的ip地址加上端口号,比如服务器192.168.14.15:8081/stat。成功会出现如下界面

直播--如何搭建rtmp推流服务器_第1张图片

9、模拟推流,使用第三方软件EV录屏,设置推流路径192.168.14.15:1935/myapp。其中1935为端口号,myapp为推流的应用

开启,刷新浏览器出现如下界面,表明推流成功了。

以上就是推流服务器搭建的全部过程。后面将会手动实现推流

你可能感兴趣的:(技术分享)