搭建推流直播服务器(Nginx+Nginx-rtmp-module+推流软件obs)

距离上次更新的划水文章已经过去了一个月,今天我要更新啦!
最近在研究互动直播,接触到了推流媒体服务器,以前在斗鱼直播的时候,主播后台开启直播以后有一个"rtmp地址",利用这个地址我们可以使用obs软件进行推流直播
obs是一款国外开发的用于网络直播的软件
rtmp是一种用来进行实时数据通信的网络协议
我们今天讲的是利用linux服务器搭建一个rtmp协议的推流服务器
首先我们要准备一个centos服务器和一台能正常上网的电脑
我这里用的centos的版本是7.5
使用xshell连接到服务器以后先安装一些依赖,因为有一些镜像不带这些,如果有的话可以跳过
yum -y install git
yum -y install wget
yum -y install gcc gcc-c++ autoconf make
首先我们先来安装 nginx-rtmp-module
git clone https://github.com/arut/nginx-rtmp-module.git
然后安装openssl
yum -y install openssl openssl-devel
下载nginx
wget http://nginx.org/download/nginx-1.10.3.tar.gz
解压下载好的nginx
tar -zxvf nginx-1.10.3.tar.gz
cd到nginx的目录
cd nginx-1.10.3
然后添加rtmp和openssl的支持
./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module --with-http_ssl_module
make && make install
启动nginx
/usr/local/nginx/sbin/nginx
现在你去访问你的服务器ip应该回显示nginx的页面如下图
然后我们来修改一下nginx的配置文件
vim /usr/local/nginx/conf/nginx.conf
增加一段和http同级,放在http的上面我们这里rtmp用到的是1935端口,可以去服务器的服务商开启1935端口
rtmp {
server {
listen 1935;
application rtmplive {
live on;
record off;
}
}
}
最后保存退出,这里说一下怎么操作编辑,当我们进入配置文件后,按 i 键进入编辑模式,编辑好后按 esc ,然后输入:wq(保存退出)即可
然后我们重启一下nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
安装ffmpeg
yum install -y epel-release
如果出现缺少Code提示执行下面的命令
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
安装nux-dextop
导入code
sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
安装nux
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
然后执行安装ffmpeg
yum install -y ffmpeg
到这里差不多就大功告成了,接下来我们就可以利用obs进行推流了
rtmp://www.自己的域名或者ip地址:1935/live/(live可以自己命名,播放地址推流地址一致)
在电脑上打开obs找到串流,设置好服务器地址
然后确定,返回obs添加媒体,或者是摄像头,图片媒体等等
设置好以后点击开始推流
我们可以利用videojs来解析rtmp的地址来进行观看
下面在附上一个可以解析的rtmp的videojs文件,直接放在网站目录里面就可以然后打开的url是
http://你的网站域名或者ip/videojs.php?url=你的rtmp推流地址就可以观看了
其实我们可以利用rtmp做很多事情比如家里的监控,和媒体点播等等
下个文章或者大下个文章(如果我不懒的情况下)会进阶讲如果实现rtmp推流然后切片成ts文件生成m3u8文件用http进行访问观看,还有利用废旧手机改造成监控摄像头等
这期就写一个特别简单的搭建方法
就这样了
此处内容需要权限查看
拜拜ヾ(•ω•`)o