搭建基于nginx-rtmp-module的流媒体服务器

时间:2022-01-08 12:20:21

1.业务流程图

搭建基于nginx-rtmp-module的流媒体服务器

 

2.软件下载

  2.1 windows下载obs

  2.2 linux 安装nginx(附加rtmp模块)

     1.cd /usr/local

     2.mkdir nginx

     3.cd nginx

     4.wget  http://nginx.org/download/nginx-1.14.1.tar.gz 

     5.wget  https://github.com/arut/nginx-rtmp-module/archive/master.zip

     6.tar -zxvf  nginx-1.14.1.tar.gz

                  7.unzip  master.zip

     8.cd  nginx-1.14.1

     9.   ./configure --add-module=/usr/local/nginx/nginx-rtmp-module-master       (编译并添加rtmp模块)

       10.make && make install

     

     启动nginx:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

     success:

    搭建基于nginx-rtmp-module的流媒体服务器

 

  2.3 yum 安装 ffmpeg

       1.先安装第三方yum源

     rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

     rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

     2.安装ffmpeg及其开发包

     yum install ffmpeg ffmpeg-devel -y

 

    输入ffmpeg,出现下图所示,ffmpeg安装成功。

               搭建基于nginx-rtmp-module的流媒体服务器

 

 

3.环境配置 

  3.1nginx配置  

#这里讲nginx server的端口都改为66,因为想同时使用nginx和apache
#全局块中增加rtmp块
rtmp { server { listen
1935; #服务端口--默认 chunk_size 4096; #数据传输块的大小--默认 #设置直播的application名称是 live application live{ live on; #live on表示开启直播模式 } #设置推流的应用名称 application push{ live on; #开启直播 push rtmp://ip地址/live; #推流到上面的直播应用 } } }


  #http块中增加 server
 server {
listen 66; #端口
server_name IP地址;
#下面两个是加上去的,用来配置直播的http访问
#具体的意思可以在github的文档中查看
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
#注意这里的路径不能错误,直接写绝对路径就可以
root /usr/local/nginx/nginx-rtmp-module-master;
}
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
 

重启nginx,浏览器输入  ip地址:66/stat,出现下图所示,则流媒体服务器搭建成功。推流,拉流时,此界面会有具体数据显示。

搭建基于nginx-rtmp-module的流媒体服务器

 

   3.2 obs推送视频流

  搭建基于nginx-rtmp-module的流媒体服务器

   录像->推流

   搭建基于nginx-rtmp-module的流媒体服务器

 

  

       3.3 vlc拉流

   媒体->打开网络串流

  搭建基于nginx-rtmp-module的流媒体服务器

 

  

  ps:以用ffmpeg来收录rtmp视频流,来生成视频文件  

  ffmpeg -i  rtmp://ip/live   -c copy  test.mp4

 搭建基于nginx-rtmp-module的流媒体服务器

  即可完成直播流传输,但是延迟很严重。。