Skip to content

Commit

Permalink
Update introdution.
Browse files Browse the repository at this point in the history
  • Loading branch information
winlinvip committed Aug 17, 2023
1 parent 36bbdb1 commit c7b4750
Show file tree
Hide file tree
Showing 21 changed files with 346 additions and 199 deletions.
19 changes: 19 additions & 0 deletions for-writers/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,22 @@ Link the blog in docs:

For instance, refer to the `getting-started-stack.md` document for more details.

## How to link document in the sample docs?

Link the document in the sample docs:

```markdown
[Getting Started](./getting-started.md)
```

For instance, refer to the `introduction.md` document for more details.

## How to link pages in docs?

Link the pages in docs:

```markdown
[MIT Licensed](/license)
```

For instance, refer to the `introduction.md` document for more details.
14 changes: 14 additions & 0 deletions i18n/en-us/docusaurus-plugin-content-docs/current/doc/flv.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: HTTP-FLV
sidebar_label: HTTP-FLV
hide_title: false
hide_table_of_contents: false
---

# HTTP-FLV

See [HTTP-FLV](./delivery-http-flv.md).

![](https://ossrs.net/gif/v1/sls.gif?site=ossrs.net&path=/lts/doc/en/v6/flv)


14 changes: 14 additions & 0 deletions i18n/en-us/docusaurus-plugin-content-docs/current/doc/hls.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: HLS
sidebar_label: HLS
hide_title: false
hide_table_of_contents: false
---

# HLS

See [HLS](./sample-hls.md).

![](https://ossrs.net/gif/v1/sls.gif?site=ossrs.net&path=/lts/doc/en/v6/hls)


Original file line number Diff line number Diff line change
Expand Up @@ -7,53 +7,63 @@ hide_table_of_contents: false

# Introduction

> Remark: SRS5 is developing and not stable.
> Remark: SRS6 is developing and not stable.
## SRS Overview
SRS is a open-source ([MIT Licensed](/license)), simple, high-efficiency, real-time video server supporting RTMP,
WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH, and GB28181. SRS media server works with clients like [FFmpeg](https://ffmpeg.org),
[OBS](https://obsproject.com), [VLC](https://www.videolan.org), and [WebRTC](https://webrtc.org) to provide
the ability to [receive and distribute streams](./getting-started.md) in a typical publish (push) and
subscribe (play) server model. SRS supports widely used internet audio and video protocol conversions,
such as converting [RTMP](./rtmp.md) or [SRT](./srt.md) to [HLS](./hls.md), [HTTP-FLV](./flv.md), or
[WebRTC](./webrtc.md).

SRS is a simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT.
SRS provides an [HTTP API](./http-api.md) open interface to query system and stream status. It also supports
[HTTP Callback](./http-callback.md) for callback capabilities, actively notifying your system and implementing
stream authentication and business customization (such as dynamic DVR). SRS also supports the official
[Prometheus Exporter](./exporter.md) for integration with cloud-native monitoring systems, offering powerful
observability. SRS supports session-level [traceable logs](./log.md), greatly reducing system maintenance costs.

[![SRS Overview](/img/SRS-SingleNode-4.0-sd.png)](/img/SRS-SingleNode-4.0-hd.png)
If you are new to audio, video, and streaming media or new to SRS, we recommend reading [Getting Started](./getting-started.md)
and [Learning Path](/guide). Please take the time to read the following documentation, as reading and
familiarizing yourself with the documentation is a basic requirement of the community. If you encounter any
problems, please first search in the [FAQ](/faq), then in [Issues](https://github.com/ossrs/srs/issues) and
[Discussions](https://github.com/ossrs/srs/discussions) to find answers to almost all questions.

> Note: The single node architecture for SRS, general and major use scenario, please see [figma](https://www.figma.com/file/333POxVznQ8Wz1Rxlppn36/SRS-4.0-Server-Arch).
SRS is developed using ANSI C++ (98) and only uses basic C++ capabilities. It can run on multiple platforms
such as Linux, Windows, and macOS. We recommend using Ubuntu 20+ for development and debugging. The image
we provide [ossrs/srs](https://hub.docker.com/r/ossrs/srs) is also built on Ubuntu 20 (focal).

[![SRS Overview](/img/SRS-Overview-4.0.png)](/img/SRS-Overview-4.0.png)
> Note: To solve the long connection and complex state machine problems in complex streaming media processing,
> SRS uses [ST(State Threads)](https://github.com/ossrs/state-threads) coroutine technology (similar
> to [Goroutine](https://go.dev/doc/effective_go#goroutines)) and continuously enhances and maintains
> 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.
> Note: The cluster architecture, for detail picture please see [here](https://www.processon.com/view/link/5e3f5581e4b0a3daae80ecef)
## Who's using SRS?

Please read [Getting Started](../doc/getting-started).
SRS users are spread all over the world, and we welcome everyone to showcase their SRS applications
in [SRS Use Cases](https://github.com/ossrs/srs/discussions/3771).

## Solution Guides
## Governance

TBD.
We welcome everyone to participate in the development and maintenance of SRS. We recommend starting by
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).

## Develop Guide
## Milestone

TBD.
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).

## Tech Docs
## Sponsors

TBD.
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).

## Cluster Guides
## About SRS Stack

Please see [link](../category/clusters).

## Effective SRS

Please see [link](/guide#scenario).

## Deployment Guides

Please see [link](../category/main-protocols).

## Integration Guides

Please see [link](../category/openapi).

## Video Guides

Please see [link](../tutorial/srs-server).
SRS Stack is a lightweight, open-source video cloud solution based on Go, Reactjs, SRS, FFmpeg, WebRTC,
and more. For more details, please refer to [SRS Stack](./getting-started-stack.md).

![](https://ossrs.net/gif/v1/sls.gif?site=ossrs.io&path=/lts/doc/en/v6/introduction)

Expand Down
14 changes: 14 additions & 0 deletions i18n/en-us/docusaurus-plugin-content-docs/current/doc/srt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: SRT
sidebar_label: SRT
hide_title: false
hide_table_of_contents: false
---

# SRT

See [SRT](./sample-srt.md).

![](https://ossrs.net/gif/v1/sls.gif?site=ossrs.net&path=/lts/doc/en/v6/srt)


14 changes: 14 additions & 0 deletions i18n/zh-cn/docusaurus-plugin-content-docs/current/doc/flv.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: HTTP-FLV
sidebar_label: HTTP-FLV
hide_title: false
hide_table_of_contents: false
---

# HTTP-FLV

See [HTTP-FLV](./delivery-http-flv.md).

![](https://ossrs.net/gif/v1/sls.gif?site=ossrs.net&path=/lts/doc/zh/v6/flv)


14 changes: 14 additions & 0 deletions i18n/zh-cn/docusaurus-plugin-content-docs/current/doc/hls.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: HLS
sidebar_label: HLS
hide_title: false
hide_table_of_contents: false
---

# HLS

See [HLS](./sample-hls.md).

![](https://ossrs.net/gif/v1/sls.gif?site=ossrs.net&path=/lts/doc/zh/v6/hls)


Original file line number Diff line number Diff line change
Expand Up @@ -7,86 +7,51 @@ hide_table_of_contents: false

# Introduction

> 注意:SRS5属于开发版,不稳定。
> 注意:SRS6属于开发版,不稳定。
## SRS Overview
SRS是一个开源的([MIT协议](/license))简单高效的实时视频服务器,支持RTMP、WebRTC、HLS、HTTP-FLV、SRT、MPEG-DASH和GB28181等协议。
SRS媒体服务器和[FFmpeg](https://ffmpeg.org)[OBS](https://obsproject.com)[VLC](https://www.videolan.org)
[WebRTC](https://webrtc.org)等客户端配合使用,提供[流的接收和分发](./getting-started.md)的能力,是一个典型的发布
(推流)和订阅(播放)服务器模型。 SRS支持互联网广泛应用的音视频协议转换,比如可以将[RTMP](./rtmp.md)[SRT](./srt.md)
转成[HLS](./hls.md)[HTTP-FLV](./flv.md)[WebRTC](./webrtc.md)等协议。

SRS是一个简单高效的实时视频服务器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181。
SRS提供了[HTTP API](./http-api.md)开放接口,可以查询系统的状态和流状态。同时还支持[HTTP Callback](./http-callback.md)
支持回调能力,主动通知你的系统,并可以实现流的鉴权能力和业务定制(比如动态DVR)。SRS也支持官方的[Prometheus Exporter](./exporter.md)
对接到云原生的监控系统,具备强大的可观测性。SRS支持会话级别[可追踪日志](./log.md),极大降低了系统维护成本。

[![SRS Overview](/img/SRS-SingleNode-4.0-sd.png)](/img/SRS-SingleNode-4.0-hd.png)
若你是新接触音视频和流媒体的朋友,或者新接触SRS的朋友,推荐阅读[快速起步](./getting-started.md)[学习路径](/guide)。请花时间
阅读后续的文档,阅读和熟悉文档是社区的基本要求。如果你遇到问题,请先在[FAQ](/faq)中快速查找,然后在[Issues](https://github.com/ossrs/srs/issues)
[Discussions](https://github.com/ossrs/srs/discussions)中查找,几乎所有问题都可以在这里找到答案。

> Note: 简单的单节点架构,适用于大多数场景,大图请看[figma](https://www.figma.com/file/333POxVznQ8Wz1Rxlppn36/SRS-4.0-Server-Arch)
SRS使用ANSI C++ (98)开发,只使用了基本的C++能力,可以在Linux、Windows、macOS等多个平台运行,推荐使用Ubuntu 20+系统开发和调试,
我们提供的镜像[ossrs/srs](https://hub.docker.com/r/ossrs/srs)也是基于Ubuntu 20 (focal)构建的。

[![SRS Overview](/img/SRS-Overview-4.0.png)](/img/SRS-Overview-4.0.png)
> Note: 为了解决复杂的流媒体处理中的长连接和复杂的状态机问题,SRS使用了[ST(State Threads)](https://github.com/ossrs/state-threads)
协程技术(类似[Goroutine](https://go.dev/doc/effective_go#goroutines)),并在不断增强和维护ST的能力,支持了Linux、Windows、macOS
多个平台,X86_64、ARMv7、AARCH64、M1、RISCV、LOONGARCH和MIPS等多种CPU架构。

> Note: 这是典型的源站和边缘集群的架构,适用于需要高并发的场景,高清大图请参考[这里](https://www.processon.com/view/link/5e3f5581e4b0a3daae80ecef)
## Who's using SRS?

对于新手来说,音视频的门槛真的非常高,SRS的目标是**降低**(不能**消除**)音视频的门槛,所以请一定要读完Wiki。
不读Wiki一定扑街,不读文档请不要提Issue,不读文档请不要提问题,任何文档中明确说过的疑问都不会解答。
SRS的用户遍布全球,欢迎大家在[SRS应用案例](https://github.com/ossrs/srs/discussions/3771)中展示自己的SRS应用。

Please read [Getting Started](../doc/getting-started).
## Governance

## Solution Guides
欢迎大家参与SRS的开发和维护,推荐从[Contribute](https://github.com/ossrs/srs/contribute)解决Issue和
[提交PR](/how-to-file-pr)开始, 所有贡献过的朋友都会在[Contributors](https://github.com/ossrs/srs#authors)
中展示。

* [陈海博:SRS在安防中的应用](https://www.bilibili.com/video/BV11S4y197Zx)
* 最佳实践:[一对一通话](https://mp.weixin.qq.com/s/xWe6f9WRhtwnpJQ8SO0Eeg)[多人通话](https://mp.weixin.qq.com/s/CM2h99A1e_masL5sjkp4Zw)[直播连麦](https://mp.weixin.qq.com/s/7xexl07rrWBdh8xennXK3w)
* [最佳实践:如何扩展你的SRS并发能力?](https://mp.weixin.qq.com/s/pd9YQS0WR3hSuHybkm1F7Q)
* SRS是单进程模型,不支持多进程;可以使用[集群](https://mp.weixin.qq.com/s/pd9YQS0WR3hSuHybkm1F7Q) 或者[ReusePort](./reuse-port.md)扩展多进程(多核)能力。
* [基于HLS-TS&RTMP-FLV的微信小程序点直播方案](https://mp.weixin.qq.com/s/xhScUrkoroM7Q7ziODHyMA)
* [借力SRS落地实际业务的几个关键事项](https://mp.weixin.qq.com/s/b19kBer_phZl4n4oUBOvxQ)
* [干货 | 基于SRS直播平台的监控系统之实现思路与过程](https://mp.weixin.qq.com/s/QDTtW85giKmryhvCBkyyCg)
* [Android直播实现](https://blog.csdn.net/dxpqxb/article/details/83012950)
* [SRS直播服务器与APP用户服务器的交互](https://www.jianshu.com/p/f3dfa727475a)
* [使用flvjs实现摄像头flv流低延时实时直播](https://www.jianshu.com/p/2647393f956a)
* [IOS 直播方面探索(服务器搭建,推流,拉流)](https://www.jianshu.com/p/1aa677d99d17)
* [国产开源流媒体SRS4.0对视频监控GB28181的支持](https://mp.weixin.qq.com/s/VIPSPaBB5suUk7_I2oOkMw)
## Milestone

## Develop Guide
SRS大概是两年发布一个大版本,一年时间开发,一年时间提升稳定性,详细请参考[Milestone](/product)

* [高性能网络服务器设计](https://blog.csdn.net/win_lin/article/details/8242653),分析高性能网络服务器的设计要点。
* [SRS高精度、低误差定时器](https://mp.weixin.qq.com/s/DDSzRKHyJ-uYQ9QQC9VOZg),论高并发服务器的定时器问题。
* [协程原理:函数调用过程、参数和寄存器](https://mp.weixin.qq.com/s/2TsYSiV8ysyLrELHdlHtjg),剖析SRS协程实现的最底层原理。
* [性能优化:SRS为何能做到同类的三倍](https://mp.weixin.qq.com/s/r2jn1GAcHe08IeTW32OyuQ),论性能优化的七七八八、前前后后。
* [SRS代码分析](https://github.com/xialixin/srs_code_note/blob/master/doc/srs_note.md),分析SRS结构和代码逻辑,类结构图,线程模型,模块架构。
* [Third-party Client SDK](./client-sdk.md): 第三方厂商提供的客户端推流和播放的SDK,一般是移动端包括Andoird和iOS。
* [轻量线程分析](https://github.com/ossrs/state-threads#analysis),分析SRS依赖的库ST的关键技术。
* [SRS代码分析](https://github.com/xialixin/srs_code_note/blob/master/doc/srs_note.md),分析SRS结构和代码逻辑,类结构图,线程模型,模块架构。
* [深度: 掀起你的汇编来:如何移植ST协程到其他系统或CPU?](https://mp.weixin.qq.com/s/dARz99INVlGuoFW6K7SXaw)
* [肖志宏:SRS支持WebRTC级联和QUIC协议](https://www.bilibili.com/video/BV1Db4y1b77J)
* [StateThreads源码分析](https://www.xianwaizhiyin.net/?cat=24)
* [SRS 4.0源码分析](https://www.xianwaizhiyin.net/?cat=21)
## Sponsors

## Tech Docs
SRS致力于构建一个非盈利性的开源项目和社区,我们对赞助SRS朋友提供专门的社区支持,请看[Sponsor](/contact#donation)

* [历经5代跨越25年的RTC架构演化史](https://mp.weixin.qq.com/s/fO-FcKU_9Exdqh4xb_U5Xw)
* [技术解码 | SRT和RIST协议综述](https://mp.weixin.qq.com/s/jjtD4ik-9noMyWbecogXHg)
* [公众号专栏:SRS,知识库,重要功能和阶段性结果,解决方案和DEMO](https://mp.weixin.qq.com/mp/appmsgalbum?action=getalbum&__biz=MzA4NTQ3MzQ5OA==&scene=1&album_id=1703565147509669891&count=10#wechat_redirect)
* [公众号专栏:深度,底层技术分析,服务器模型,协议处理,性能优化等](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzA4NTQ3MzQ5OA==&action=getalbum&album_id=2156820160114900994#wechat_redirect)
* [公众号专栏:动态,关于最新的会议和动态,新闻,社区等](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzA4NTQ3MzQ5OA==&action=getalbum&album_id=1683217451712299009&count=10#wechat_redirect)
* [WebRTC 的现状和未来:专访 W3C WebRTC Chair Bernard Aboba](https://mp.weixin.qq.com/s/0HzzWSb5irvpNKNnSJL6Bg)
* [B站专栏(视频):SRS开源服务器](https://space.bilibili.com/430256302/channel/detail?cid=136049)
* [零声学院(视频):SRS流媒体服务器实战](https://www.bilibili.com/video/BV1XZ4y1P7um)
* [音视频开发为什么要学SRS流媒体服务器](https://zhuanlan.zhihu.com/p/190182314)
## About SRS Stack

## Cluster Guides

Please see [link](../category/clusters).

## Effective SRS

Please see [link](/guide#scenario).

## Deployment Guides

Please see [link](../category/main-protocols).

## Integration Guides

Please see [link](../category/openapi).

## Video Guides

Please see [link](../tutorial/srs-server).
SRS Stack是一个基于Go、Reactjs、SRS、FFmpeg、WebRTC等的轻量级、开源的视频云解决方案。
详细请参考[SRS Stack](./getting-started-stack.md)

![](https://ossrs.net/gif/v1/sls.gif?site=ossrs.net&path=/lts/doc/zh/v6/introduction)

Expand Down
14 changes: 14 additions & 0 deletions i18n/zh-cn/docusaurus-plugin-content-docs/current/doc/srt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: SRT
sidebar_label: SRT
hide_title: false
hide_table_of_contents: false
---

# SRT

See [SRT](./sample-srt.md).

![](https://ossrs.net/gif/v1/sls.gif?site=ossrs.net&path=/lts/doc/zh/v6/srt)


14 changes: 14 additions & 0 deletions i18n/zh-cn/docusaurus-plugin-content-docs/version-5.0/doc/flv.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: HTTP-FLV
sidebar_label: HTTP-FLV
hide_title: false
hide_table_of_contents: false
---

# HTTP-FLV

See [HTTP-FLV](./delivery-http-flv.md).

![](https://ossrs.net/gif/v1/sls.gif?site=ossrs.net&path=/lts/doc/zh/v5/flv)


14 changes: 14 additions & 0 deletions i18n/zh-cn/docusaurus-plugin-content-docs/version-5.0/doc/hls.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: HLS
sidebar_label: HLS
hide_title: false
hide_table_of_contents: false
---

# HLS

See [HLS](./sample-hls.md).

![](https://ossrs.net/gif/v1/sls.gif?site=ossrs.net&path=/lts/doc/zh/v5/hls)


Loading

0 comments on commit c7b4750

Please sign in to comment.