【转】利用nginx搭建RTMP视频点播、直播、HLS服务器

转自https://blog.csdn.net/kingroc/article/details/50839994,略有修改
开发环境:
CentOS7
Nginx 1.14.2
nginx-rtmp-module

Nginx服务器的搭建

前面部分参考https://www.jianshu.com/p/fe7e06fb574c

  • 配置并编译nginx
    使用nginx的默认配置,添加nginx的rtmp模块
./configure --add-module=../nginx-rtmp-module-master
make
make install
  • 测试nginx能否运行
    输入/usr/local/nginx/sbin/nginx,回车
    打开浏览器,输入服务器地址,如果如下图则nginx运行成功
    【转】利用nginx搭建RTMP视频点播、直播、HLS服务器_第1张图片

点播视频服务器的配置(RTMP)

  • 编辑nginx的配置文件,配置RTMP
worker_processes  1;

events {
    worker_connections  1024;
}
rtmp {                #RTMP服务
    server {
        listen 1935;  #//服务端口 
    chunk_size 4096;   #//数据传输块的大小

    application vod {
        play /home/video; #//视频文件存放位置。
    }
    }
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

在/home/video文件夹中放入视频文件,我放入了一个music.mp4
重新启动一下nginx,/usr/local/nginx/sbin/nginx -s reload
注意,如果服务器是配置在阿里云上的话,要在安全组配置中把RTMP端口号1935配置好,否则无法播放。这里其实就是注意防火墙端口配置问题
打开视频播放软件(这里使用VLC播放器),菜单中选择“媒体”,然后选择“打开网络串流”输入点播地址rtmp://localhost/vod/music.mp4如果成功则如下图会播放相应视频。

【转】利用nginx搭建RTMP视频点播、直播、HLS服务器_第2张图片

直播视频服务器的配置

接着我们就在点播服务器配置文件的基础之上添加直播服务器的配置。一共2个位置

  • 第一处就是给RTMP服务添加一个application这个名字可以任意起,也可以起多个名字,由于是直播我就叫做它live吧,如果打算弄多个频道的直播就可以live_cctv1、live_cctv2名字任意。
  • 第二处就是添加两个location字段,字段的内容请直接看文件吧。
worker_processes  1;

events {
    worker_connections  1024;
}

rtmp {
    server { 
        listen 1935;
    chunk_size 4096;

    application vod {
        play /home/video;
    }

    application live{ #第一处添加的直播字段
        live on;
    }
    }

}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;

    location /stat {     #第二处添加的location字段。
            rtmp_stat all;
        rtmp_stat_stylesheet stat.xsl;
    }

    location /stat.xsl { #第二处添加的location字段。
        root /usr/local/nginx/nginx-rtmp-module/;# 你的rtmp模块所在文件夹
    }

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

添加完后重启nginx打开http://localhost/stat,会有下图所示

【转】利用nginx搭建RTMP视频点播、直播、HLS服务器_第3张图片

配置obs,

  • 添加媒体源,填入本地相应的视频路径


    【转】利用nginx搭建RTMP视频点播、直播、HLS服务器_第4张图片
  • 配置输出流


    【转】利用nginx搭建RTMP视频点播、直播、HLS服务器_第5张图片
  • 点击开始录制
    此时可以查看http://localhost/stat看看服务器是否接收到录制的节目。
    有支持rtmp协议的播放器就可以试试了,这里可以使用vlc播放器,输入rtmp://localhost/live/test,查看直播节目。
    【转】利用nginx搭建RTMP视频点播、直播、HLS服务器_第6张图片

你可能感兴趣的:(【转】利用nginx搭建RTMP视频点播、直播、HLS服务器)