SRS是目前较为流行的一款开源流媒体服务器,通过简单部署就可以实现大部分流媒体功能,并且支持多种流媒体协议,支持多种流媒体播放器和播放格式。包括,RTMP、WebRTC、HLS、HTTP-FLV、SRT等多种流媒体协议。
SRS具有部署简单,提供了多种安装方案Docker镜像、K8s部署、可观测性日志和监控指标等,提供云SRS无门槛应用。SRS是高性能流媒体服务器,是同类服务器的2~3倍性能,提供非常完整的概念和一致性设计,实现高效的流媒体应用。
但是在各种项目中,视频转码一般不建议与SRS的流媒体服务器在同一台设备上运行,这也是目前各种视频流媒体项目中的主流方案,转码交由专用的转码服务器来处理,流媒体只负责视频流的推流、拉流操作。SRS如何配置安装配置外置转码服务器呢?我们从安装一台SRS开始给大家演示,如何实现开源流媒体软件SRS与外置转码服务器的整合应用。
SRS的安装
SRS提供多种安装方案,提供了Docker镜像和源码安装,这里给大家演示源码安装的方案。SRS推荐安装CentOS7系统,可以在阿里云的镜像网站下载CentOS7系统,速度比较快
http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/
CentOS7安装后,以root用户登录,下载SRS代码
#git clone -b 4.0release https://gitee.com/ossrs/srs.git
编译代码要进入到srs/trunk目录
#cd srs/trunk
#./configure
#make
启动服务器:
#./objs/srs -c conf/srs.conf
通过命令查看SRS流媒体服务器是否启动
#./etc/init.d/srs status
然后登录WEB界面,查看是否启动成功。http://localhost:8080/。 localhost是你CentOS系统的IP地址,本文示例是http://192.168.2.111:8080/
到以上部署,SRS流媒体服务器就安装完了,如你无法打开这个界面,可能是你的CentOS系统防火墙没有关闭,关闭即可。
配置新领信通的PRN1600实时转码服务器
下面我们来配置新领信通的PRN1600实时转码服务器。PRN1600实时转码服务器是采用嵌入式硬件转码的专用转码服务器,可以支持多路4K视频转码,16路1080P视频转码,支持H.264、H.265、VP8、VP9等编码格式,兼容WebRTC、SIP、GB28181、RTP、RTSP、RTMP等多种流媒体协议。
给大家演示一下,通过使用OBS推流一个4K的视频到PRN1600实时转码服务器,由转码服务器实时转码为720P后,推流给SRS流媒体服务器,再由终端播放。本示例中,流媒体服务器IP地址192.168.2.111,实时转码服务器192.168.2.178
我们在PRN1600实时转码服务器中配置一个转码策略。
我们看以上配置策略名,ts。是OBS推流给实时转码服务器的规则,目的地址是将这路视频流转码后推流给SRS流媒体服务器。
通过以上配置我们就完成了使用OBS推送一个4K视频流媒到实时转码服务器,同时将这路视频转换为702P后再推流给SRS的过程。
我们在实时转码服务器的状态显示中,可以清晰的看到,当前视频输入、输出的情况,以及编码转换的情况。
我们现在可以通过各种浏览器,通过SRS流媒体服务器看到的是转码后的720P视频,当然这里演示的是一个示例有,实际上实时转码服务器可以转发多路不同分辨率不同格式的视频,以适配不同环境下的终端,减轻SRS的转码压力。
并且实时转码服务器支持SIP协议的接入,可以将视频流媒体与通信系统打通,实现转码能力。后续会给大家介绍SRS与SIP的整合,实时转码服务器的融屏推送SRS等应用。可以广泛应用在应急指挥,在线教育等行业的应用示例。