使用nginx-rtmp-module搭建直播流媒体服务器

96
cp3_1dbc
2018.06.03 23:08* 字数 345
  1. 先下载nginx-rtmp-module
git clone https://github.com/arut/nginx-rtmp-module.git
  1. 安装nginx
    nginx的官方网站为:http://nginx.org/en/download.html
  • 安装nginx前需安装依赖的pcre、openssl,可以参考下面的方法安装
https://blog.csdn.net/z920954494/article/details/52132125
  • 安装nginx
wget http://nginx.org/download/nginx-1.8.1.tar.gz 
tar -zxvf nginx-1.8.1.tar.gz 
cd nginx-1.8.1 
./configure --prefix=/usr/local/nginx  --add-module=../nginx-rtmp-module  --with-http_ssl_module   
make && make install
  1. 搭建点播服务
  • 修改 /usr/local/nginx/conf/nginx.conf
rtmp {                #RTMP服务
    server {
        listen 1935;  #//服务端口
        chunk_size 4096;   #//数据传输块的大小

        application vod {
                play /home/chris/video; #//视频文件存放位置。
        }
}
  • 在 /home/chris/video路径下放一个flv格式的测试视频

  • 在vlc播放器通过rtmp拉流


    275$SB7RSCM6Q3QPNGD`URV.png
  • 播放效果


    2.png
  1. 搭建直播服务-rtmp拉流
  • 修改 /usr/local/nginx/conf/nginx.conf
rtmp { 
        ...
        application live { #第一处添加的直播字段
                live on;
                pull rtmp://live.hkstv.hk.lxdns.com/live/hks; #如果懒得推流,那可以用这个,香港卫视的直播推流
        }
        ...
}

这里直接使用了现成的流 rtmp://live.hkstv.hk.lxdns.com/live/hks,你也可以用obs等工具去自己推流

  • 使用nginx-rtmp-module提供的web工具查看推流信息


    3.png

    可以看到bits/s(码率)、分辨率(size)、(帧率)fps等信息。

  • 使用vlc播放器拉流


    4.png
  1. 搭建直播服务-hls拉流
    hls协议是苹果公司推出的一种基于http的协议,这篇文章对hls协议介绍的很到位 https://blog.csdn.net/weiyuefei/article/details/70257616
  • 修改 /usr/local/nginx/conf/nginx.conf
rtmp { 
        ...
        application live_hls {
                live on;
                hls on;
                hls_path /home/chris/video/hls1;
                hls_fragment 5s;
        }
        ...
}
  • 使用obs推流


    5.png
  • 使用vlc拉流
    vlc设置拉流地址

http://localhost:80/live_hls/video/index.m3u8

播放效果


6.png

到这里,一个简单的直播流媒体服务器就搭建好了。

流媒体
Web note ad 1