Skip to content

Commit

Permalink
Update About.
Browse files Browse the repository at this point in the history
  • Loading branch information
winlinvip committed Oct 18, 2023
1 parent ec70b20 commit 317d693
Show file tree
Hide file tree
Showing 6 changed files with 370 additions and 131 deletions.
100 changes: 100 additions & 0 deletions i18n/en-us/docusaurus-plugin-content-docs/current/doc/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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应用。
Expand All @@ -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等的轻量级、开源的视频云解决方案。
Expand Down
Loading

0 comments on commit 317d693

Please sign in to comment.