SRS官方文档和学习路径

SRS的文档很多很全,不过还是需要推荐学习路径,这样能进一步降低学习曲线。希望大家一定要花时间好好看,不能低估音视频的门槛,不能高估自己的聪敏程度。磨刀不误砍柴工,何况这柴是真的非常难,比你之前了解的任何技术都难。

文章中有较多的链接,链接地址是在文末尾的。也可以点文末尾的阅读原文,查看本文在简书上的版本,链接会比公众号的链接更友好一些,可以直接跳转。

快速预览

先过第一个门槛:看到直播和WebRTC长什么样子,能跑出来下图的效果,需要5~15分钟左右。

图片

Note: 这个看似很容易,甚至直接在SRS官网[1]中就能点开两个页面,但是一定要自己用SRS搭建出来才算,而不是直接打开线上的演示网页。

具体怎么做呢?有两个选择:

•使用Docker,请按照Usage: WebRTC for macOS[2]或for CentOS[3]的命令,将SRS服务和FFmepeg推流跑起来。如果你已经有Docker了,这个步骤不会超过5分钟。•使用源代码编译,请按照SRS: Usage[4],从gitee中下载代码和编译。编译的时间会稍微长一些,估计15分钟之内肯定可以做好。

接触一个新的东西,首先就要有直观的体验和感觉,这个门槛虽然看起来很简单,但是它涉及到了音视频的几乎全链路的东西:

•FFmpeg,强大的音视频客户端,推拉流和编解码,以及各种处理的能力。•Chrome(或浏览器),H5是最便捷的客户端,非常方便演示和学习,SRS功能基本上都有H5的演示。•音视频协议:RTMP,HTTP-FLV,HLS和WebRTC,这些操作步骤中,已经涉及到了这些协议,也是实际应用中典型的用法。•SRS服务器,自己部署音视频云,或者提供音视频的云服务,SRS本质上就是视频云的一种服务器。

Note: 上面的拼图还缺少移动端,其实移动端只是一种端,而并没有新的协议,也可以下载SRS直播[5]客户端,体验上面的推流和播放,也可以输入你的服务器的流地址播放。

深入场景

第二个门槛:了解音视频应用的各个典型场景,大约五个核心场景,总共需要3~7天左右。

请根据Github: Wiki[6],或者国内请访问Gitee: Wiki[7],这里详细描述了各个场景会使用到的技术,内容都是一样的,Wiki会同步更新到Github和Gitee。

典型的音视频业务场景,包括但不限于:

•全平台直播,小荷才露尖尖角。只需要上图的Encoders(FFmpeg/OBS)推送RTMP到SRS[8];一台SRS Origin(不需要Cluster),转封装成HTTP-FLV流[9]、转封装成HLS[10];Players根据平台的播放器可以选HTTP-FLV或HLS流播放。•WebRTC通话业务,一对一通话多人通话,会议室等。WebRTC[11]是SRS4引入的关键和核心的能力,从1到3秒延迟,到100到300毫秒延迟,绝对不是数字的变化,而是本质的变化。•监控和广电上云,各行业风起云涌。除了使用FFmpeg主动拉取流到SRS[12],还可以广电行业SRT协议[13]推流,或监控行业GB28181协议[14]推流,SRS转换成互联网的协议观看。•直播低延迟和互动,聚变近在咫尺。RTMP转WebRTC播放[15]降低播放延迟,还能做直播连麦,或者使用WebRTC推流,未来还会支持WebTransport直播等等。•大规模业务,带你装逼带你飞。如果业务快速上涨,可以通过Edge Cluster[16]支持海量Players,或者Origin Cluster[17]支持海量Encoders,当然可以直接平滑迁移到视频云。未来还会支持RTC的级联和集群。

每个场景都可以自己搭建出来典型的应用。

了解细节

第三个门槛:了解每个纵向的技术点,应用场景,代码和问题排查,大约3~6月左右。

•视频专栏[18],包括环境搭建,代码分析,还有零声学院专业老师的讲解。•解决方案[19],大家在各个不同场景中,应用SRS的分享和探索。•部署方案[20],如何部署实现不同的具体功能,这些功能可以组合起来使用。•集群和扩展[21],当业务量上升,如何扩展单机到集群,如何服务不同区域的用户。•集成和定制[22],如何和现有系统对接,如何验证用户,安全和防盗链机制等。•深度分析[23],协程原理,代码分析,高性能服务器框架,性能优化等。

如果能踏踏实实的了解完SRS,音视频真不难。

如果总想着三分钟XXX,那可不是很难么?

References

[1] SRS官网: https://ossrs.net
[2] for macOS: https://github.com/ossrs/srs-docker#usage-webrtc-for-macos
[3] for CentOS: https://github.com/ossrs/srs-docker#usage-webrtc-for-centos
[4] SRS: Usage: https://github.com/ossrs/srs#usage-source
[5] SRS直播: http://ossrs.net/releases/app.html
[6] Github: Wiki: https://github.com/ossrs/srs/wiki/v4_CN_Home#srs-overview
[7] Gitee: Wiki: https://gitee.com/ossrs/srs/wikis/v4_CN_Home#srs-overview
[8] 推送RTMP到SRS: https://gitee.com/ossrs/srs/wikis/v4_CN_SampleRTMP
[9] 转封装成HTTP-FLV流: https://gitee.com/ossrs/srs/wikis/v4_CN_SampleHttpFlv
[10] 转封装成HLS: https://gitee.com/ossrs/srs/wikis/v4_CN_SampleHLS
[11] WebRTC: https://gitee.com/ossrs/srs/wikis/v4_CN_WebRTC
[12] 拉取流到SRS: https://gitee.com/ossrs/srs/wikis/v4_CN_Ingest
[13] SRT协议: https://gitee.com/ossrs/srs/wikis/v4_CN_SRTWiki
[14] GB28181协议: https://github.com/ossrs/srs/issues/1500#issue-528623588
[15] RTMP转WebRTC播放: https://github.com/ossrs/srs/issues/307#issue-76908382
[16] Edge Cluster: https://gitee.com/ossrs/srs/wikis/v4_CN_SampleRTMPCluster
[17] Origin Cluster: https://gitee.com/ossrs/srs/wikis/v4_CN_OriginCluster
[18] 视频专栏: https://gitee.com/ossrs/srs/wikis/v4_CN_Home#video-guides
[19] 解决方案: https://gitee.com/ossrs/srs/wikis/v4_CN_Home#solution-guides
[20] 部署方案: https://gitee.com/ossrs/srs/wikis/v4_CN_Home#deployment-guides
[21] 集群和扩展: https://gitee.com/ossrs/srs/wikis/v4_CN_Home#cluster-guides
[22] 集成和定制: https://gitee.com/ossrs/srs/wikis/v4_CN_Home#integration-guides
[23] 深度分析: https://gitee.com/ossrs/srs/wikis/v4_CN_Home#develop-guide

参考 https://github.com/jin-long/srs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值