各位读者您好,我叫罗上文,是《SRS原理》一书的作者,也是《FFmpeg原理》一书的作者。经过大半年的打磨,《SRS原理》的第一版终于完成了。
《SRS原理》第一版是以 v6.0.48 版本源码来分析写作,主要讲解 SRS 原理性的知识,包括 SRS调试环境的搭建,State-Threads 协程的实现原理,以及 RTMP模块,SRT模块,WebRTC模块 的源码分析。
为什么选用 v6.0.48 这个预发布版本?因为这是目前最新的一个版本,代码结构更加清晰,所支持的功能更加多,更重要的是 SRS 社区预计在 6.0 正式版支持 WebRTC ST 多线程。所以虽然是预发布版本,所以我也选择了这个版本。
《SRS原理》课程提供以下 4 种服务:
- 《SRS原理》一书全部内容可读,目前一共有 100 多篇的深度文章,后续还会继续更新。
- 作者提供一对一答疑服务,答疑范围仅限于本书内容。其他问题你可以问,但我不一定会回答你。
- 可以加入 音视频俱乐部 社群,与众多高手切磋武艺。
- 纪念品一份。
《SRS原理》的价格是阶梯价格来的,前 200 名 399 元,200 名以后是 599 元。如有需要请尽快下单。本书有退款保障。
购买请先领取 双11活动 的10元优惠券:
为了保障读者的权益,如果你在购买本书之后,觉得内容不行,可以在一周内来找我退款。
如果你很好奇《SRS原理》到底是一本什么样的书?那我推荐你先去 看一看 我之前写的 免费版的《FFmpeg原理》。
《SRS原理》《FFmpeg原理》都是采用相同的写作风格,那就是 用大白话来阐述一些技术原理,用扩展性的例子帮助你理解知识,一句话说不明白,我就会说十句。
下面是一位读者对我《FFmpeg原理》的评价:
希望《SRS原理》这本书也能让你感觉到停不下来。
《SRS原理》目前有 4 个大章节。
1,StateThreads 章节。
因为 SRS 是基于 协程 构建的流媒体服务器,所以我们必须先理解 协程是怎么实现的,包括如何调试 StateThreads 的代码,里面有各种示例代码帮助你理解协程。
2,SRS 的基础模块
SRS 的基础模块有 SrsConfig(配置文件模块),SrsFileLog(日志模块),SrsCplxError(错误处理模块),SrsSignalManager(信号处理模块)等等。
还有 SRS 对 StateThreads 的封装类。
这些都是基础模块,被上层的 RTMP,SRT,WebRTC 模块来使用。
3,SRS 的 RTMP 模块
RTMP 比较复杂的地方是 complex handshake(复杂握手),以及消息是如何切分成多个 chunk,又是如何合并回去的。这些都会通过抓包,用实际的场景来跟大家讲解这些知识点。
还配有大量的 函数流程图 来帮助你理解 RTMP 的推拉流过程。
4,SRS 的 WebRTC 模块
WebRTC 的内容会相对少一些,因为有不少的数据结构的设计跟 函数设计 是跟 RTMP 类似的,所以 SRS 说他的 WebRTC 是基于流的,而不是基于房间的。
WebRTC 的 QoS 功能也会讲到,例如 NACK 在 SRS 的实现,TWCC 拥堵控制在 SRS 的实现。
如果想你获取 预览章节 以及 完整的目录详情,请访问:https://srs.xianwaizhiyin.net/ 。
提醒:如果在手机端访问这个网址,目录是隐藏起来的,你要拉下来才能看到目录。所以建议使用电脑端访问预览网站。