简单几步构建设企业流媒体服务器
在企业应用中,涉及到视频服务时,直接的应用要求即是视频的实时查看!如果使用各大平台的流媒体服务,对于针对设备的视频服务,如IPC的各种应用场景,在这个卷的时代,单台设备利润很低的终端,投入还是比较大的!其实对于90%以上的企业来说,设备的量比没有哪么大,其实简单的购买一台ECS云服务器,在上面架设一台开源稳定的视频流媒体服务器即可!
在使用各大平台的视频流媒体服务,还各种限制,价格贵不说,延时还大,想延时小就得多花钱!
这里使用开源的SRS流媒体服务,在你的设备已经提供RTSP流服务的情况下,零代码开发,即可实现本地视频的流上云,实现视频的直播或实时查看服务!
关于SRS
为什么用SRS? 简单,高效,还稳定!当前维护开发更新也很积极,实时性也很好!还是国内的开源项目,各种文档,解决方案再清楚不过了!
具体的可以查看其官网:https://ossrs.net/
编译
为什么不用docker?
因为是做C/C++的工程师,感觉什么都是自己编译一下,靠谱!
这里:https://gitee.com/ossrs/srs.git 选择一具体的稳定的版本!
下载解压后!
cd srs/trunk
./configure
make
以前编译过各种服务了,没有什么错误,用的ubuntu20系统,应该是依赖的软件安装的比较足了!
运行
编译好后,是放在根目录下的objs下的,在 conf目录下有一个 srs.conf的配置文件,具体的详细配置见文档了!
启动服务:
./objs/srs -c conf/srs.conf
# 查看SRS的状态
./etc/init.d/srs status# 或者看SRS的日志
tail -n 30 -f ./objs/srs.log
运行正常后,可以在 srs.conf配置的WEB服务里看到SRS的一些运行信息!
http://xxxx/console/en_index.html#/clients
这样SRS服务器就建好了,直下来就是设备端的视频流,如何推到平台上!
设备推流
我们在IPC设备端编译出ffmpeg的应用,使用ffmpeg这个工具来推流!到我们设备上运行如下,
ffmpeg -re -i rtsp://127.0.0.1:554/main -c copy -f flv rtmp://srs.xxx.com/live/livestream
这样我们的设备流就上平台了!
拉流观看
观看端拉流!可以直接使用web里的js播放器拉流报流,SRS也直接有集成的WEB示例了!可以直接参考!
如上面的推流地址的播放地址即是:
http://srs.xxx.com/live/livestream.flv
关于SRS的使用体验
主要服务架设很简单,在各种系统上都可以跑,就是用他来跑在一台ARM的嵌入式设备上都可行,专门用来做为一个小型的视频服务器!
用了一年多了服务稳定可靠!
实时性也很好,使用flv基本可以保证在2秒内左右的延时!
非常推荐用他来架设视频服务,不过没有搞过集群的方式!
后续想使用SRS+WEBRTC来试试对讲的效果!