美文网首页毕业设计相关
在Linux上搭建基于RTMP协议的流媒体服务器

在Linux上搭建基于RTMP协议的流媒体服务器

作者: Coder_Sven | 来源:发表于2018-11-17 17:44 被阅读0次

    1,服务器推流的流程(基于RTMP协议)

    流程.png

    2,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能访问就表示配置完成了

    相关文章

      网友评论

        本文标题:在Linux上搭建基于RTMP协议的流媒体服务器

        本文链接:https://www.haomeiwen.com/subject/cqobfqtx.html