From 317d693d55fa5136669c1720a55df14760d8cab7 Mon Sep 17 00:00:00 2001 From: winlin Date: Wed, 18 Oct 2023 11:50:29 +0800 Subject: [PATCH] Update About. --- .../current/doc/introduction.md | 100 +++++++++++++ .../current/doc/introduction.md | 84 +++++++++++ .../version-5.0/doc/introduction.md | 84 +++++++++++ .../docusaurus-plugin-content-pages/about.md | 131 +----------------- src/pages/about.md | 2 +- .../version-5.0/doc/introduction.md | 100 +++++++++++++ 6 files changed, 370 insertions(+), 131 deletions(-) diff --git a/i18n/en-us/docusaurus-plugin-content-docs/current/doc/introduction.md b/i18n/en-us/docusaurus-plugin-content-docs/current/doc/introduction.md index 33a1eba6..480dfd4c 100644 --- a/i18n/en-us/docusaurus-plugin-content-docs/current/doc/introduction.md +++ b/i18n/en-us/docusaurus-plugin-content-docs/current/doc/introduction.md @@ -39,6 +39,24 @@ we provide [ossrs/srs](https://hub.docker.com/r/ossrs/srs) is also built on Ubun > ST's capabilities, supporting multiple platforms such as Linux, Windows, macOS, and various CPU > architectures like X86_64, ARMv7, AARCH64, M1, RISCV, LOONGARCH, and MIPS. +## Features + +Functionality is often a major concern for people and the richness of features is an important reason for choosing a +project. You can view the detailed feature list at [Features](https://github.com/ossrs/srs/blob/develop/trunk/doc/Features.md#features). +We have listed the main features' versions, along with related Issue and PR links. + +Additionally, in the detailed description of [Milestones](/product), the supported features for each major version +are introduced. + +> Note: If you want to see the Issues for each milestone, you can check them at [Milestones](https://github.com/ossrs/srs/milestones). + +Please note that although not many, SRS still marks some features as [Deprecated](https://github.com/ossrs/srs/blob/develop/trunk/doc/Features.md#features). +You can search for 'Deprecated' or 'Removed' on the page. We will also explain in detail why we are removing a +particular feature. + +If you want to know about the features we are currently working on, you can join our [Discord](/contact#discussion) +and [Blog](/blog). Once new features are completed, we will post articles on Discord and Blog, so stay tuned. + ## Who's using SRS? SRS users are spread all over the world, and we welcome everyone to showcase their SRS applications @@ -50,16 +68,98 @@ We welcome everyone to participate in the development and maintenance of SRS. We resolving issues from [Contribute](https://github.com/ossrs/srs/contribute) and [submitting PRs](/how-to-file-pr). All contributors will be showcased in [Contributors](https://github.com/ossrs/srs#authors). +SRS is a non-commercial open-source community where active developers have their own jobs and contribute to SRS's +development in their spare time. + +Since the SRS system is highly efficient, we can spend minimal time making continuous improvements, delivering +feature-rich and stable high-quality products. Customizing based on SRS is also easy. + +We are a global open-source community with developer communities both domestically and abroad. We welcome developers +to join us: + +* Great sense of accomplishment: Your code can impact global users, change the audio and video industry, and transform various sectors as SRS is widely used. +* Solid technical progress: You can interact with top audio and video developers worldwide, master high-quality software development skills, and mutually enhance technical capabilities. + +SRS currently uses the following techniques and rules to ensure high quality and efficiency: + +* Long-term discussions on architecture and solutions. For significant features and plans, extensive discussions are required, such as the 7-year discussion on [HEVC/H.265](https://github.com/ossrs/srs/issues/465) support. +* Careful and thorough code reviews. Each pull request must be approved by at least two TOCs and developers and pass all Actions before merging. +* Comprehensive unit tests (over 500), code coverage (around 60%), black-box testing, etc., ensuring ample testing time with one year of development and one year of testing. +* Full pipeline: Each pull request has a pipeline, and each release is automatically completed by the pipeline. + +We welcome you to join us. For more information, please visit [Contribute](https://github.com/ossrs/srs/contribute) +and submit a pull request as required. + ## Milestone SRS releases a major version approximately every two years, with one year for development and one year for stability improvement. For more details, please refer to [Milestone](/product). +If you want to use SRS online, it's recommended to use the stable version. If you want to use new features, use +the development version. + +SRS has branches based on versions, such as: + +* [develop](https://github.com/ossrs/srs/tree/develop) SRS 6.0, development branch, unstable, but with the most new features. +* [5.0release](https://github.com/ossrs/srs/tree/5.0release#releases) SRS 5.0, currently stable, depending on the branch's status. +* [4.0release](https://github.com/ossrs/srs/tree/4.0release#releases) SRS 4.0, currently the stable branch, and will become more stable over time. + +To determine if a branch is stable, check the Releases tag, such as [SRS 4.0](https://github.com/ossrs/srs/tree/4.0release#releases): + +* 2022-06-11, Release v4.0-r0, this is a stable release version. +* 2021-12-01, Release v4.0-b0, this is a relatively stable beta version, also known as a public test version. +* 2021-11-15, Release v4.0.198, this version is an unstable development version. + +> Note: In addition to beta versions, there are alpha versions, such as `v5.0-a0`, which are less stable internal +> test versions compared to beta. + +> Note: Each alpha, beta, and release version will correspond to a specific version number, such as `v5.0-a0` +> corresponding to `v5.0.98`. + +For SRS, generally, once it reaches the beta version, it can be used online. + +## Strategy + +SRS doesn't develop client-side applications because there are already mature and large open-source communities like +FFmpeg, OBS, VLC, and WebRTC. SRS collaborates with these communities and uses their products. + +In addition to the SRS server, they also work on SRS Stack and WordPress plugins, with the main goal of creating +simpler application methods for different industries, including: + +* [srs-stack](https://github.com/ossrs/srs-stack): SRS Stack is an out-of-the-box, single-machine video cloud solution that includes FFmpeg and SRS. It's designed for users who aren't familiar with command lines and allows them to set up audio and video applications through Tencent Cloud images or BaoTa with mouse operations. +* [WordPress-Plugin-SrsPlayer](https://github.com/ossrs/WordPress-Plugin-SrsPlayer): This plugin is for the publishing industry, such as personal blogs and media websites, making it easy for users to utilize audio and video capabilities. +* [srs-unity](https://github.com/ossrs/srs-unity): This project is for the gaming industry, integrating Unity's WebRTC SDK to use audio and video capabilities. + +SRS will continue to improve its toolchain. Developers may not use SRS but might have used the SB stress testing tool: + +* [srs-bench](https://github.com/ossrs/srs-bench): An audio and video stress testing tool that supports RTMP, FLV, WebRTC, GB28181, etc., with plans for future improvements. +* [state-threads](https://github.com/ossrs/state-threads): A C coroutine library that can be considered a C version of Go. It's a small but powerful server library that will be continuously improved. +* [tea](https://github.com/ossrs/tea): This project explores eBPF for network simulation in weak network conditions and load balancing. + +SRS aims to continuously improve audio and video toolchains, solutions, and scenario-based capabilities, making it +possible for various industries to utilize audio and video capabilities. + ## Sponsors SRS is committed to building a non-profit open-source project and community. We provide special community support for friends who sponsor SRS. Please see [Sponsor](/contact#donation). +Audio and video developers often face challenges, and they might be used to the close support from cloud +service providers. When joining an open-source community, it might feel unfamiliar. + +Don't panic when encountering issues. Most problems have solutions that can be found in the [FAQ](/faq) +or the documentation [Docs](./getting-started.md). + +You can also join the Discord channel through [Support](/contact) to communicate with other developers. +However, please follow community guidelines, or you won't receive help. + +As developers, we must learn to read documentation, investigate issues, and then discuss them within the community. + +For advanced developers, we suggest becoming a `Backer/Sponsor`. See [Support](/contact#donation). + +SRS has no commercial plans. We are currently working hard to build a global, active developer community. +The value of open-source will grow, and community support will increase. + ## About SRS Stack SRS Stack is a lightweight, open-source video cloud solution based on Go, Reactjs, SRS, FFmpeg, WebRTC, diff --git a/i18n/zh-cn/docusaurus-plugin-content-docs/current/doc/introduction.md b/i18n/zh-cn/docusaurus-plugin-content-docs/current/doc/introduction.md index a81f07c3..3c49babf 100644 --- a/i18n/zh-cn/docusaurus-plugin-content-docs/current/doc/introduction.md +++ b/i18n/zh-cn/docusaurus-plugin-content-docs/current/doc/introduction.md @@ -30,6 +30,22 @@ SRS使用ANSI C++ (98)开发,只使用了基本的C++能力,可以在Linux 协程技术(类似[Goroutine](https://go.dev/doc/effective_go#goroutines)),并在不断增强和维护ST的能力,支持了Linux、Windows、macOS 多个平台,X86_64、ARMv7、AARCH64、M1、RISCV、LOONGARCH和MIPS等多种CPU架构。 +## Features + +功能一般是大家比较关注的点,丰富程度也是选择项目的重要原因, +详细的功能列表可以看 [Features](https://github.com/ossrs/srs/blob/develop/trunk/doc/Features.md#features) 。 +我们列出了主要的功能的版本,以及相关的Issue和PR链接。 + +此外,在 [里程碑](/product) 的详细描述中,也会介绍这个大的版本,所支持的功能。 + +> Note: 如果希望看每个里程碑的Issues,则可以在 [Milestones](https://github.com/ossrs/srs/milestones) 中查看。 + +特别注意的是,尽管不多,但SRS还是会将某些功能设置为 [Deprecated](https://github.com/ossrs/srs/blob/develop/trunk/doc/Features.md#features) , +可以在页面中搜索`Deprecated`或者`Removed`。我们也会详细解释为何要移除这个功能。 + +如果你想知道我们正在做的功能,可以在 [微信公众号](/contact#discussion) 中,点菜单的最新版本,比如`SRS 5.0`或者`SRS 6.0`。 +新的功能完成后,我们也会发布文章到微信公众号,请关注。 + ## Who's using SRS? SRS的用户遍布全球,欢迎大家在[SRS应用案例](https://github.com/ossrs/srs/discussions/3771)中展示自己的SRS应用。 @@ -40,14 +56,82 @@ SRS的用户遍布全球,欢迎大家在[SRS应用案例](https://github.com/o [提交PR](/how-to-file-pr)开始, 所有贡献过的朋友都会在[Contributors](https://github.com/ossrs/srs#authors) 中展示。 +SRS是一个非商业化的开源社区,活跃的开发者都有自己的工作,会花自己的业余时间推动SRS的发展。 + +由于SRS整个体系是非常高效的,因此我们可以花很少的时间让SRS不断进步,交付功能丰富且稳定性很高的高质量产品,基于SRS定制也很容易。 + +我们是全球的开源社区,国内和海外都有开发者社区,我们欢迎开发者加入我们: + +* 巨大的成就感:你的代码可以影响全球的用户,改变音视频行业,并且随着SRS在各行各业的广泛应用,也改变了各行各业。 +* 扎实的技术进步:在这里可以和全球顶尖的音视频开发者交流,掌握高质量软件开发的能力,互相提升技术能力。 + +SRS目前使用了以下的技术和规则,保证项目的高质量和高效率: + +* 长时间的架构和方案探讨,对于大的功能和方案,需要得到长时间探讨,比如 [HEVC/H.265](https://github.com/ossrs/srs/issues/465) 的支持,我们讨论了7年。 +* 仔细认真的CodeReview,每个PullRequest至少2个TOC和Developer通过,并且Actions全部通过,才能合并。 +* 完善的单元测试(500多个)、覆盖率(60%左右)、黑盒测试等,保持一年开发一年测试的充足测试时间。 +* 全流水线,每个PullRequest会有流水线,每次发布由流水线自动完成。 + +欢迎加入我们,具体请访问 [Contribute](https://github.com/ossrs/srs/contribute) 按要求提交PullRequest。 + ## Milestone SRS大概是两年发布一个大版本,一年时间开发,一年时间提升稳定性,详细请参考[Milestone](/product)。 +如果你想在线上使用SRS,推荐使用稳定版本。如果你想用新功能,就用开发版本。 + +SRS的分支规则,是按版本的分支,比如: + +* [develop](https://github.com/ossrs/srs/tree/develop) SRS 6.0,开发分支,不稳定,但是新功能最多。 +* [5.0release](https://github.com/ossrs/srs/tree/5.0release#releases) SRS 5.0,目前已经稳定,具体要看分支的状态。 +* [4.0release](https://github.com/ossrs/srs/tree/4.0release#releases) SRS 4.0,目前是稳定分支,而且会越来越稳定。 + +具体分支是否稳定,要看Releases的标记,比如 [SRS 4.0](https://github.com/ossrs/srs/tree/4.0release#releases) : + +* 2022-06-11, Release v4.0-r0,这个是稳定的发布版本。 +* 2021-12-01, Release v4.0-b0,这个是相对比较稳定的beta版本,也就是公测版本。 +* 2021-11-15, Release v4.0.198,这个版本就是不稳定的开发版。 + +> Note: 除了beta版本,还有alpha版本,比如`v5.0-a0`,是比beta更不稳定的内测版本。 + +> Note:每个alpha、beta、release版本,都会对应具体的版本号,比如`v5.0-a0`,对应的就是`v5.0.98`。 + +对于SRS来说,一般达到beta版本,就可以在线上使用了。 + +## Strategy + +SRS不做客户端,因为无论是FFmpeg,还是OBS,还是VLC,还是WebRTC,都是非常成熟和庞大的开源社区,我们和这些社区合作,使用这些社区的产品。 + +除了SRS服务器,我们还在做SRS Stack,还有WordPress插件等等,主要的目标还是根据不同行业,做出更简单的应用方式,包括: + +* [srs-stack](https://github.com/ossrs/srs-stack) SRS Stack或SRS Stack,是一个开箱即用的单机的视频云,里面有FFmpeg和SRS等,主要是方便不会命令行的用户,直接通过腾讯云镜像或者宝塔,鼠标操作,就可以把音视频的应用搭起来。 +* [WordPress-Plugin-SrsPlayer](https://github.com/ossrs/WordPress-Plugin-SrsPlayer) 出版领域,比如个人博客、网站传媒等,方便用户可以使用音视频的能力。 +* [srs-unity](https://github.com/ossrs/srs-unity) 游戏领域,对接Unity的WebRTC SDK,使用音视频的能力。 + +SRS还会在工具链上不断完善,开发者可能不用SRS,但可能用过SB压测工具: + +* [srs-bench](https://github.com/ossrs/srs-bench) 音视频压测工具,包括RTMP/FLV/WebRTC/GB28181等,未来还会完善。 +* [state-threads](https://github.com/ossrs/state-threads) C的协程库,可以认为是C版本的Go,很小巧但很强大的服务器库,我们也会不断完善它。 +* [tea](https://github.com/ossrs/tea) 这是eBPF方向的探索,网络的弱网模拟,以及LB负载均衡。 + +通过不断完善音视频的工具链、解决方案、场景化的能力,让各行各业都可以应用音视频的能力。 + ## Sponsors SRS致力于构建一个非盈利性的开源项目和社区,我们对赞助SRS朋友提供专门的社区支持,请看[Sponsor](/contact#donation)。 +音视频开发者,几乎必然碰到问题,估计大家比较习惯云厂商的贴身服务,来到开源社区就非常不习惯。 + +其实遇到问题不要慌张,大部分问题都是已经有的,可以在 [FAQ](/faq) 中找到答案,或者在文档 [Docs](./getting-started.md) 中找到答案。 + +也可以在 [支持](/contact) 中加微信群,和其他开发者交流,不过请遵守社区规范,否则也得不到支持的。 + +作为开发者,我们必须学会看文档,调查问题,然后再在社区中交流。 + +值得澄清的是,中国开发者的素质也越来越高了,深度开发者我们建议加付费星球,参考 [Support](/contact#donation) 。 + +SRS没有商业化的计划,我们目前正在努力建设全球的活跃的开发者社区,开源的价值会越来越大,社区彼此的支持也会越来越多。 + ## About SRS Stack SRS Stack是一个基于Go、Reactjs、SRS、FFmpeg、WebRTC等的轻量级、开源的视频云解决方案。 diff --git a/i18n/zh-cn/docusaurus-plugin-content-docs/version-5.0/doc/introduction.md b/i18n/zh-cn/docusaurus-plugin-content-docs/version-5.0/doc/introduction.md index 1cfd184e..4467d1f1 100644 --- a/i18n/zh-cn/docusaurus-plugin-content-docs/version-5.0/doc/introduction.md +++ b/i18n/zh-cn/docusaurus-plugin-content-docs/version-5.0/doc/introduction.md @@ -30,6 +30,22 @@ SRS使用ANSI C++ (98)开发,只使用了基本的C++能力,可以在Linux 协程技术(类似[Goroutine](https://go.dev/doc/effective_go#goroutines)),并在不断增强和维护ST的能力,支持了Linux、Windows、macOS 多个平台,X86_64、ARMv7、AARCH64、M1、RISCV、LOONGARCH和MIPS等多种CPU架构。 +## Features + +功能一般是大家比较关注的点,丰富程度也是选择项目的重要原因, +详细的功能列表可以看 [Features](https://github.com/ossrs/srs/blob/develop/trunk/doc/Features.md#features) 。 +我们列出了主要的功能的版本,以及相关的Issue和PR链接。 + +此外,在 [里程碑](/product) 的详细描述中,也会介绍这个大的版本,所支持的功能。 + +> Note: 如果希望看每个里程碑的Issues,则可以在 [Milestones](https://github.com/ossrs/srs/milestones) 中查看。 + +特别注意的是,尽管不多,但SRS还是会将某些功能设置为 [Deprecated](https://github.com/ossrs/srs/blob/develop/trunk/doc/Features.md#features) , +可以在页面中搜索`Deprecated`或者`Removed`。我们也会详细解释为何要移除这个功能。 + +如果你想知道我们正在做的功能,可以在 [微信公众号](/contact#discussion) 中,点菜单的最新版本,比如`SRS 5.0`或者`SRS 6.0`。 +新的功能完成后,我们也会发布文章到微信公众号,请关注。 + ## Who's using SRS? SRS的用户遍布全球,欢迎大家在[SRS应用案例](https://github.com/ossrs/srs/discussions/3771)中展示自己的SRS应用。 @@ -40,14 +56,82 @@ SRS的用户遍布全球,欢迎大家在[SRS应用案例](https://github.com/o [提交PR](/how-to-file-pr)开始, 所有贡献过的朋友都会在[Contributors](https://github.com/ossrs/srs#authors) 中展示。 +SRS是一个非商业化的开源社区,活跃的开发者都有自己的工作,会花自己的业余时间推动SRS的发展。 + +由于SRS整个体系是非常高效的,因此我们可以花很少的时间让SRS不断进步,交付功能丰富且稳定性很高的高质量产品,基于SRS定制也很容易。 + +我们是全球的开源社区,国内和海外都有开发者社区,我们欢迎开发者加入我们: + +* 巨大的成就感:你的代码可以影响全球的用户,改变音视频行业,并且随着SRS在各行各业的广泛应用,也改变了各行各业。 +* 扎实的技术进步:在这里可以和全球顶尖的音视频开发者交流,掌握高质量软件开发的能力,互相提升技术能力。 + +SRS目前使用了以下的技术和规则,保证项目的高质量和高效率: + +* 长时间的架构和方案探讨,对于大的功能和方案,需要得到长时间探讨,比如 [HEVC/H.265](https://github.com/ossrs/srs/issues/465) 的支持,我们讨论了7年。 +* 仔细认真的CodeReview,每个PullRequest至少2个TOC和Developer通过,并且Actions全部通过,才能合并。 +* 完善的单元测试(500多个)、覆盖率(60%左右)、黑盒测试等,保持一年开发一年测试的充足测试时间。 +* 全流水线,每个PullRequest会有流水线,每次发布由流水线自动完成。 + +欢迎加入我们,具体请访问 [Contribute](https://github.com/ossrs/srs/contribute) 按要求提交PullRequest。 + ## Milestone SRS大概是两年发布一个大版本,一年时间开发,一年时间提升稳定性,详细请参考[Milestone](/product)。 +如果你想在线上使用SRS,推荐使用稳定版本。如果你想用新功能,就用开发版本。 + +SRS的分支规则,是按版本的分支,比如: + +* [develop](https://github.com/ossrs/srs/tree/develop) SRS 6.0,开发分支,不稳定,但是新功能最多。 +* [5.0release](https://github.com/ossrs/srs/tree/5.0release#releases) SRS 5.0,目前已经稳定,具体要看分支的状态。 +* [4.0release](https://github.com/ossrs/srs/tree/4.0release#releases) SRS 4.0,目前是稳定分支,而且会越来越稳定。 + +具体分支是否稳定,要看Releases的标记,比如 [SRS 4.0](https://github.com/ossrs/srs/tree/4.0release#releases) : + +* 2022-06-11, Release v4.0-r0,这个是稳定的发布版本。 +* 2021-12-01, Release v4.0-b0,这个是相对比较稳定的beta版本,也就是公测版本。 +* 2021-11-15, Release v4.0.198,这个版本就是不稳定的开发版。 + +> Note: 除了beta版本,还有alpha版本,比如`v5.0-a0`,是比beta更不稳定的内测版本。 + +> Note:每个alpha、beta、release版本,都会对应具体的版本号,比如`v5.0-a0`,对应的就是`v5.0.98`。 + +对于SRS来说,一般达到beta版本,就可以在线上使用了。 + ## Sponsors SRS致力于构建一个非盈利性的开源项目和社区,我们对赞助SRS朋友提供专门的社区支持,请看[Sponsor](/contact#donation)。 +音视频开发者,几乎必然碰到问题,估计大家比较习惯云厂商的贴身服务,来到开源社区就非常不习惯。 + +其实遇到问题不要慌张,大部分问题都是已经有的,可以在 [FAQ](/faq) 中找到答案,或者在文档 [Docs](./getting-started.md) 中找到答案。 + +也可以在 [支持](/contact) 中加微信群,和其他开发者交流,不过请遵守社区规范,否则也得不到支持的。 + +作为开发者,我们必须学会看文档,调查问题,然后再在社区中交流。 + +值得澄清的是,中国开发者的素质也越来越高了,深度开发者我们建议加付费星球,参考 [Support](/contact#donation) 。 + +SRS没有商业化的计划,我们目前正在努力建设全球的活跃的开发者社区,开源的价值会越来越大,社区彼此的支持也会越来越多。 + +## Strategy + +SRS不做客户端,因为无论是FFmpeg,还是OBS,还是VLC,还是WebRTC,都是非常成熟和庞大的开源社区,我们和这些社区合作,使用这些社区的产品。 + +除了SRS服务器,我们还在做SRS Stack,还有WordPress插件等等,主要的目标还是根据不同行业,做出更简单的应用方式,包括: + +* [srs-stack](https://github.com/ossrs/srs-stack) SRS Stack或SRS Stack,是一个开箱即用的单机的视频云,里面有FFmpeg和SRS等,主要是方便不会命令行的用户,直接通过腾讯云镜像或者宝塔,鼠标操作,就可以把音视频的应用搭起来。 +* [WordPress-Plugin-SrsPlayer](https://github.com/ossrs/WordPress-Plugin-SrsPlayer) 出版领域,比如个人博客、网站传媒等,方便用户可以使用音视频的能力。 +* [srs-unity](https://github.com/ossrs/srs-unity) 游戏领域,对接Unity的WebRTC SDK,使用音视频的能力。 + +SRS还会在工具链上不断完善,开发者可能不用SRS,但可能用过SB压测工具: + +* [srs-bench](https://github.com/ossrs/srs-bench) 音视频压测工具,包括RTMP/FLV/WebRTC/GB28181等,未来还会完善。 +* [state-threads](https://github.com/ossrs/state-threads) C的协程库,可以认为是C版本的Go,很小巧但很强大的服务器库,我们也会不断完善它。 +* [tea](https://github.com/ossrs/tea) 这是eBPF方向的探索,网络的弱网模拟,以及LB负载均衡。 + +通过不断完善音视频的工具链、解决方案、场景化的能力,让各行各业都可以应用音视频的能力。 + ## About SRS Stack SRS Stack是一个基于Go、Reactjs、SRS、FFmpeg、WebRTC等的轻量级、开源的视频云解决方案。 diff --git a/i18n/zh-cn/docusaurus-plugin-content-pages/about.md b/i18n/zh-cn/docusaurus-plugin-content-pages/about.md index b8af4d35..11f17d20 100644 --- a/i18n/zh-cn/docusaurus-plugin-content-pages/about.md +++ b/i18n/zh-cn/docusaurus-plugin-content-pages/about.md @@ -1,135 +1,6 @@ # About -SRS经过十年的发展,已经越来越不Simple了,这篇文章介绍了SRS的重要背景、大事件、重要变更、规划、资料集等等,可以认为是比较全面的SRS的导航。 - -由于文章找很多链接,而公众号无法直接点击,可以看这篇文章在官网的版本,点文末尾的`阅读原文`直达。 - -## Features - -功能一般是大家比较关注的点,丰富程度也是选择项目的重要原因, -详细的功能列表可以看 [Features](https://github.com/ossrs/srs/blob/develop/trunk/doc/Features.md#features) 。 -我们列出了主要的功能的版本,以及相关的Issue和PR链接。 - -此外,在 [里程碑](/product) 的详细描述中,也会介绍这个大的版本,所支持的功能。 - -> Note: 如果希望看每个里程碑的Issues,则可以在 [Milestones](https://github.com/ossrs/srs/milestones) 中查看。 - -特别注意的是,尽管不多,但SRS还是会将某些功能设置为 [Deprecated](https://github.com/ossrs/srs/blob/develop/trunk/doc/Features.md#features) , -可以在页面中搜索`Deprecated`或者`Removed`。我们也会详细解释为何要移除这个功能。 - -如果你想知道我们正在做的功能,可以在 [微信公众号](/contact#discussion) 中,点菜单的最新版本,比如`SRS 5.0`或者`SRS 6.0`。 -新的功能完成后,我们也会发布文章到微信公众号,请关注。 - -## Releases - -如果你想在线上使用SRS,推荐使用稳定版本。如果你想用新功能,就用开发版本。 - -SRS的分支规则,是按版本的分支,比如: - -* [develop](https://github.com/ossrs/srs/tree/develop) 开发分支,不稳定,但是新功能最多。 -* [5.0release](https://github.com/ossrs/srs/tree/5.0release#releases) SRS 5.0,可能是稳定的,具体要看分支的状态。 -* [4.0release](https://github.com/ossrs/srs/tree/4.0release#releases) SRS 4.0,目前是稳定分支,而且会越来越稳定。 - -具体分支是否稳定,要看Releases的标记,比如 [SRS 4.0](https://github.com/ossrs/srs/tree/4.0release#releases) : - -* 2022-06-11, Release v4.0-r0,这个是稳定的发布版本。 -* 2021-12-01, Release v4.0-b0,这个是相对比较稳定的beta版本,也就是公测版本。 -* 2021-11-15, Release v4.0.198,这个版本就是不稳定的开发版。 - -> Note: 除了beta版本,还有alpha版本,比如`v5.0-a0`,是比beta更不稳定的内测版本。 - -> Note:每个alpha、beta、release版本,都会对应具体的版本号,比如`v5.0-a0`,对应的就是`v5.0.98`。 - -对于SRS来说,一般达到beta版本,就可以在线上使用了。 - -## Support - -音视频开发者,几乎必然碰到问题,估计大家比较习惯云厂商的贴身服务,来到开源社区就非常不习惯。 - -其实遇到问题不要慌张,大部分问题都是已经有的,可以在 [FAQ](/faq) 中找到答案,或者在文档 [Docs](/docs/v5/doc/getting-started) 中找到答案。 - -也可以在 [支持](/contact) 中加微信群,和其他开发者交流,不过请遵守社区规范,否则也得不到支持的。 - -作为开发者,我们必须学会看文档,调查问题,然后再在社区中交流。 - -值得澄清的是,中国开发者的素质也越来越高了,深度开发者我们建议加付费星球,参考 [Support](/contact#donation) 。 - -SRS没有商业化的计划,我们目前正在努力建设全球的活跃的开发者社区,开源的价值会越来越大,社区彼此的支持也会越来越多。 - -## Debugging - -微信公众号,以及前面,都讲过一些遇到问题怎么办的办法,这里分享下遇到少见的问题的一般处理办法。 - -少见的问题,一般是真的问题,FAQ和文档都没能找到答案,自己也研究了,搜索了,也没找到解决办法。 - -举个常见的例子:延迟大,按照文档操作还是延迟大。 - -解决一般问题的一般策略,是先找到没问题的路径,然后逐步排除。比如排查上面延迟的问题: - -1. 首先,完全按照文档搭建,任何步骤都不要做变更,延迟一定小。同样的工具和环境,是一定能达到同样的预期。 -2. 然后,将某一个环节,注意是一个环节,换成你的,比如你的播放器,观察延迟是不是变大了。 -3. 接着,继续把下一个环节,换成你的,比如把推流编码器换成你的,观察延迟是不是变大了。 -4. 以此往复,知道全部变成你的环境,你就自然知道问题在哪个地方。 - -如果是碰到性能问题,比如支持的并发太少,也可以用上面的步骤操作,这是一个通用的解法。 - -## Know Issues - -SRS有很多Issues,但核心的未解决的问题,我在这里特别列出来: - -* Source清理,参考 [#413](https://github.com/ossrs/srs/issues/413) ,流特别多时会出现内存不断增长。 - * 我们给出了一些Workaround,包括Graceful Restart等,不影响业务的自动重启,释放内存。 - * 我们会在6.0,使用简单的GC解决它,可以参考 [Wrapper](https://github.com/ossrs/srs/issues/413#issuecomment-1227972901) ,可以认为是一种非常简单的智能指针。 - * 还有朋友提过用C++11的智能指针,但是C++11的智能指针,我见过太多的问题是它引起。 -* 单核问题,参考 [#2188](https://github.com/ossrs/srs/issues/2188) ,主要是单核无法使用机器的多个CPU问题。 - * 直播可以用Origin和Edge集群,还有ReusePort,可以参考相关文章。 - * SRS 6.0已经支持了多线程框架,但主体还是单线程的,主要我们发现多线程一样会引入很多问题,并不是没有代价。 - * SRS 6.0会支持新的集群架构 [Proxy](https://github.com/ossrs/srs/issues/3138) 解决RTC/RTMP/GB/SRT等等协议的扩展问题,一样可以部署在单机使用到多核能力。 -* 模块化,参考 [#2151](https://github.com/ossrs/srs/issues/2153) ,主要是扩展起来比较难,只能改C++代码。 - -之前大家提得比较多,但已经解决的问题: - -* GB稳定性问题:SRS 5.0的GB稳定性很好,参考 [#3176](https://github.com/ossrs/srs/issues/3176) ,现在大家反馈更多的是GB的功能不够丰富。只要稳定性没问题,功能可以慢慢加。 - -如果有什么我们漏掉的问题,欢迎反馈给我们。 - -## Strategy - -SRS不做客户端,因为无论是FFmpeg,还是OBS,还是VLC,还是WebRTC,都是非常成熟和庞大的开源社区,我们和这些社区合作,使用这些社区的产品。 - -除了SRS服务器,我们还在做SRS Stack,还有WordPress插件等等,主要的目标还是根据不同行业,做出更简单的应用方式,包括: - -* [srs-stack](https://github.com/ossrs/srs-stack) SRS Stack或SRS Stack,是一个开箱即用的单机的视频云,里面有FFmpeg和SRS等,主要是方便不会命令行的用户,直接通过腾讯云镜像或者宝塔,鼠标操作,就可以把音视频的应用搭起来。 -* [WordPress-Plugin-SrsPlayer](https://github.com/ossrs/WordPress-Plugin-SrsPlayer) 出版领域,比如个人博客、网站传媒等,方便用户可以使用音视频的能力。 -* [srs-unity](https://github.com/ossrs/srs-unity) 游戏领域,对接Unity的WebRTC SDK,使用音视频的能力。 - -SRS还会在工具链上不断完善,开发者可能不用SRS,但可能用过SB压测工具: - -* [srs-bench](https://github.com/ossrs/srs-bench) 音视频压测工具,包括RTMP/FLV/WebRTC/GB28181等,未来还会完善。 -* [state-threads](https://github.com/ossrs/state-threads) C的协程库,可以认为是C版本的Go,很小巧但很强大的服务器库,我们也会不断完善它。 -* [tea](https://github.com/ossrs/tea) 这是eBPF方向的探索,网络的弱网模拟,以及LB负载均衡。 - -通过不断完善音视频的工具链、解决方案、场景化的能力,让各行各业都可以应用音视频的能力。 - -## Contribute - -SRS是一个非商业化的开源社区,活跃的开发者都有自己的工作,会花自己的业余时间推动SRS的发展。 - -由于SRS整个体系是非常高效的,因此我们可以花很少的时间让SRS不断进步,交付功能丰富且稳定性很高的高质量产品,基于SRS定制也很容易。 - -我们是全球的开源社区,国内和海外都有开发者社区,我们欢迎开发者加入我们: - -* 巨大的成就感:你的代码可以影响全球的用户,改变音视频行业,并且随着SRS在各行各业的广泛应用,也改变了各行各业。 -* 扎实的技术进步:在这里可以和全球顶尖的音视频开发者交流,掌握高质量软件开发的能力,互相提升技术能力。 - -SRS目前使用了以下的技术和规则,保证项目的高质量和高效率: - -* 长时间的架构和方案探讨,对于大的功能和方案,需要得到长时间探讨,比如 [HEVC/H.265](https://github.com/ossrs/srs/issues/465) 的支持,我们讨论了7年。 -* 仔细认真的CodeReview,每个PullRequest至少2个TOC和Developer通过,并且Actions全部通过,才能合并。 -* 完善的单元测试(500多个)、覆盖率(60%左右)、黑盒测试等,保持一年开发一年测试的充足测试时间。 -* 全流水线,每个PullRequest会有流水线,每次发布由流水线自动完成。 - -欢迎加入我们,具体请访问 [Contribute](https://github.com/ossrs/srs/contribute) 按要求提交PullRequest。 +Migrated to [Introduction](/docs/v6/doc/introduction). ![](https://ossrs.net/gif/v1/sls.gif?site=ossrs.net&path=/lts/pages/about-zh) diff --git a/src/pages/about.md b/src/pages/about.md index 105123bc..3da5ef2c 100644 --- a/src/pages/about.md +++ b/src/pages/about.md @@ -1,6 +1,6 @@ # About -[SRS](https://github.com/ossrs/srs) is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH and GB28181. +Migrated to [Introduction](/docs/v6/doc/introduction). ![](https://ossrs.net/gif/v1/sls.gif?site=ossrs.io&path=/lts/pages/about-en) diff --git a/versioned_docs/version-5.0/doc/introduction.md b/versioned_docs/version-5.0/doc/introduction.md index 83bb202e..e5f02996 100644 --- a/versioned_docs/version-5.0/doc/introduction.md +++ b/versioned_docs/version-5.0/doc/introduction.md @@ -39,6 +39,24 @@ we provide [ossrs/srs](https://hub.docker.com/r/ossrs/srs) is also built on Ubun > ST's capabilities, supporting multiple platforms such as Linux, Windows, macOS, and various CPU > architectures like X86_64, ARMv7, AARCH64, M1, RISCV, LOONGARCH, and MIPS. +## Features + +Functionality is often a major concern for people and the richness of features is an important reason for choosing a +project. You can view the detailed feature list at [Features](https://github.com/ossrs/srs/blob/develop/trunk/doc/Features.md#features). +We have listed the main features' versions, along with related Issue and PR links. + +Additionally, in the detailed description of [Milestones](/product), the supported features for each major version +are introduced. + +> Note: If you want to see the Issues for each milestone, you can check them at [Milestones](https://github.com/ossrs/srs/milestones). + +Please note that although not many, SRS still marks some features as [Deprecated](https://github.com/ossrs/srs/blob/develop/trunk/doc/Features.md#features). +You can search for 'Deprecated' or 'Removed' on the page. We will also explain in detail why we are removing a +particular feature. + +If you want to know about the features we are currently working on, you can join our [Discord](/contact#discussion) +and [Blog](/blog). Once new features are completed, we will post articles on Discord and Blog, so stay tuned. + ## Who's using SRS? SRS users are spread all over the world, and we welcome everyone to showcase their SRS applications @@ -50,16 +68,98 @@ We welcome everyone to participate in the development and maintenance of SRS. We resolving issues from [Contribute](https://github.com/ossrs/srs/contribute) and [submitting PRs](/how-to-file-pr). All contributors will be showcased in [Contributors](https://github.com/ossrs/srs#authors). +SRS is a non-commercial open-source community where active developers have their own jobs and contribute to SRS's +development in their spare time. + +Since the SRS system is highly efficient, we can spend minimal time making continuous improvements, delivering +feature-rich and stable high-quality products. Customizing based on SRS is also easy. + +We are a global open-source community with developer communities both domestically and abroad. We welcome developers +to join us: + +* Great sense of accomplishment: Your code can impact global users, change the audio and video industry, and transform various sectors as SRS is widely used. +* Solid technical progress: You can interact with top audio and video developers worldwide, master high-quality software development skills, and mutually enhance technical capabilities. + +SRS currently uses the following techniques and rules to ensure high quality and efficiency: + +* Long-term discussions on architecture and solutions. For significant features and plans, extensive discussions are required, such as the 7-year discussion on [HEVC/H.265](https://github.com/ossrs/srs/issues/465) support. +* Careful and thorough code reviews. Each pull request must be approved by at least two TOCs and developers and pass all Actions before merging. +* Comprehensive unit tests (over 500), code coverage (around 60%), black-box testing, etc., ensuring ample testing time with one year of development and one year of testing. +* Full pipeline: Each pull request has a pipeline, and each release is automatically completed by the pipeline. + +We welcome you to join us. For more information, please visit [Contribute](https://github.com/ossrs/srs/contribute) +and submit a pull request as required. + ## Milestone SRS releases a major version approximately every two years, with one year for development and one year for stability improvement. For more details, please refer to [Milestone](/product). +If you want to use SRS online, it's recommended to use the stable version. If you want to use new features, use +the development version. + +SRS has branches based on versions, such as: + +* [develop](https://github.com/ossrs/srs/tree/develop) SRS 6.0, development branch, unstable, but with the most new features. +* [5.0release](https://github.com/ossrs/srs/tree/5.0release#releases) SRS 5.0, currently stable, depending on the branch's status. +* [4.0release](https://github.com/ossrs/srs/tree/4.0release#releases) SRS 4.0, currently the stable branch, and will become more stable over time. + +To determine if a branch is stable, check the Releases tag, such as [SRS 4.0](https://github.com/ossrs/srs/tree/4.0release#releases): + +* 2022-06-11, Release v4.0-r0, this is a stable release version. +* 2021-12-01, Release v4.0-b0, this is a relatively stable beta version, also known as a public test version. +* 2021-11-15, Release v4.0.198, this version is an unstable development version. + +> Note: In addition to beta versions, there are alpha versions, such as `v5.0-a0`, which are less stable internal +> test versions compared to beta. + +> Note: Each alpha, beta, and release version will correspond to a specific version number, such as `v5.0-a0` +> corresponding to `v5.0.98`. + +For SRS, generally, once it reaches the beta version, it can be used online. + +## Strategy + +SRS doesn't develop client-side applications because there are already mature and large open-source communities like +FFmpeg, OBS, VLC, and WebRTC. SRS collaborates with these communities and uses their products. + +In addition to the SRS server, they also work on SRS Stack and WordPress plugins, with the main goal of creating +simpler application methods for different industries, including: + +* [srs-stack](https://github.com/ossrs/srs-stack): SRS Stack is an out-of-the-box, single-machine video cloud solution that includes FFmpeg and SRS. It's designed for users who aren't familiar with command lines and allows them to set up audio and video applications through Tencent Cloud images or BaoTa with mouse operations. +* [WordPress-Plugin-SrsPlayer](https://github.com/ossrs/WordPress-Plugin-SrsPlayer): This plugin is for the publishing industry, such as personal blogs and media websites, making it easy for users to utilize audio and video capabilities. +* [srs-unity](https://github.com/ossrs/srs-unity): This project is for the gaming industry, integrating Unity's WebRTC SDK to use audio and video capabilities. + +SRS will continue to improve its toolchain. Developers may not use SRS but might have used the SB stress testing tool: + +* [srs-bench](https://github.com/ossrs/srs-bench): An audio and video stress testing tool that supports RTMP, FLV, WebRTC, GB28181, etc., with plans for future improvements. +* [state-threads](https://github.com/ossrs/state-threads): A C coroutine library that can be considered a C version of Go. It's a small but powerful server library that will be continuously improved. +* [tea](https://github.com/ossrs/tea): This project explores eBPF for network simulation in weak network conditions and load balancing. + +SRS aims to continuously improve audio and video toolchains, solutions, and scenario-based capabilities, making it +possible for various industries to utilize audio and video capabilities. + ## Sponsors SRS is committed to building a non-profit open-source project and community. We provide special community support for friends who sponsor SRS. Please see [Sponsor](/contact#donation). +Audio and video developers often face challenges, and they might be used to the close support from cloud +service providers. When joining an open-source community, it might feel unfamiliar. + +Don't panic when encountering issues. Most problems have solutions that can be found in the [FAQ](/faq) +or the documentation [Docs](./getting-started.md). + +You can also join the Discord channel through [Support](/contact#discussion) to communicate with other developers. +However, please follow community guidelines, or you won't receive help. + +As developers, we must learn to read documentation, investigate issues, and then discuss them within the community. + +For advanced developers, we suggest becoming a `Backer/Sponsor`. See [Support](/contact#donation). + +SRS has no commercial plans. We are currently working hard to build a global, active developer community. +The value of open-source will grow, and community support will increase. + ## About SRS Stack SRS Stack is a lightweight, open-source video cloud solution based on Go, Reactjs, SRS, FFmpeg, WebRTC,