背景:因工作需要,要研究一些流媒体服务器相关的技术,主要是为了搭建直播所用的服务器,本文是基于CentOS7搭建Red5流媒体服务器,利用OBS推流工具可实现简单的直播、观看功能。
本文主要介绍流媒体服务器red5的搭建,主要就是修改配置和添加到服务。
-
下载
我们可以直接从github官网下载最新版本的Red5-server,因为我们是在Linux系统搭建的环境,这里选择red5-server-1.0.9-RELEASE.tar.gz。点击跳转下载页面
下载完成之后,上传至/use/local路径下,然后就可以开始解压安装了。
[root@bogon ~]# cd /usr/local/
[root@bogon local]# ls
bin etc games include lib lib64 libexec red5-server-1.0.9-RELEASE.tar.gz
sbin share src
-
安装
首先red5是基于java,所以安装之前请先安装jdk,我这里已经安装了jdk1.8
[root@bogon ~]# java -version
openjdk version "1.8.0_65"
OpenJDK Runtime Environment (build 1.8.0_65-b17)
OpenJDK 64-Bit Server VM (build 25.65-b01, mixed mode)
我们继续,把刚才上传的red5-server-1.0.9-RELEASE.tar.gz先解压
tar -zxvf red5-server-1.0.9-RELEASE.tar.gz
解压成功后进入目录
[root@bogon local]# cd red5-server/
[root@bogon red5-server]# ls
commons-daemon-1.0.15.jar license.txt red5.bat red5.service red5-shutdown.sh work
conf log red5-debug.bat red5-service.jar shutdown.token
install-service.bat plugins red5-debug.sh red5.sh uninstall-service.bat
lib red5 red5-server.jar red5-shutdown.bat webapps
通过命令启动red5服务。
./red5.sh
后台运行使用下面的命令
nohup ./red5.sh &
好的。我们可以看到控制台已经开始飙起了日志,几秒之后看到日志停了,就像这样:
......(前面还有很多,这里就不贴出来了)
[INFO] [Loader:/oflaDemo] org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from ServletContext resource [/WEB-INF/red5-web.xml]
[INFO] [Loader:/oflaDemo] org.red5.server.Context - Setting parent bean factory as core
[INFO] [Loader:/oflaDemo] org.red5.server.scope.WebScope - Set server [Server@42441ae2map['/chat' -> 'default', '/live' -> 'default', '/vod' -> 'default', '/' -> 'default', 'localhost:5080/installer' -> 'default', 'localhost/installer' -> 'default']]
[INFO] [Loader:/oflaDemo] org.red5.server.Server - Add mapping global: default host: context: oflaDemo
oflaDemo appStart
[INFO] [pool-4-thread-1] org.red5.server.tomcat.WarDeployer - Deploy wars with app start
此时我们开启端口,测试一下。
firewall-cmd --permanent --zone=public --add-port=1935/tcp
firewall-cmd --permanent --zone=public --add-port=5080/tcp
firewall-cmd --reload
-
测试
端口开启完毕,试一下能否进入red5的管理界面。地址为你的IP加上端口号:5080
进入成功,说明red5的http服务是没有问题的.
-
推流测试
我们来测试一下直播吧,利用开源推流工具OBS。
图1设置推流地址为RED5服务器地址,看图2的右下角,绿色灯亮起表示推流成功。
-
拉流测试
拉流测试这次我使用的是VLC,打开网络串流中输入我们的拉流地址:rtmp://IP:1935/oflaDemo/串流码。
好的,没有问题,拉流成功。
-
测试直播延迟
为了测试直播延迟,我在obs中开启了显示器获取,左侧是拉流的画面,右侧是电脑本地的时间。
可见,延迟在2-3S之间。注:该测试在局域网中,非外网。
好了,在CentOS7环境下安装配置流媒体服务器Red5到此结束了。当然测试推流和拉流还可以用red5自带的demo去测试,这里就不再啰嗦了。