用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/

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

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

WebRTC目前已经比较成熟了,播放也比较稳定,协议也已经成为了RFC,相应的开源项目也比较多。当然我觉得WebRTC还缺一个高性能简单易用的服务器,之前也分析过现有的服务器,有各种问题,SRS很有机会解决这些问题。

目前SRS对WebRTC的支持进度如下:

相关Wiki:

在线演示,RTMP推流,HTTP-FLV和WebRTC播放:

在线演示,WebRTC推流,WebRTC播放:

自己用SRS搭建WebRTC服务器,也非常容易,下面是操作步骤。

注意:必须要将本机的IP传给Docker,否则会推流和播放失败。

可以直接传本机IP,例如: 192.168.1.3 。如果觉得直接传IP比较麻烦,可以用脚本获取IP。

macOS下执行命令,直接设置IP:

macOS下执行命令,用脚本获取IP:

CentOS下执行命令,用脚本获取IP:

启动后,可以访问 http://localhost:8080/ ,确认是否启动成功。

Docker一定要设置对这个IP,否则会出现推流和播放失败。

演示,WebRTC推流和播放,链接:

演示,RTMP推流,WebRTC播放。首先,用FFMPEG或OBS推送RTMP流到服务器:

可播放的流地址:

参考这篇文章: https://blog.piasy.com/2017/06/17/out-of-the-box-webrtc-dev-env/index.html-> AppRTC-Server 一章

主要说下注意事项:

docker 镜像pull 下来之后,运行命令如下:

其中 <server public IP> 改为自己服务器的地址

配置完成之后基本就可以正常运行了,另外要注意的是,docker 端口映射中防火墙有没有禁用相关的端口,若相关端口没有开,则手动打开,自行查询吧。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存