用SRS搭建WebRTC流媒体服务器实战

用SRS搭建WebRTC流媒体服务器实战,第1张

WebRTC经过这么多年的发展,目前已经比较成熟的协议之一,播放也比较稳定,协议也已经成为了RFC,相应的开源项目也越来越多,但是基于WebRTC协议的部署简单,性能强悍,功能强大流媒体服务器的项目还比较稀少。之前了解到的服务器比如Mediasoup,Janus,Medooze ,要么就是设计复杂,接入成本要,要么就是性能较差,还就是多种语言结合,学习成本较高。 而SRS聚焦视频相关,功能专一,语言使用了高性能的c++,并且支持Rtmp转Webrtc等其他强大的功能的媒体服务器。

1.源码编译安装运行SRS

使用这个命令开启RTC支持

2.SRS常用命令

3.配置nginx代理

若不需要浏览器推流,可以不用设置nginx代理,使用localhost访问

注意:your 代表需要配置你自己的域名信息,由于使用浏览器推流必须使用https协议,所以我这边配置了证书

4.访问配置的域名

访问nginx配置的网址 https://webrtc.yourhost.com/

出现如下内容,则服务端架设成功

虽然整片文章看起来不复杂,流程很简单。但是官网的文档中的知识点比较分散,所以大家要想快速的搭建的话就参考我这篇文章

流媒体和服务器是两个概念

web服务器提供了流媒体播放所需要的环境,这样流媒体就可以实现点播与直播

web服务器能播放不是服务器可以播放,而是服务器支持了如flash这样视频解码,就是有客户端!流媒体,简单的包括播放客户端、通信协议、服务器基本这三块

tomcat是支持并发量的,可以支持多少客户端同时取文件播放,一般利用live555支持流的传输,并且web也不是必须用http!的看具体的情况,支持的协议rtsp http rtmp都可以

对于分布式文件访问,NFS是比较简单的,因为它是操作系统提供支持的。所以设置和使用都很简单。但NFS的性能相对不会那么好,服务器的伸缩性和管理方面也不是很好。

另外还有采用分布式文件系统的方式来实现,比如HDFS(Hoodap的分布式文件系统),但这样的开发难度较大。比较容易使用的是MongoDB提供的文件保存方式(GridFS),这也是一个分布式的文件系统,利用MongoDB可以很好实现伸缩性问题,文件的读写和数据库访问一致,使用起来也很方便。

最后,你可以通过独立的文件服务器来实现分布式访问。基本思想就是:所有文件保存在文件服务器上,对文件的访问通过统一的查找,比如数据库保存文件唯一标识和保存的服务器目录,这样也能达到分布式访问的目的。不过这种方式,需要你自己实现文件到文件保存的对应算法(有可能文件服务器是一个集群),访问文件也需要自己来控制读写。难度比较大。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/224936.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-08
下一篇2023-04-08

发表评论

登录后才能评论

评论列表(0条)

    保存