2020-08-24 05:08:21 +00:00
# SRS(Simple Realtime Server)
2013-10-17 06:15:20 +00:00
2022-11-22 04:44:49 +00:00
![](http://ossrs.net/gif/v1/sls.gif?site=github.com& path=/srs/develop)
[![ ](https://github.com/ossrs/srs/actions/workflows/codeql-analysis.yml/badge.svg?branch=develop )](https://github.com/ossrs/srs/actions?query=workflow%3ACodeQL+branch%3Adevelop)
2021-08-15 03:48:25 +00:00
[![ ](https://github.com/ossrs/srs/actions/workflows/release.yml/badge.svg )](https://github.com/ossrs/srs/actions/workflows/release.yml?query=workflow%3ARelease)
2022-11-22 04:44:49 +00:00
[![ ](https://github.com/ossrs/srs/actions/workflows/test.yml/badge.svg?branch=develop )](https://github.com/ossrs/srs/actions?query=workflow%3ATest+branch%3Adevelop)
2022-11-23 10:53:52 +00:00
[![ ](https://codecov.io/gh/ossrs/srs/branch/develop/graph/badge.svg?token=Zx2LhdtA39 )](https://app.codecov.io/gh/ossrs/srs/tree/develop)
2022-08-15 00:18:20 +00:00
[![ ](https://ossrs.net/wiki/images/wechat-badge4.svg )](https://ossrs.net/lts/zh-cn/contact#discussion)
2022-02-28 12:26:55 +00:00
[![ ](https://img.shields.io/twitter/follow/srs_server?style=social )](https://twitter.com/srs_server)
2023-05-12 09:18:30 +00:00
[![ ](https://img.shields.io/badge/SRS-YouTube-red )](https://www.youtube.com/@srs_server)
2022-02-28 12:26:55 +00:00
[![ ](https://badgen.net/discord/members/yZ4BnPmHAd )](https://discord.gg/yZ4BnPmHAd)
2022-03-15 06:19:41 +00:00
[![ ](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fossrs%2Fsrs.svg?type=small )](https://app.fossa.com/projects/git%2Bgithub.com%2Fossrs%2Fsrs?ref=badge_small)
2022-08-15 00:18:20 +00:00
[![ ](https://ossrs.net/wiki/images/srs-faq.svg )](https://ossrs.net/lts/zh-cn/faq)
2022-02-28 12:26:55 +00:00
[![ ](https://badgen.net/badge/srs/stackoverflow/orange?icon=terminal )](https://stackoverflow.com/questions/tagged/simple-realtime-server)
Support include empty config file. v5.0.173 v6.0.68 (#3768)
SRS supports including another configuration in the include package.
When generating configurations, we can only generate the changed
configurations, while the unchanged configurations are in the fixed
files, for example:
```nginx
listen 1935;
include server.conf;
```
In `server.conf`, we can manage the changing configurations with the
program:
```nginx
http_api { enabled on; }
```
However, during system initialization, we often create an empty
`server.conf`, and the content is generated only after the program
starts, so `server.conf` might be an empty file. This also makes it
convenient to use a script to confirm the existence of this file:
```bash
touch server.conf
```
Currently, SRS does not support empty configurations and will report an
error. This PR is to solve this problem, making it more convenient to
use include.
`TRANS_BY_GPT4`
---------
Co-authored-by: Haibo Chen <495810242@qq.com>
2023-08-28 02:28:23 +00:00
[![ ](https://opencollective.com/srs-server/tiers/badge.svg )](https://opencollective.com/srs-server)
2022-01-11 00:40:05 +00:00
[![ ](https://img.shields.io/docker/pulls/ossrs/srs )](https://hub.docker.com/r/ossrs/srs/tags)
2023-12-23 12:30:26 +00:00
[![ ](https://ossrs.net/wiki/images/do-btn-srs-125x20.svg )](https://marketplace.digitalocean.com/apps/srs)
2023-01-10 13:17:13 +00:00
[![ ](https://api.securityscorecards.dev/projects/github.com/ossrs/srs/badge )](https://api.securityscorecards.dev/projects/github.com/ossrs/srs)
2023-01-11 03:55:42 +00:00
[![ ](https://bestpractices.coreinfrastructure.org/projects/5619/badge )](https://bestpractices.coreinfrastructure.org/projects/5619)
2016-09-15 06:17:33 +00:00
2023-09-25 01:39:30 +00:00
SRS/6.0 ([Hang](https://ossrs.io/lts/en-us/product#release-60)) is a simple, high-efficiency, and real-time video server,
2023-05-12 09:18:30 +00:00
supporting RTMP/WebRTC/HLS/HTTP-FLV/SRT/MPEG-DASH/GB28181, Linux/Windows/macOS, X86_64/ARMv7/AARCH64/M1/RISCV/LOONGARCH/MIPS,
and essential [features ](trunk/doc/Features.md#features ).
2022-02-14 01:41:58 +00:00
2022-04-06 07:20:37 +00:00
[![SRS Overview ](https://ossrs.net/wiki/images/SRS-SingleNode-4.0-sd.png?v=114 )](https://ossrs.net/wiki/images/SRS-SingleNode-4.0-hd.png)
2022-04-04 12:17:30 +00:00
2023-05-12 09:18:30 +00:00
> Note: For more details on the single-node architecture for SRS, please visit the following [link](https://www.figma.com/file/333POxVznQ8Wz1Rxlppn36/SRS-4.0-Server-Arch).
2021-11-25 06:18:44 +00:00
2023-10-23 06:26:17 +00:00
SRS is licenced under [MIT ](https://github.com/ossrs/srs/blob/develop/LICENSE ), and some third-party libraries are
distributed under their [licenses ](https://ossrs.io/lts/en-us/license ).
2022-04-06 05:03:32 +00:00
2022-04-06 09:05:46 +00:00
< a name = "product" > < / a > < a name = "usage-docker" > < / a >
2017-01-04 03:52:30 +00:00
2023-09-28 03:36:57 +00:00
## Usage
2022-08-09 07:52:35 +00:00
2023-09-28 03:36:57 +00:00
Please check the Getting Started guide in [English ](https://ossrs.io/lts/en-us/docs/v5/doc/getting-started )
or [Chinese ](https://ossrs.net/lts/zh-cn/docs/v5/doc/getting-started ). We highly recommend using SRS with docker:
2021-05-24 07:19:49 +00:00
2023-09-28 03:36:57 +00:00
```bash
docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 \
-p 8000:8000/udp -p 10080:10080/udp ossrs/srs:5
2021-05-24 07:19:49 +00:00
```
2023-09-28 03:36:57 +00:00
> Tips: If you're in China, use this image `registry.cn-hangzhou.aliyuncs.com/ossrs/srs:5` for faster speed.
2021-03-05 02:04:18 +00:00
2023-05-12 09:18:30 +00:00
Open [http://localhost:8080/ ](http://localhost:8080/ ) to verify, and then stream using the following
[FFmpeg ](https://ffmpeg.org/download.html ) command:
2021-03-05 02:04:18 +00:00
```bash
2021-08-13 07:00:55 +00:00
ffmpeg -re -i ./doc/source.flv -c copy -f flv -y rtmp://localhost/live/livestream
2021-03-05 02:04:18 +00:00
```
2023-05-12 09:18:30 +00:00
Alternatively, stream by [OBS ](https://obsproject.com/download ) using the following configuration:
2021-03-05 02:04:18 +00:00
2023-05-12 09:18:30 +00:00
* Service: `Custom`
* Server: `rtmp://localhost/live`
* Stream Key: `livestream`
2022-01-11 00:40:05 +00:00
2023-05-12 09:18:30 +00:00
Play the following streams using media players:
2022-01-11 00:40:05 +00:00
2023-05-12 09:18:30 +00:00
* To play an RTMP stream with URL `rtmp://localhost/live/livestream` on [VLC player ](https://www.videolan.org/ ), open the player, go to Media > Open Network Stream, enter the URL and click Play.
* You can play HTTP-FLV stream URL [http://localhost:8080/live/livestream.flv ](http://localhost:8080/players/srs_player.html?autostart=true&stream=livestream.flv ) on a webpage using the srs-player, an HTML5-based player.
* Use srs-player for playing HLS stream with URL [http://localhost:8080/live/livestream.m3u8 ](http://localhost:8080/players/srs_player.html?autostart=true&stream=livestream.m3u8 ).
2021-03-05 02:04:18 +00:00
2023-09-28 03:36:57 +00:00
If you'd like to use WebRTC, convert RTMP to WebRTC, or convert WebRTC to RTMP, please check out
the wiki documentation in either [English ](https://ossrs.io/lts/en-us/docs/v5/doc/getting-started#webrtc ) or
[Chinese ](https://ossrs.net/lts/zh-cn/docs/v5/doc/getting-started#webrtc ).
To learn more about RTMP, HLS, HTTP-FLV, SRT, MPEG-DASH, WebRTC protocols, clustering,
HTTP API, DVR, and transcoding, please check the documents in [English ](https://ossrs.io )
or [Chinese ](https://ossrs.net ).
2019-12-02 10:41:17 +00:00
Support include empty config file. v5.0.173 v6.0.68 (#3768)
SRS supports including another configuration in the include package.
When generating configurations, we can only generate the changed
configurations, while the unchanged configurations are in the fixed
files, for example:
```nginx
listen 1935;
include server.conf;
```
In `server.conf`, we can manage the changing configurations with the
program:
```nginx
http_api { enabled on; }
```
However, during system initialization, we often create an empty
`server.conf`, and the content is generated only after the program
starts, so `server.conf` might be an empty file. This also makes it
convenient to use a script to confirm the existence of this file:
```bash
touch server.conf
```
Currently, SRS does not support empty configurations and will report an
error. This PR is to solve this problem, making it more convenient to
use include.
`TRANS_BY_GPT4`
---------
Co-authored-by: Haibo Chen <495810242@qq.com>
2023-08-28 02:28:23 +00:00
## Sponsor
Would you like additional assistance from us? By becoming a sponsor or backer of SRS, we can provide you
with the support you need:
* Backer: $5 per month, online text chat support through Discord.
2023-10-08 12:43:14 +00:00
* Sponsor: $100 per month, online text chat plus online meeting support.
2021-06-15 07:51:28 +00:00
Support include empty config file. v5.0.173 v6.0.68 (#3768)
SRS supports including another configuration in the include package.
When generating configurations, we can only generate the changed
configurations, while the unchanged configurations are in the fixed
files, for example:
```nginx
listen 1935;
include server.conf;
```
In `server.conf`, we can manage the changing configurations with the
program:
```nginx
http_api { enabled on; }
```
However, during system initialization, we often create an empty
`server.conf`, and the content is generated only after the program
starts, so `server.conf` might be an empty file. This also makes it
convenient to use a script to confirm the existence of this file:
```bash
touch server.conf
```
Currently, SRS does not support empty configurations and will report an
error. This PR is to solve this problem, making it more convenient to
use include.
`TRANS_BY_GPT4`
---------
Co-authored-by: Haibo Chen <495810242@qq.com>
2023-08-28 02:28:23 +00:00
Please visit [OpenCollective ](https://opencollective.com/srs-server ) to become a backer or sponsor, and send
us a direct message on [Discord ](https://discord.gg/yZ4BnPmHAd ). We are currently providing support to the
developers listed below:
2021-12-17 06:23:32 +00:00
Support include empty config file. v5.0.173 v6.0.68 (#3768)
SRS supports including another configuration in the include package.
When generating configurations, we can only generate the changed
configurations, while the unchanged configurations are in the fixed
files, for example:
```nginx
listen 1935;
include server.conf;
```
In `server.conf`, we can manage the changing configurations with the
program:
```nginx
http_api { enabled on; }
```
However, during system initialization, we often create an empty
`server.conf`, and the content is generated only after the program
starts, so `server.conf` might be an empty file. This also makes it
convenient to use a script to confirm the existence of this file:
```bash
touch server.conf
```
Currently, SRS does not support empty configurations and will report an
error. This PR is to solve this problem, making it more convenient to
use include.
`TRANS_BY_GPT4`
---------
Co-authored-by: Haibo Chen <495810242@qq.com>
2023-08-28 02:28:23 +00:00
[![ ](https://opencollective.com/srs-server/backers.svg?width=800&button=false )](https://opencollective.com/srs-server)
2021-12-13 08:13:54 +00:00
2023-09-28 03:36:57 +00:00
At SRS, our goal is to create a free, open-source community that helps developers all over the world
build high-quality streaming and RTC platforms for their businesses.
< a name = "authors" > < / a >
Support include empty config file. v5.0.173 v6.0.68 (#3768)
SRS supports including another configuration in the include package.
When generating configurations, we can only generate the changed
configurations, while the unchanged configurations are in the fixed
files, for example:
```nginx
listen 1935;
include server.conf;
```
In `server.conf`, we can manage the changing configurations with the
program:
```nginx
http_api { enabled on; }
```
However, during system initialization, we often create an empty
`server.conf`, and the content is generated only after the program
starts, so `server.conf` might be an empty file. This also makes it
convenient to use a script to confirm the existence of this file:
```bash
touch server.conf
```
Currently, SRS does not support empty configurations and will report an
error. This PR is to solve this problem, making it more convenient to
use include.
`TRANS_BY_GPT4`
---------
Co-authored-by: Haibo Chen <495810242@qq.com>
2023-08-28 02:28:23 +00:00
2023-09-28 03:36:57 +00:00
## Contributing
2021-12-13 01:24:16 +00:00
2023-09-28 03:36:57 +00:00
The [authors ](trunk/AUTHORS.md#authors ), [TOC(Technical Oversight Committee) ](trunk/AUTHORS.md#toc ),
and [contributors ](trunk/AUTHORS.md#contributors ) are listed [here ](trunk/AUTHORS.md ). The TOC members
who made significant contributions and maintained parts of SRS are listed below:
2021-06-15 07:51:28 +00:00
2023-05-12 09:18:30 +00:00
* [Winlin ](https://github.com/winlinvip ): Founder of the project, focusing on ST and Issues/PR. Responsible for architecture and maintenance.
* [ZhaoWenjie ](https://github.com/wenjiegit ): One of the earliest contributors, focusing on HDS and Windows. Has expertise in client technology.
* [ShiWei ](https://github.com/runner365 ): Specializes in SRT and H.265, maintaining SRT and FLV patches for FFmpeg. An expert in codecs and FFmpeg.
* [XiaoZhihong ](https://github.com/xiaozhihong ): Concentrates on WebRTC/QUIC and SRT, with expertise in network QoS. Contributed to ARM on ST and was the original contributor for WebRTC.
* [WuPengqiang ](https://github.com/Bepartofyou ): Focused on H.265, initially contributed to the FFmpeg module in SRS for transcoding AAC with OPUS for WebRTC.
* [XiaLixin ](https://github.com/xialixin ): Specializes in GB28181, with expertise in live streaming and WebRTC.
* [LiPeng ](https://github.com/lipeng19811218 ): Concentrates on WebRTC and contributes to memory management and smart pointers.
* [ChenGuanghua ](https://github.com/chen-guanghua ): Focused on WebRTC/QoS and introduced the Asan toolchain to SRS.
* [ChenHaibo ](https://github.com/duiniuluantanqin ): Specializes in GB28181 and HTTP API, contributing to patches for FFmpeg with WHIP.
2023-06-13 02:24:40 +00:00
* [ZhangJunqin ](https://github.com/chundonglinlin ): Focused on H.265, Prometheus Exporter, and API module.
2021-06-15 07:51:28 +00:00
2023-09-28 03:36:57 +00:00
A huge `THANK YOU` goes out to:
2021-06-15 07:51:28 +00:00
2023-09-28 03:36:57 +00:00
* All the [contributors ](trunk/AUTHORS.md#contributors ) of SRS.
* All the friends of SRS who gave [big support ](https://ossrs.net/lts/zh-cn/product ).
* [Genes ](http://sourceforge.net/users/genes ), [Mabbott ](http://sourceforge.net/users/mabbott ), and [Michael Talyanksy ](https://github.com/michaeltalyansky ) for making and sharing [State Threads ](https://github.com/ossrs/state-threads/tree/srs ).
2022-01-19 11:04:14 +00:00
2023-09-28 03:36:57 +00:00
We're really thankful to everyone in the community for helping us find bugs and improve the project.
To stay in touch and keep helping our community, please check out this [guide ](https://github.com/ossrs/srs/contribute ).
2021-06-15 07:51:28 +00:00
2022-03-15 05:48:41 +00:00
## LICENSE
2022-03-15 06:19:41 +00:00
[![FOSSA Status ](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fossrs%2Fsrs.svg?type=small )](https://app.fossa.com/projects/git%2Bgithub.com%2Fossrs%2Fsrs?ref=badge_small)
2022-03-15 05:51:27 +00:00
2023-10-23 06:26:17 +00:00
SRS is licenced under [MIT ](https://github.com/ossrs/srs/blob/develop/LICENSE ), and some third-party libraries are
distributed under their [licenses ](https://ossrs.io/lts/en-us/license ).
2022-03-15 05:48:41 +00:00
[![ ](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fossrs%2Fsrs.svg?type=large )](https://app.fossa.com/projects/git%2Bgithub.com%2Fossrs%2Fsrs?ref=badge_large)
2019-12-02 10:41:17 +00:00
## Releases
2017-01-04 03:46:22 +00:00
2023-11-19 14:00:43 +00:00
* 2023-11-19, [Release v6.0-d3 ](https://github.com/ossrs/srs/releases/tag/v6.0-d3 ), v6.0-d3, 6.0 dev3, v6.0.101, 167560 lines.
2023-09-28 01:54:55 +00:00
* 2023-09-28, [Release v6.0-d2 ](https://github.com/ossrs/srs/releases/tag/v6.0-d2 ), v6.0-d2, 6.0 dev2, v6.0.85, 167509 lines.
2023-08-31 01:45:25 +00:00
* 2023-08-31, [Release v6.0-d1 ](https://github.com/ossrs/srs/releases/tag/v6.0-d1 ), v6.0-d1, 6.0 dev1, v6.0.72, 167135 lines.
2023-07-09 13:54:55 +00:00
* 2023-07-09, [Release v6.0-d0 ](https://github.com/ossrs/srs/releases/tag/v6.0-d0 ), v6.0-d0, 6.0 dev0, v6.0.59, 166739 lines.
2024-01-01 02:51:24 +00:00
* 2023-12-30, [Release v5.0-r0 ](https://github.com/ossrs/srs/releases/tag/v5.0-r0 ), v5.0-r0, 5.0 release0, v5.0.205, 163363 lines.
2023-11-19 14:00:43 +00:00
* 2023-11-19, [Release v5.0-b7 ](https://github.com/ossrs/srs/releases/tag/v5.0-b7 ), v5.0-b7, 5.0 beta7, v5.0.200, 163305 lines.
2023-10-25 12:45:10 +00:00
* 2023-10-25, [Release v5.0-b6 ](https://github.com/ossrs/srs/releases/tag/v5.0-b6 ), v5.0-b6, 5.0 beta6, v5.0.195, 163303 lines.
2023-09-28 01:54:55 +00:00
* 2023-09-28, [Release v5.0-b5 ](https://github.com/ossrs/srs/releases/tag/v5.0-b5 ), v5.0-b5, 5.0 beta5, v5.0.185, 163254 lines.
2023-08-31 01:45:25 +00:00
* 2023-08-31, [Release v5.0-b4 ](https://github.com/ossrs/srs/releases/tag/v5.0-b4 ), v5.0-b4, 5.0 beta4, v5.0.176, 162919 lines.
* 2023-08-02, [Release v5.0-b3 ](https://github.com/ossrs/srs/releases/tag/v5.0-b3 ), v5.0-b3, 5.0 beta3, v5.0.170, 162704 lines.
2023-07-09 13:54:55 +00:00
* 2023-07-09, [Release v5.0-b2 ](https://github.com/ossrs/srs/releases/tag/v5.0-b2 ), v5.0-b2, 5.0 beta2, v5.0.166, 162520 lines.
* 2023-06-11, [Release v5.0-b1 ](https://github.com/ossrs/srs/releases/tag/v5.0-b1 ), v5.0-b1, 5.0 beta1, v5.0.157, 162494 lines.
2023-05-14 05:07:56 +00:00
* 2023-05-14, [Release v5.0-b0 ](https://github.com/ossrs/srs/releases/tag/v5.0-b0 ), v5.0-b0, 5.0 beta0, v5.0.155, 162600 lines.
* 2023-03-23, [Release v5.0-a5 ](https://github.com/ossrs/srs/releases/tag/v5.0-a5 ), v5.0-a5, 5.0 alpha5, v5.0.148, 162066 lines.
2023-02-12 08:25:31 +00:00
* 2023-02-12, [Release v5.0-a4 ](https://github.com/ossrs/srs/releases/tag/v5.0-a4 ), v5.0-a4, 5.0 alpha4, v5.0.141, 161897 lines.
* 2023-01-02, [Release v5.0-a3 ](https://github.com/ossrs/srs/releases/tag/v5.0-a3 ), v5.0-a3, 5.0 alpha3, v5.0.128, 161327 lines.
2022-12-18 01:55:57 +00:00
* 2022-12-18, [Release v5.0-a2 ](https://github.com/ossrs/srs/releases/tag/v5.0-a2 ), v5.0-a2, 5.0 alpha2, v5.0.112, 161233 lines.
2022-12-01 15:10:21 +00:00
* 2022-12-01, [Release v5.0-a1 ](https://github.com/ossrs/srs/releases/tag/v5.0-a1 ), v5.0-a1, 5.0 alpha1, v5.0.100, 160817 lines.
2022-11-25 05:41:38 +00:00
* 2022-11-25, [Release v5.0-a0 ](https://github.com/ossrs/srs/releases/tag/v5.0-a0 ), v5.0-a0, 5.0 alpha0, v5.0.98, 159813 lines.
2022-11-22 03:01:56 +00:00
* 2022-11-22, Release [v4.0-r4 ](https://github.com/ossrs/srs/releases/tag/v4.0-r4 ), v4.0-r4, 4.0 release4, v4.0.268, 145482 lines.
2022-09-16 02:10:35 +00:00
* 2022-09-16, Release [v4.0-r3 ](https://github.com/ossrs/srs/releases/tag/v4.0-r3 ), v4.0-r3, 4.0 release3, v4.0.265, 145328 lines.
2022-08-24 10:22:25 +00:00
* 2022-08-24, Release [v4.0-r2 ](https://github.com/ossrs/srs/releases/tag/v4.0-r2 ), v4.0-r2, 4.0 release2, v4.0.257, 144890 lines.
2022-06-29 12:32:47 +00:00
* 2022-06-29, Release [v4.0-r1 ](https://github.com/ossrs/srs/releases/tag/v4.0-r1 ), v4.0-r1, 4.0 release1, v4.0.253, 144680 lines.
2022-06-11 02:17:33 +00:00
* 2022-06-11, Release [v4.0-r0 ](https://github.com/ossrs/srs/releases/tag/v4.0-r0 ), v4.0-r0, 4.0 release0, v4.0.252, 144680 lines.
2021-12-13 01:29:59 +00:00
* 2020-06-27, [Release v3.0-r0 ](https://github.com/ossrs/srs/releases/tag/v3.0-r0 ), 3.0 release0, 3.0.141, 122674 lines.
* 2020-02-02, [Release v3.0-b0 ](https://github.com/ossrs/srs/releases/tag/v3.0-b0 ), 3.0 beta0, 3.0.112, 121709 lines.
* 2019-10-04, [Release v3.0-a0 ](https://github.com/ossrs/srs/releases/tag/v3.0-a0 ), 3.0 alpha0, 3.0.56, 107946 lines.
* 2017-03-03, [Release v2.0-r0 ](https://github.com/ossrs/srs/releases/tag/v2.0-r0 ), 2.0 release0, 2.0.234, 86373 lines.
* 2016-08-06, [Release v2.0-b0 ](https://github.com/ossrs/srs/releases/tag/v2.0-b0 ), 2.0 beta0, 2.0.210, 89704 lines.
* 2015-08-23, [Release v2.0-a0 ](https://github.com/ossrs/srs/releases/tag/v2.0-a0 ), 2.0 alpha0, 2.0.185, 89022 lines.
* 2014-12-05, [Release v1.0-r0 ](https://github.com/ossrs/srs/releases/tag/v1.0-r0 ), all bug fixed, 1.0.10, 59391 lines.
* 2014-10-09, [Release v0.9.8 ](https://github.com/ossrs/srs/releases/tag/v0.9.8 ), all bug fixed, 1.0.0, 59316 lines.
* 2014-04-07, [Release v0.9.1 ](https://github.com/ossrs/srs/releases/tag/v0.9.1 ), live streaming. 30000 lines.
* 2013-10-23, [Release v0.1.0 ](https://github.com/ossrs/srs/releases/tag/v0.1.0 ), rtmp. 8287 lines.
2017-01-04 03:46:22 +00:00
* 2013-10-17, Created.
2021-08-16 23:25:03 +00:00
## Features
Please read [FEATURES ](trunk/doc/Features.md#features ).
2022-04-06 09:05:46 +00:00
< a name = "history" > < / a > < a name = "change-logs" > < / a >
2021-08-16 23:25:03 +00:00
## Changelog
Please read [CHANGELOG ](trunk/doc/CHANGELOG.md#changelog ).
2019-12-02 10:41:17 +00:00
## Performance
2014-07-12 02:26:09 +00:00
2021-08-16 23:25:03 +00:00
Please read [PERFORMANCE ](trunk/doc/PERFORMANCE.md#performance ).
2014-12-13 04:48:49 +00:00
2014-03-21 10:20:07 +00:00
## Architecture
2021-08-16 23:25:03 +00:00
Please read [ARCHITECTURE ](trunk/doc/Architecture.md#architecture ).
2014-03-21 10:20:07 +00:00
2021-08-14 03:53:24 +00:00
## Ports
2021-08-16 23:25:03 +00:00
Please read [PORTS ](trunk/doc/Resources.md#ports ).
2021-08-14 03:53:24 +00:00
## APIs
2021-08-16 23:25:03 +00:00
Please read [APIS ](trunk/doc/Resources.md#apis ).
2021-08-14 03:53:24 +00:00
2019-12-02 10:41:17 +00:00
## Mirrors
2017-01-04 03:34:59 +00:00
2021-08-16 23:25:03 +00:00
Please read [MIRRORS ](trunk/doc/Resources.md#mirrors ).
2017-01-04 03:34:59 +00:00
2022-08-14 15:04:11 +00:00
## Dockers
Please read [DOCKERS ](trunk/doc/Dockers.md ).
2014-03-21 07:45:34 +00:00
Beijing, 2013.10< br / >
2013-10-17 06:21:30 +00:00
Winlin
2013-11-30 00:51:51 +00:00