#后端笔记#在CentOS上利用nginx搭建直播服务器

1、以源码安装的方式安装nginx;安装教程点击这里

2、添加nginx rtmp模块:nginx-rtmp-module;下载地址点击这里

      顺序执行以下命令:

//配置添加模块
./configure --add-module=../nginx-rtmp-module-master
//编译(执行完make不需要再执行make install,否则会替换到之前的nginx配置文件)
make
//备份nginx二进制文件
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
//替换nginx二进制文件
cp /usr/local/src/nginx-1.8.1/objs/nginx /usr/local/nginx/sbin/nginx
//重启nginx
./nginx -reload -s
//检查模块是否添加成功
nginx -V

    如果在configure arguments中能看到添加的模块的话,则证明添加成功!

  

3、配置相关参数:

     切换到nginx/conf目录下,编辑nginx.conf:vim nginx.conf;

     在events下,添加rtmp(实时消息传输协议,即直播)服务配置:

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

    application vod {
        play /usr/local/vod; 
    }
     application live{ 
        live on;
    }
    }
}

     简单说明一下,vod和live是自定义的两个应用名称,vod代表的是录播,即播放录制好的视频,play就是播放文件的存放地址;live代表的是直播,live on,也就意味着开启直播;

     location /stat {     
            rtmp_stat all;
        rtmp_stat_stylesheet stat.xsl;
    }

    location /stat.xsl { 
        root /usr/local/nginx-rtmp-module-master/;
    }

      这里设置的是查看直播状态的路径,配置成功后,可在http://ip:端口/stat下查看到当前的直播状态:

    

     绿色就是显示的就是我们刚刚配置的两个应用,红色代表的是该应用下的直播流数量,这个之后还会说到;

      配置完成之后,照例,重启nginx;

   4、测试点播功能

      播放视频的软件使用的是VLC,这个的下载地址还是比较多的,大家自行百度下载即可;

      我这里下到的中文版,所以依次选择:媒体-》打开网络串流-》网络,在URL出输入rtmp://ip/vod/1.mp4(不需要加端口号),点击播放:

      

      5、配置直播主播端:

           主播端,也就是推送视频端,我使用的是obs这个软件,也是现在直播平台主播使用的最常见的直播软件;

           安装完成后,点击左下方 来源-》"+",可以看到有很多来源,这里先选择显示器捕获;

           

           点击右下角的设置-》流-》自定义流媒体,URL就是在URL出输入rtmp://ip/live,流名称对应的就是之前说到的红框位置对应的频道,也就是直播平台里所谓的直播码,类似于一个房间的概念吧;

           

           以上配置完之后,点击开始推流,也就是开启直播;

     6、测试直播功能:

          打开VLC播放器,在刚刚输入URL的地方,输入:rtmp://ip/live/channel1,也就是在OBS中设置的流URL+流名称,点击播放,显示的就是捕捉到的屏幕信息:

     

     至此,直播服务器就已经搭建完毕,并且成功的实现了直播的功能!当然这个直播是依赖于播放器的,和我们传统意义上通过网页,或者app看直播还有些区别,因此,之后的博文,会介绍通过iframe包裹的方式,实现网页上播放直播。        

           

      

猜你喜欢

转载自blog.csdn.net/superyu1992/article/details/81167120
今日推荐