Nginx-RTMP:搭建流服务器实现点播、直播功能

运行环境
配置信息 描述
Centos Centos7
Nginx版本号 v1.16.0
服务器配置 1核2G
Step1 下载Nginx-v1.16
  1. 官网下载Nginx,Github下载Nginx-rtmp-module
Step2 解压Nginx.tar.gz、Nginx-rtmp-module.zip,执行安装
  1. 进入Nginx解压目录执行配置命令(注意–add-module指令,这里指定Nginx-rtmp-module的解压路径)
    ./configure --prefix=/usr/local/nginx --add-module=/opt/nginx-rtmp-module --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-pcre
  2. 在Nginx解压目录执行
    make && make install
Step3 配置nginx.conf文件实现点播、直播功能
  1. 点播、直播功能的配置,无关的配置信息本文不展示(nginx.conf文件路径:/usr/local/nginx/conf/nginx.conf
  2. 根据配置信息生成了点播地址和直播地址
    直播地址:rtmp://127.0.0.1:1935/live/xxxxx
    点播地址:rtmp://127.0.0.1:1935/vod/xxxxx
#user  nobody;
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 1935;
        chunk_size 4000;
        
        # 直播:开启直播功能
        application live {
           live on;
        }

        # 点播:视频存储路径
        application vod {
            play /opt/video;
        }
    }
}

# HTTP can be used for accessing RTMP stats
http {
    server {
        listen      8080;
        
        # This URL provides RTMP statistics in XML
        location /stat {
            rtmp_stat all;
            
            # Use this stylesheet to view XML as web page
            # in browser
            rtmp_stat_stylesheet /opt/nginx-rtmp-module/stat.xsl;
        }
        
        location /stat.xsl {
            # XML stylesheet to view RTMP stats.
            # Copy stat.xsl wherever you want
            # and put the full directory path here
            root /opt/nginx-rtmp-module/stat.xsl/;
        }
    
    }
}

  1. 点播功能
    拉流软件使用VLC,也可以使用其他支持打开网络串流的播放软件。
    Nginx-RTMP:搭建流服务器实现点播、直播功能_第1张图片
    Nginx-RTMP:搭建流服务器实现点播、直播功能_第2张图片
    Nginx-RTMP:搭建流服务器实现点播、直播功能_第3张图片
  2. 直播功能
    PC端推流软件使用OBS Studio,拉流软件使用VLC
    OBS配置推送服务器信息:
    Nginx-RTMP:搭建流服务器实现点播、直播功能_第4张图片
    开始推流:Nginx-RTMP:搭建流服务器实现点播、直播功能_第5张图片
    开始拉流:
    Nginx-RTMP:搭建流服务器实现点播、直播功能_第6张图片
    播放成功(左侧是推流 --> RTMP流服务器 --> 右侧是拉流):
    Nginx-RTMP:搭建流服务器实现点播、直播功能_第7张图片
    APP端拉流:
    Nginx-RTMP:搭建流服务器实现点播、直播功能_第8张图片
    可能是网络问题,直播的过程中出现卡顿、丢帧的问题。经过测速后,我认为是网络带宽不足引起的。测速地址:SPEEDTEST
    Nginx-RTMP:搭建流服务器实现点播、直播功能_第9张图片

你可能感兴趣的:(Nginx-RTMP:搭建流服务器实现点播、直播功能)