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包裹的方式,实现网页上播放直播。