最近有好多人问我关于Red5搭建视频直播平台的问题,总结了一下,在此开一个新教程来统一处理解决这些问题。
首先,我们先用一台Red5服务器做一个测试DEMO,用来验证我们的视频直播方案可行,服务器使用最新的1.0.7版本的Red5吧,可以到下面的地址下载:
https://yunpan.cn/ck6LdAuUhcyy8 访问密码 ecc3,
推流的服务端,我们使用现在主流的OBS(Open Broadcaster Software),可以到下面的地址下载:
https://yunpan.cn/ck6LkH6Hkrmas 访问密码 5bf5
本教程就是使用的上面两个版本的软件,如果大家有想使用的其他软件,也可以用相同的原理操作。
对了,再重复一下,我们先是验证方案的可行性,对于网络压力、集群方案等进阶技术,后面再详细探究,所以,我们会用最快速、最简单的方式搭建直播服务器与推送端。
下载Red5服务器之后,直接解压缩,点击red5.bat运行就可以了,不过,你的电脑得有Java的环境,如果没有,就安装一下吧,或者下载一个绿色版的JRE,放到与red5.bat相同的路径下,然后编辑red5.bat文件,在第一行添加下面的语句:
set JAVA_HOME=%~dp0\Jre1.8.510
Jre1.8.510是你的JRE的文件夹。
然后,下载OBS,点击安装,一切下一步就可以了,在安装的过程中,如果你的电脑很纯洁(很纯很纯),没有c++运行环境等等,安装OBS的过程中会弹出提示的,只要安装提示下载相应的环境安装就可以了。(OBS安装在你想要推流的PC上)
启动完Red5之后(直接使用Red5里面自带的推送服务),我们启动OBS,在设置页面,串流选项中,把串流类型设置为“自定义流媒体服务器”,URL填写“rtmp://你的Red5IP地址/live”,流密钥填写Demo。(具体原理略,不懂的可以直接问我,这里为了快速搭建测试,就先这么写了)
之后新建窗口捕获,捕获想要推送的窗口,点击开始串流,推送端我们就搞定了!~~~~(OBS的使用教程就不写了,不同版本的OBS设置界面有很大不同,不过原理都是一样滴)
一切OK,这个时候,我们开始准备在线观看实时推送的流数据。
客户端我们直接使用Red5服务器中自带的DEMO,具体文件在red5-server\webapps\root\demos文件夹里面,有个publisher.html文件,点击运行即可(也可以将该文件与同名的swf文件拷贝出来,放到你想要运行的电脑上)
打开页面之后,在Settings区域里面,Location填写串流服务时我们填写的URL(“rtmp://你的Red5IP地址/live”),然后在上面的Monitor区域里,Name文本框中填写DEMO,点击start按钮,就可以观看我们推送的直播流啦~~~
经过测试,1680*1050分辨率的电脑作为推送端,推送一个客户端,使用服务器的带宽大约为300+KB/s,两个就是600+,一个Red5服务器在理论上支撑300个客户端播放视频流,如果使用的用户量很大,我们就需要使用服务器集群的方式来分担服务器以及网络带宽的压力。