SRS is a dedicated server project, please use librtmp instead.
winlinvip opened this issue · 2 comments
winlinvip commented
SRS is a dedicated server project, please use librtmp instead.
srs-librtmp是从SRS服务器中导出的一个客户端库,当初做这个库的原因:
- 觉得rtmpdump/librtmp的代码太难读了,而SRS的代码可读性很好。
决定开源项目正义的绝对不是技术多好,而是能跑多久。技术很牛,性能很强,代码风格很好,固然是个好事,但是这些都顶不上一个“不维护”的大罪过,代码放出来不维护,怎么跟进业内技术的不断发展呢。
而决定能跑多久的,首先是技术热情,然后是维护者的领域背景。SRS的维护者都是服务器背景,大家的工作都是在服务器,客户端经验太少了,无法长久维护客户端的库。
因此,SRS决定果断放弃srs-librtmp,不再维护客户端库,聚焦于服务器的快速迭代。客户端并非不重要,而是要交给专业的客户端的开源项目和朋友维护,比如FFmpeg也自己实现了librtmp。
- 压测工具srs-bench是个客户端,需要一个客户端库。
由于pion的出现,压测工具完全可以用Go来写,比如RTC的压测就是用pion写的,所以这个理由也不再存在。
- 膨胀了,觉得服务器能搞好,客户端也不在话下。
知错就改,善莫大焉。
liyangzmx commented
liyangzmx commented
上图的源码使用的是VSCode + PlantUML(插件)生成, 源码:
SRS_librtmp.txt
实际使用该代码生成png图片时, 请将文件名修改为SRS_librtmp.puml, 使用已安装PlantUML的VSCode打开, 并使用ALT + D预览, 使用CTRL + Shift + P并选择PlantUML: Export Curent Digram即可.
如果遇到尺寸过大无法完整导出的情况, 简单设置下VSCode就好:
"plantuml.commandArgs": [
"-DPLANTUML_LIMIT_SIZE=81920"
],