Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SRS is a dedicated server project, please use librtmp instead. #32

Open
winlinvip opened this issue May 20, 2021 · 2 comments
Open

SRS is a dedicated server project, please use librtmp instead. #32

winlinvip opened this issue May 20, 2021 · 2 comments

Comments

@winlinvip
Copy link
Member

winlinvip commented May 20, 2021

SRS is a dedicated server project, please use librtmp instead.

srs-librtmp是从SRS服务器中导出的一个客户端库,当初做这个库的原因:

  1. 觉得rtmpdump/librtmp的代码太难读了,而SRS的代码可读性很好。

决定开源项目正义的绝对不是技术多好,而是能跑多久。技术很牛,性能很强,代码风格很好,固然是个好事,但是这些都顶不上一个“不维护”的大罪过,代码放出来不维护,怎么跟进业内技术的不断发展呢。

而决定能跑多久的,首先是技术热情,然后是维护者的领域背景。SRS的维护者都是服务器背景,大家的工作都是在服务器,客户端经验太少了,无法长久维护客户端的库。

因此,SRS决定果断放弃srs-librtmp,不再维护客户端库,聚焦于服务器的快速迭代。客户端并非不重要,而是要交给专业的客户端的开源项目和朋友维护,比如FFmpeg也自己实现了librtmp。

  1. 压测工具srs-bench是个客户端,需要一个客户端库。

由于pion的出现,压测工具完全可以用Go来写,比如RTC的压测就是用pion写的,所以这个理由也不再存在。

  1. 膨胀了,觉得服务器能搞好,客户端也不在话下。

知错就改,善莫大焉。

@winlinvip winlinvip pinned this issue May 20, 2021
@liyangzmx
Copy link

对srs-librtmp的阅读总结:
SRS_librtmp
感谢作者的无私风险.

@liyangzmx
Copy link

上图的源码使用的是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"
],

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants