2020-08-24 05:08:21 +00:00
# SRS(Simple Realtime Server)
2013-10-17 06:15:20 +00:00
2021-03-11 09:08:10 +00:00
![](http://ossrs.net/gif/v1/sls.gif?site=github.com& path=/srs/4.0release)
[![ ](https://circleci.com/gh/ossrs/srs/tree/4.0release.svg?style=svg&circle-token=1ef1d5b5b0cde6c8c282ed856a18199f9e8f85a9 )](https://circleci.com/gh/ossrs/srs/tree/4.0release)
[![ ](https://codecov.io/gh/ossrs/srs/branch/4.0release/graph/badge.svg )](https://codecov.io/gh/ossrs/srs/branch/4.0release)
2021-04-28 04:23:52 +00:00
[![ ](https://cloud.githubusercontent.com/assets/2777660/22814959/c51cbe72-ef92-11e6-81cc-32b657b285d5.png )](https://github.com/ossrs/srs/wiki/v4_CN_Contact#wechat)
2016-09-15 06:17:33 +00:00
2021-04-25 00:55:15 +00:00
SRS/4.0, [Leo][release4], 是一个简单高效的实时视频服务器, 支持RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181。
2021-04-16 03:13:34 +00:00
2021-04-25 00:55:15 +00:00
SRS is a simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181.
2015-03-14 14:14:04 +00:00
2021-05-25 06:39:47 +00:00
SRS is licenced under [MIT][LICENSE], but some depended libraries are distributed using their [own licenses][LicenseMixing].
2014-03-10 11:46:23 +00:00
2017-06-28 01:19:09 +00:00
< a name = "product" > < / a >
2021-05-26 06:21:23 +00:00
< a name = "usage-docker" > < / a >
2019-12-02 10:41:17 +00:00
## Usage
2017-01-04 03:52:30 +00:00
2021-05-24 07:12:36 +00:00
Run SRS by [docker][docker-srs4], images is [here ](https://hub.docker.com/r/ossrs/srs/tags ) or [there ](https://cr.console.aliyun.com/repository/cn-hangzhou/ossrs/srs/images ),
please set the CANDIDATE ([CN][v4_CN_WebRTC#config-candidate],[EN][v4_EN_WebRTC#config-candidate]) if WebRTC enabled:
2021-03-04 23:58:32 +00:00
```bash
2021-05-24 06:45:19 +00:00
docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 \
2021-03-05 01:53:15 +00:00
--env CANDIDATE=$(ifconfig en0 inet| grep 'inet '|awk '{print $2}') -p 8000:8000/udp \
2021-05-24 07:12:36 +00:00
ossrs/srs:v4.0.117 ./objs/srs -c conf/srs.conf
2021-03-04 23:58:32 +00:00
```
2021-05-26 06:21:23 +00:00
< a name = "usage-source" > < / a >
2021-05-24 06:45:19 +00:00
Or build SRS from source(or [mirrors ](#mirrors )), by CentOS7(or Linux([CN][v4_CN_Build],[EN][v4_EN_Build])):
```
git clone -b 4.0release https://gitee.com/ossrs/srs.git & &
cd srs/trunk & & ./configure & & make & & ./objs/srs -c conf/srs.conf
```
2021-03-04 23:58:32 +00:00
2021-04-24 14:45:55 +00:00
Open [http://localhost:8080/ ](http://localhost:8080/ ) to check it, then publish
2021-05-24 06:45:19 +00:00
[stream ](https://github.com/ossrs/srs/blob/3.0release/trunk/doc/source.flv ) by FFmpeg.
2021-05-24 07:12:36 +00:00
It's also able to [publish by H5 ](http://localhost:8080/players/rtc_publisher.html?autostart=true ) if WebRTC is enabled:
2021-03-04 23:58:32 +00:00
```bash
2021-05-24 06:45:19 +00:00
docker run --rm -it --network=host ossrs/srs:encoder \
ffmpeg -re -i ./doc/source.flv -c copy -f flv -y rtmp://localhost/live/livestream
2021-03-04 23:58:32 +00:00
```
2021-04-24 14:45:55 +00:00
Play the following streams by [players ](https://ossrs.net ):
2021-03-04 23:58:32 +00:00
2021-05-24 07:12:36 +00:00
* RTMP (by [VLC ](https://www.videolan.org/ )): rtmp://localhost/live/livestream
2021-03-05 01:53:15 +00:00
* H5(HTTP-FLV): [http://localhost:8080/live/livestream.flv ](http://localhost:8080/players/srs_player.html?autostart=true&stream=livestream.flv&port=8080&schema=http )
* H5(HLS): [http://localhost:8080/live/livestream.m3u8 ](http://localhost:8080/players/srs_player.html?autostart=true&stream=livestream.m3u8&port=8080&schema=http )
* H5(WebRTC): [webrtc://localhost/live/livestream ](http://localhost:8080/players/rtc_player.html?autostart=true )
2021-03-04 23:58:32 +00:00
2021-04-28 04:23:52 +00:00
< a name = "srs-40-wiki" > < / a >
< a name = "wiki" > < / a >
2017-06-28 01:23:42 +00:00
2021-04-28 04:23:52 +00:00
From here, please read wikis:
2014-03-30 12:47:24 +00:00
2021-04-28 04:23:52 +00:00
* [SRS 4.0 English Wiki][v4_EN_Home], please read Wiki first.
* [SRS 4.0 中文Wiki][v4_CN_Home], 不读Wiki一定扑街, 不读文档请不要提Issue, 不读文档请不要提问题, 任何文档中明确说过的疑问都不会解答。
2014-03-30 12:47:24 +00:00
2021-04-28 04:23:52 +00:00
Fast index for Wikis:
2021-04-24 14:45:55 +00:00
2021-04-28 04:23:52 +00:00
* How to deliver RTMP streaming?([CN][v4_CN_SampleRTMP], [EN][v4_EN_SampleRTMP])
* How to build RTMP Edge-Cluster?([CN][v4_CN_SampleRTMPCluster], [EN][v4_EN_SampleRTMPCluster])
* How to build RTMP Origin-Cluster?([CN][v4_CN_SampleOriginCluster], [EN][v4_EN_SampleOriginCluster])
* How to deliver HTTP-FLV streaming?([CN][v4_CN_SampleHttpFlv], [EN][v4_EN_SampleHttpFlv])
* How to deliver HLS streaming?([CN][v4_CN_SampleHLS], [EN][v4_EN_SampleHLS])
* How to deliver low-latency streaming?([CN][v4_CN_SampleRealtime], [EN][v4_EN_SampleRealtime])
2021-05-01 08:41:42 +00:00
* How to use WebRTC? ([CN][v4_CN_WebRTC], [EN][v4_EN_WebRTC])
2021-04-24 14:45:55 +00:00
2021-04-28 04:23:52 +00:00
Other important wiki:
2017-06-28 01:23:42 +00:00
2020-04-22 09:38:19 +00:00
* Usage: How to publish GB28181 to SRS? [#1500 ](https://github.com/ossrs/srs/issues/1500#issuecomment-606695679 )
2021-04-28 04:23:52 +00:00
* Usage: How to delivery DASH(Experimental)?([CN][v4_CN_SampleDASH], [EN][v4_EN_SampleDASH])
* Usage: How to transode RTMP stream by FFMPEG?([CN][v4_CN_SampleFFMPEG], [EN][v4_EN_SampleFFMPEG])
* Usage: How to delivery HTTP FLV Live Streaming Cluster?([CN][v4_CN_SampleHttpFlvCluster], [EN][v4_EN_SampleHttpFlvCluster])
* Usage: How to ingest file/stream/device to RTMP?([CN][v4_CN_SampleIngest], [EN][v4_EN_SampleIngest])
* Usage: How to forward stream to other servers?([CN][v4_CN_SampleForward], [EN][v4_EN_SampleForward])
* Usage: How to improve edge performance for multiple CPUs? ([CN][v4_CN_REUSEPORT], [EN][v4_EN_REUSEPORT])
* Usage: How to file a bug or contact us? ([CN][v4_CN_Contact], [EN][v4_EN_Contact])
2019-12-02 10:41:17 +00:00
2021-05-02 11:35:03 +00:00
## Ports
2021-05-27 03:13:31 +00:00
The ports used by SRS, kernel services:
* tcp://1935, for RTMP live streaming server([CN][v4_CN_DeliveryRTMP],[EN][v4_EN_DeliveryRTMP]).
* tcp://1985, HTTP API server, for HTTP-API([CN][v4_CN_HTTPApi], [EN][v4_EN_HTTPApi]), WebRTC([CN][v4_CN_WebRTC], [EN][v4_EN_WebRTC]), etc.
* tcp://8080, HTTP live streaming server, HTTP-FLV([CN][v4_CN_SampleHttpFlv], [EN][v4_EN_SampleHttpFlv]), HLS([CN][v4_CN_SampleHLS], [EN][v4_EN_SampleHLS]) as such.
* udp://8000, WebRTC Media([CN][v4_CN_WebRTC], [EN][v4_EN_WebRTC]) server.
For optional HTTPS services, which might be provided by other web servers:
2021-05-02 11:35:03 +00:00
* tcp://8088, HTTPS live streaming server.
2021-05-27 03:13:31 +00:00
* tcp://1990, HTTPS API server.
For optional stream caster services, to push streams to SRS:
2021-05-02 11:35:03 +00:00
* udp://8935, Stream Caster: [Push MPEGTS over UDP ](https://github.com/ossrs/srs/wiki/v4_CN_Streamer#push-mpeg-ts-over-udp ) server.
* tcp://554, Stream Caster: [Push RTSP ](https://github.com/ossrs/srs/wiki/v4_CN_Streamer#push-rtsp-to-srs ) server.
* tcp://8936, Stream Caster: [Push HTTP-FLV ](https://github.com/ossrs/srs/wiki/v4_CN_Streamer#push-http-flv-to-srs ) server.
* tcp://5060, Stream Caster: [Push GB28181 SIP ](https://github.com/ossrs/srs/issues/1500#issuecomment-606695679 ) server.
* udp://9000, Stream Caster: [Push GB28181 Media(bundle) ](https://github.com/ossrs/srs/issues/1500#issuecomment-606695679 ) server.
* udp://58200-58300, Stream Caster: [Push GB28181 Media(no-bundle) ](https://github.com/ossrs/srs/issues/1500#issuecomment-606695679 ) server.
* udp://10080, Stream Caster: [Push SRT Media ](https://github.com/ossrs/srs/issues/1147#issuecomment-577469119 ) server.
2021-05-27 03:13:31 +00:00
For external services to work with SRS:
* udp://1989, [WebRTC Signaling ](https://github.com/ossrs/signaling#usage ) server.
2021-05-02 11:35:03 +00:00
2019-12-02 10:41:17 +00:00
## Features
2017-01-05 02:10:27 +00:00
2017-06-29 01:38:20 +00:00
- [x] Using coroutine by ST, it's really simple and stupid enough.
2021-04-28 04:23:52 +00:00
- [x] Support cluster which consists of origin ([CN][v4_CN_DeliveryRTMP],[EN][v4_EN_DeliveryRTMP]) and edge([CN][v4_CN_Edge], [EN][v4_EN_Edge]) server and uses RTMP as default transport protocol.
- [x] Origin server supports remuxing RTMP to HTTP-FLV([CN][v4_CN_SampleHttpFlv], [EN][v4_EN_SampleHttpFlv]) and HLS([CN][v4_CN_DeliveryHLS], [EN][v4_EN_DeliveryHLS]).
- [x] Edge server supports remuxing RTMP to HTTP-FLV([CN][v4_CN_SampleHttpFlv], [EN][v4_EN_SampleHttpFlv]). As for HLS([CN][v4_CN_DeliveryHLS], [EN][v4_EN_DeliveryHLS]) edge server, recomment to use HTTP edge server, such as [NGINX ](http://nginx.org/ ).
- [x] Support HLS with audio-only([CN][v4_CN_DeliveryHLS2], [EN][v4_EN_DeliveryHLS2]), which need to build the timestamp from AAC samples, so we enhanced it please read [#547][bug #547 ].
2017-06-29 01:35:57 +00:00
- [x] Support HLS with mp3(h.264+mp3) audio codec, please read [bug #301 ][bug #301 ].
2021-04-28 04:23:52 +00:00
- [x] Support transmux RTMP to HTTP-FLV/MP3/AAC/TS, please read wiki([CN][v4_CN_DeliveryHttpStream], [EN][v4_CN_DeliveryHttpStream]).
- [x] Support ingesting([CN][v4_CN_Ingest], [EN][v4_EN_Ingest]) other protocols to SRS by FFMPEG.
2017-06-29 01:35:57 +00:00
- [x] Support RTMP long time(>4.6hours) publishing/playing, with the timestamp corrected.
2021-04-28 04:23:52 +00:00
- [x] Support native HTTP server([CN][v4_CN_SampleHTTP], [EN][v4_EN_SampleHTTP]) for http api and http live streaming.
2017-06-29 01:35:57 +00:00
- [x] Support HTTP CORS for js in http api and http live streaming.
2021-04-28 04:23:52 +00:00
- [x] Support HTTP API([CN][v4_CN_HTTPApi], [EN][v4_EN_HTTPApi]) for system management.
- [x] Support HTTP callback([CN][v4_CN_HTTPCallback], [EN][v4_EN_HTTPCallback]) for authentication and integration.
- [x] Support DVR([CN][v4_CN_DVR], [EN][v4_EN_DVR]) to record live streaming to FLV file.
2017-06-29 01:35:57 +00:00
- [x] Support DVR control module like NGINX-RTMP, please read [#459][bug #459 ].
- [x] Support EXEC like NGINX-RTMP, please read [bug #367 ][bug #367 ].
2021-04-28 04:23:52 +00:00
- [x] Support security strategy including allow/deny publish/play IP([CN][v4_CN_Security], [EN][v4_EN_Security]).
2017-06-29 01:35:57 +00:00
- [x] Support low latency(0.1s+) transport model, please read [bug #257 ][bug #257 ].
2021-04-28 04:23:52 +00:00
- [x] Support gop-cache([CN][v4_CN_LowLatency2], [EN][v4_EN_LowLatency2]) for player fast startup.
- [x] Support Vhost([CN][v4_CN_RtmpUrlVhost], [EN][v4_EN_RtmpUrlVhost]) and \_\_defaultVhost\_\_.
- [x] Support reloading([CN][v4_CN_Reload], [EN][v4_EN_Reload]) to apply changes of config.
2017-06-29 01:35:57 +00:00
- [x] Support listening at multiple ports.
2021-04-28 04:23:52 +00:00
- [x] Support forwarding([CN][v4_CN_Forward], [EN][v4_EN_Forward]) to other RTMP servers.
- [x] Support transcoding([CN][v4_CN_FFMPEG], [EN][v4_EN_FFMPEG]) by FFMPEG.
- [x] All wikis are writen in [Chinese][v4_CN_Home] and [English][v4_EN_Home].
2017-06-29 01:35:57 +00:00
- [x] Enhanced json, replace NXJSON(LGPL) with json-parser(BSD), read [#904][bug #904 ].
- [x] Support valgrind and latest ARM by patching ST, read [ST#1 ](https://github.com/ossrs/state-threads/issues/1 ) and [ST#2 ](https://github.com/ossrs/state-threads/issues/2 ).
2021-04-28 04:23:52 +00:00
- [x] Support traceable and session-based log([CN][v4_CN_SrsLog], [EN][v4_EN_SrsLog]).
- [x] High performance([CN][v4_CN_Performance], [EN][v4_EN_Performance]) RTMP/HTTP-FLV, 6000+ connections.
2018-01-01 15:03:42 +00:00
- [x] Enhanced complex error code with description and stack, read [#913][bug #913 ].
2018-02-13 00:52:57 +00:00
- [x] Enhanced RTMP url which supports vhost in stream, read [#1059][bug #1059 ].
2018-02-16 08:40:48 +00:00
- [x] Support origin cluster, please read [#464][bug #464 ], [RTMP 302][bug #92 ].
2019-05-04 23:45:49 +00:00
- [x] Support listen at IPv4 and IPv6, read [#460][bug #460 ].
2020-01-16 06:37:30 +00:00
- [x] Improve test coverage for core/kernel/protocol/service.
2021-03-15 05:45:06 +00:00
- [x] Support docker by [srs-docker ](https://github.com/ossrs/srs-docker ).
2021-04-28 04:23:52 +00:00
- [x] Support multiple processes by ReusePort([CN][v4_CN_REUSEPORT], [EN][v4_EN_REUSEPORT]), [#775][bug #775 ].
2021-03-15 05:45:06 +00:00
- [x] Support a simple [mgmt console][console], please read [srs-ngb][srs-ngb].
- [x] [Experimental] Support playing stream by WebRTC, [#307][bug #307 ].
- [x] [Experimental] Support publishing stream by WebRTC, [#307][bug #307 ].
- [x] [Experimental] Support mux RTP/RTCP/DTLS/SRTP on one port for WebRTC, [#307][bug #307 ].
- [x] [Experimental] Support client address changing for WebRTC, [#307][bug #307 ].
- [x] [Experimental] Support transcode RTMP/AAC to WebRTC/Opus, [#307][bug #307 ].
2021-04-30 09:22:39 +00:00
- [x] [Experimental] Support AV1 codec for WebRTC, [#2324][bug #2324 ].
2021-03-15 05:45:06 +00:00
- [x] [Experimental] Enhance HTTP Stream Server for HTTP-FLV, HTTPS, HLS etc. [#1657][bug #1657 ].
- [x] [Experimental] Support push stream by GB28181, [#1500][bug #1500 ].
2019-12-23 06:08:11 +00:00
- [x] [Experimental] Support DVR in MP4 format, read [#738][bug #738 ].
2019-10-04 11:13:52 +00:00
- [x] [Experimental] Support MPEG-DASH, the future live streaming protocol, read [#299][bug #299 ].
- [x] [Experimental] Support pushing MPEG-TS over UDP, please read [bug #250 ][bug #250 ].
2021-04-28 04:23:52 +00:00
- [x] [Experimental] Support pushing FLV over HTTP POST, please read wiki([CN][v4_CN_Streamer2], [EN][v4_EN_Streamer2]).
2019-12-23 06:08:11 +00:00
- [x] [Experimental] Support HTTP RAW API, please read [#459][bug #459 ], [#470][bug #470 ], [#319][bug #319 ].
2020-01-23 12:47:32 +00:00
- [x] [Experimental] Support SRT server, read [#1147][bug #1147 ].
2021-05-14 03:42:29 +00:00
- [x] [Deprecated] Support pushing RTSP, please read [bug #2304 ][bug #2304 ].
2021-04-28 04:23:52 +00:00
- [x] [Deprecated] Support Adobe HDS(f4m), please read wiki([CN][v4_CN_DeliveryHDS], [EN][v4_EN_DeliveryHDS]) and [#1535][bug #1535 ].
2021-05-21 01:19:17 +00:00
- [x] [Deprecated] Support bandwidth testing, please read [#1535][bug #1535 ].
2021-04-28 04:23:52 +00:00
- [x] [Deprecated] Support Adobe FMS/AMS token traverse([CN][v4_CN_DRM2], [EN][v4_EN_DRM2]) authentication, please read [#1535][bug #1535 ].
2021-05-21 01:19:17 +00:00
- [x] [Removed] Support RTMP client library: [srs-librtmp ](https://github.com/ossrs/srs-librtmp ).
2021-03-15 05:45:06 +00:00
- [ ] Enhanced forwarding with vhost and variables, [#1342][bug #1342 ].
2021-03-15 06:03:20 +00:00
- [ ] Support DVR to Cloud Storage, [#1193][bug #1193 ].
2021-03-15 05:45:06 +00:00
- [ ] Support transmux RTC to RTMP, [#2093][bug #2093 ].
- [ ] Support H.265 over RTMP and HLS, [#465][bug #465 ].
- [ ] Support IETF-QUIC for WebRTC Cluster, [#2091][bug #2091 ].
- [ ] Improve RTC performance to 5K by multiple threading, [#2188][bug #2188 ].
- [ ] Support source cleanup for idle streams, [#413][bug #413 ].
2019-05-07 00:00:16 +00:00
- [ ] Support change user to run SRS, [#1111][bug #1111 ].
2019-05-07 00:28:06 +00:00
- [ ] Support HLS variant, [#463][bug #463 ].
2017-01-05 02:10:27 +00:00
2021-04-28 04:23:52 +00:00
> Remark: About the milestone and product plan, please read ([CN][v4_CN_Product], [EN][v4_EN_Product]) wiki.
2018-01-07 05:10:47 +00:00
2017-05-30 01:05:02 +00:00
< a name = "history" > < / a >
2017-06-28 01:21:06 +00:00
< a name = "change-logs" > < / a >
2017-02-03 06:57:28 +00:00
2021-06-10 12:24:11 +00:00
## Changelogs
2021-06-10 05:39:58 +00:00
2021-06-10 06:03:13 +00:00
Please read [CHANGELOG ](CHANGELOG.md#chnagelog ).
2013-10-24 23:15:33 +00:00
2019-12-02 10:41:17 +00:00
## Releases
2017-01-04 03:46:22 +00:00
2021-04-28 07:45:34 +00:00
* 2021-04-28, [Release v3.0-r5][r3.0r5], 3.0 release5, 3.0.161, 122750 lines.
2021-04-24 11:07:37 +00:00
* 2021-04-24, [Release v3.0-r4][r3.0r4], 3.0 release4, 3.0.160, 122750 lines.
2021-01-02 11:16:30 +00:00
* 2021-01-02, [Release v3.0-r3][r3.0r3], 3.0 release3, 3.0.156, 122736 lines.
2020-10-31 14:16:46 +00:00
* 2020-10-31, [Release v3.0-r2][r3.0r2], 3.0 release2, 3.0.153, 122663 lines.
2020-10-10 08:50:19 +00:00
* 2020-10-10, [Release v3.0-r1][r3.0r1], 3.0 release1, 3.0.144, 122674 lines.
2020-06-27 03:47:36 +00:00
* 2020-06-27, [Release v3.0-r0][r3.0r0], 3.0 release0, 3.0.141, 122674 lines.
2020-03-29 06:00:37 +00:00
* 2020-03-29, [Release v3.0-b3][r3.0b4], 3.0 beta4, 3.0.139, 122674 lines.
2020-03-18 08:33:08 +00:00
* 2020-03-18, [Release v3.0-b3][r3.0b3], 3.0 beta3, 3.0.134, 122509 lines.
2020-03-05 03:34:16 +00:00
* 2020-03-05, [Release v3.0-b2][r3.0b2], 3.0 beta2, 3.0.123, 122170 lines.
2020-02-14 15:05:54 +00:00
* 2020-02-14, [Release v3.0-b1][r3.0b1], 3.0 beta1, 3.0.117, 121964 lines.
2020-02-02 03:15:08 +00:00
* 2020-02-02, [Release v3.0-b0][r3.0b0], 3.0 beta0, 3.0.112, 121709 lines.
2020-01-21 08:14:15 +00:00
* 2020-01-21, [Release v3.0-a9][r3.0a9], 3.0 alpha9, 3.0.105, 121577 lines.
2020-01-10 10:20:37 +00:00
* 2020-01-10, [Release v3.0-a8][r3.0a8], 3.0 alpha8, 3.0.97, 121555 lines.
2019-12-29 11:05:15 +00:00
* 2019-12-29, [Release v3.0-a7][r3.0a7], 3.0 alpha7, 3.0.90, 116356 lines.
* 2019-12-26, [Release v3.0-a6][r3.0a6], 3.0 alpha6, 3.0.85, 116056 lines.
2019-12-19 07:38:24 +00:00
* 2019-12-19, [Release v3.0-a5][r3.0a5], 3.0 alpha5, 3.0.75, 115362 lines.
2019-12-13 03:05:29 +00:00
* 2019-12-13, [Release v3.0-a4][r3.0a4], 3.0 alpha4, 3.0.71, 112928 lines.
2019-12-10 07:59:15 +00:00
* 2019-11-30, [Release v3.0-a3][r3.0a3], 3.0 alpha3, 3.0.67, 110864 lines.
2019-11-30 11:16:12 +00:00
* 2019-11-30, [Release v3.0-a2][r3.0a2], 3.0 alpha2, 3.0.66, 110831 lines.
2019-10-07 12:24:28 +00:00
* 2019-10-07, [Release v3.0-a1][r3.0a1], 3.0 alpha1, 3.0.60, 107962 lines.
2019-10-04 11:25:58 +00:00
* 2019-10-04, [Release v3.0-a0][r3.0a0], 3.0 alpha0, 3.0.56, 107946 lines.
2017-03-02 13:55:52 +00:00
* 2017-03-03, [Release v2.0-r0][r2.0r0], 2.0 release0, 2.0.234, 86373 lines.
2017-01-04 03:46:22 +00:00
* 2016-11-13, [Release v2.0-b3][r2.0b3], 2.0 beta3, 2.0.223, 86685 lines.
* 2016-11-09, [Release v2.0-b2][r2.0b2], 2.0 beta2, 2.0.221, 86691 lines.
* 2016-09-09, [Release v2.0-b1][r2.0b1], 2.0 beta1, 2.0.215, 89941 lines.
* 2016-08-06, [Release v2.0-b0][r2.0b0], 2.0 beta0, 2.0.210, 89704 lines.
* 2015-12-23, [Release v2.0-a3][r2.0a3], 2.0 alpha3, 2.0.205, 89544 lines.
* 2015-10-08, [Release v2.0-a2][r2.0a2], 2.0 alpha2, 2.0.195, 89358 lines.
* 2015-09-14, [Release v2.0-a1][r2.0a1], 2.0 alpha1, 2.0.189, 89269 lines.
* 2015-08-23, [Release v2.0-a0][r2.0a0], 2.0 alpha0, 2.0.185, 89022 lines.
* 2015-05-23, [Release v1.0-r4][r1.0r4], bug fixed, 1.0.32, 59509 lines.
* 2015-03-19, [Release v1.0-r3][r1.0r3], bug fixed, 1.0.30, 59511 lines.
* 2015-02-12, [Release v1.0-r2][r1.0r2], bug fixed, 1.0.27, 59507 lines.
* 2015-01-15, [Release v1.0-r1][r1.0r1], bug fixed, 1.0.21, 59472 lines.
* 2014-12-05, [Release v1.0-r0][r1.0r0], all bug fixed, 1.0.10, 59391 lines.
* 2014-10-09, [Release v0.9.8][r1.0b0], all bug fixed, 1.0.0, 59316 lines.
* 2014-08-03, [Release v0.9.7][r1.0a7], config utest, all bug fixed. 57432 lines.
* 2014-07-13, [Release v0.9.6][r1.0a6], core/kernel/rtmp utest, refine bandwidth(as/js/srslibrtmp library). 50029 lines.
2019-10-04 11:18:55 +00:00
* 2014-06-27, [Release v0.9.5][r1.0a5], refine perf 3k+ clients, edge token traverse, 30days online. 41573 lines.
2017-01-04 03:46:22 +00:00
* 2014-05-28, [Release v0.9.4][r1.0a4], support heartbeat, tracable log, fix mem leak and bugs. 39200 lines.
* 2014-05-18, [Release v0.9.3][r1.0a3], support mips, fms origin, json(http-api). 37594 lines.
2021-04-28 04:23:52 +00:00
* 2014-04-28, [Release v0.9.2][r1.0a2], support [dvr][v4_CN_DVR], android, [edge][v4_CN_Edge]. 35255 lines.
* 2014-04-07, [Release v0.9.1][r1.0a0], support [arm][v4_CN_SrsLinuxArm], [init.d][v4_CN_LinuxService], http [server][v4_CN_HTTPServer]/[api][v4_CN_HTTPApi], [ingest][v4_CN_SampleIngest]. 30000 lines.
* 2013-12-25, [Release v0.9.0][r0.9], support bandwidth test, player/encoder/chat [demos][v4_CN_SampleDemo]. 20926 lines.
* 2013-12-08, [Release v0.8.0][r0.8], support [http hooks callback][v4_CN_HTTPCallback], update [SB][srs-bench]. 19186 lines.
* 2013-12-03, [Release v0.7.0][r0.7], support [live stream transcoding][v4_CN_FFMPEG]. 17605 lines.
* 2013-11-29, [Release v0.6.0][r0.6], support [forward][v4_CN_Forward] stream to origin/edge. 16094 lines.
* 2013-11-26, [Release v0.5.0][r0.5], support [HLS(m3u8)][v4_CN_DeliveryHLS], fragment and window. 14449 lines.
* 2013-11-10, [Release v0.4.0][r0.4], support [reload][v4_CN_Reload] config, pause, longtime publish/play. 12500 lines.
* 2013-11-04, [Release v0.3.0][r0.3], support [vhost][v4_CN_RtmpUrlVhost], refer, gop cache, listen multiple ports. 11773 lines.
* 2013-10-25, [Release v0.2.0][r0.2], support [rtmp][v4_CN_RTMPHandshake] flash publish, h264, time jitter correct. 10125 lines.
* 2013-10-23, [Release v0.1.0][r0.1], support [rtmp FMLE/FFMPEG publish][v4_CN_DeliveryRTMP], vp6. 8287 lines.
2017-01-04 03:46:22 +00:00
* 2013-10-17, Created.
2019-12-02 10:41:17 +00:00
## Compare
2017-01-04 03:34:59 +00:00
2021-06-10 06:03:13 +00:00
Comparing with other media servers, SRS is much better and stronger, for details please
read Product([CN][v4_CN_Compare]/[EN][v4_EN_Compare]).
2017-01-04 03:34:59 +00:00
2019-12-02 10:41:17 +00:00
## Performance
2014-07-12 02:26:09 +00:00
2017-06-30 02:30:16 +00:00
The performance benchmark data and corelative commits are listed here.
2014-12-03 04:08:29 +00:00
2021-04-28 04:23:52 +00:00
* See also: [Performance for x86/x64 Test Guide][v4_CN_Performance].
* See also: [Performance for RaspberryPi][v4_CN_RaspberryPi].
* For multiple processes performance, read [#775: REUSEPORT][bug #775 ] or OriginCluster([CN][v4_EN_OriginCluster]/[EN][v4_EN_OriginCluster]) or [go-oryx][oryx].
2021-03-31 10:22:28 +00:00
* For RTC benchmark, please use [srs-bench ](https://github.com/ossrs/srs-bench/tree/feature/rtc#usage ).
2014-12-03 04:11:00 +00:00
2019-12-02 10:41:17 +00:00
< a name = "play-rtmp-benchmark" > < / a >
**Play RTMP benchmark**
2014-12-03 04:08:29 +00:00
2017-06-30 02:30:16 +00:00
The data for playing RTMP was benchmarked by [SB][srs-bench]:
2014-07-12 02:40:43 +00:00
2015-05-23 06:07:04 +00:00
| Update | SRS | Clients | Type | CPU | Memory | Commit |
| ------------- | --------- | ------------- | ------------- | --------- | -------- | ------------ |
| 2014-12-07 | 2.0.67 | 10k(10000) | players | 95% | 656MB | [code][p12] |
2020-03-19 09:57:23 +00:00
| 2014-12-05 | 2.0.57 | 9.0k(9000) | players | 90% | 468MB | [code][p11] |
| 2014-12-05 | 2.0.55 | 8.0k(8000) | players | 89% | 360MB | [code][p10] |
| 2014-11-22 | 2.0.30 | 7.5k(7500) | players | 87% | 320MB | [code][p9] |
| 2014-11-13 | 2.0.15 | 6.0k(6000) | players | 82% | 203MB | [code][p8] |
| 2014-11-12 | 2.0.14 | 3.5k(3500) | players | 95% | 78MB | [code][p7] |
| 2014-11-12 | 2.0.14 | 2.7k(2700) | players | 69% | 59MB | - |
| 2014-11-11 | 2.0.12 | 2.7k(2700) | players | 85% | 66MB | - |
| 2014-11-11 | 1.0.5 | 2.7k(2700) | players | 85% | 66MB | - |
| 2014-07-12 | 0.9.156 | 2.7k(2700) | players | 89% | 61MB | [code][p6] |
| 2014-07-12 | 0.9.156 | 1.8k(1800) | players | 68% | 38MB | - |
| 2013-11-28 | 0.5.0 | 1.8k(1800) | players | 90% | 41M | - |
2014-07-12 02:41:17 +00:00
2021-05-11 04:27:41 +00:00
| Update | SFU | Clients | Type | CPU | Memory | Threads | VM |
| ---------- | ---------------- | -------- | ------------- | --------- | -------- | ------- | ---- |
| 2021-05-11 | SRS/v4.0.105 | 4000 | players | ~94% x1 | 419MB | 1 | G5 8CPU |
| 2021-05-11 | NginxRTMP/v1.2.1 | 2400 | players | ~92% x1 | 173MB | 1 | G5 8CPU |
> Note: CentOS7, 600Kbps, [ECS/G5-2.5GHZ(SkyLake)](https://help.aliyun.com/document_detail/25378.html),
> [SRS/v4.0.105](https://github.com/ossrs/srs/commit/2ad24b2313e88a85801deaea370204f225555939),
> [NginxRTMP/v1.2.1](https://github.com/arut/nginx-rtmp-module/releases/tag/v1.2.1).
2019-12-02 10:41:17 +00:00
< a name = "publish-rtmp-benchmark" > < / a >
**Publish RTMP benchmark**
2014-04-18 01:06:32 +00:00
2017-06-30 02:30:16 +00:00
The data for publishing RTMP was benchmarked by [SB][srs-bench]:
2014-04-18 01:06:32 +00:00
2015-05-23 06:07:04 +00:00
| Update | SRS | Clients | Type | CPU | Memory | Commit |
| ------------- | --------- | ------------- | ------------- | --------- | -------- | ------------ |
| 2014-12-04 | 2.0.52 | 4.0k(4000) | publishers | 80% | 331MB | [code][p5] |
2020-03-19 09:57:23 +00:00
| 2014-12-04 | 2.0.51 | 2.5k(2500) | publishers | 91% | 259MB | [code][p4] |
| 2014-12-04 | 2.0.49 | 2.5k(2500) | publishers | 95% | 404MB | [code][p3] |
| 2014-12-04 | 2.0.49 | 1.4k(1400) | publishers | 68% | 144MB | - |
| 2014-12-03 | 2.0.48 | 1.4k(1400) | publishers | 95% | 140MB | [code][p2] |
| 2014-12-03 | 2.0.47 | 1.4k(1400) | publishers | 95% | 140MB | - |
| 2014-12-03 | 2.0.47 | 1.2k(1200) | publishers | 84% | 76MB | [code][p1] |
| 2014-12-03 | 2.0.12 | 1.2k(1200) | publishers | 96% | 43MB | - |
| 2014-12-03 | 1.0.10 | 1.2k(1200) | publishers | 96% | 43MB | - |
2014-04-18 01:06:32 +00:00
2021-05-11 06:29:10 +00:00
| Update | SFU | Clients | Type | CPU | Memory | Threads | VM |
| ---------- | ---------------- | -------- | ------------- | --------- | -------- | ------- | ---- |
| 2021-05-11 | SRS/v4.0.105 | 2300 | publishers | ~89% x1 | 1.1GB | 1 | G5 8CPU |
| 2021-05-11 | NginxRTMP/v1.2.1 | 1300 | publishers | ~84% x1 | 198MB | 1 | G5 8CPU |
> Note: CentOS7, 600Kbps, [ECS/G5-2.5GHZ(SkyLake)](https://help.aliyun.com/document_detail/25378.html),
> [SRS/v4.0.105](https://github.com/ossrs/srs/commit/2ad24b2313e88a85801deaea370204f225555939),
> [NginxRTMP/v1.2.1](https://github.com/arut/nginx-rtmp-module/releases/tag/v1.2.1).
2019-12-02 10:41:17 +00:00
< a name = "play-http-flv-benchmark" > < / a >
**Play HTTP FLV benchmark**
2015-05-24 13:17:00 +00:00
2017-06-30 02:30:16 +00:00
The data for playing HTTP FLV was benchmarked by [SB][srs-bench]:
2015-05-24 13:17:00 +00:00
| Update | SRS | Clients | Type | CPU | Memory | Commit |
| ------------- | --------- | ------------- | ------------- | --------- | -------- | ------------ |
2015-05-24 17:02:06 +00:00
| 2014-05-25 | 2.0.171 | 6.0k(6000) | players | 84% | 297MB | [code][p20] |
2020-03-19 09:57:23 +00:00
| 2014-05-24 | 2.0.170 | 3.0k(3000) | players | 89% | 96MB | [code][p19] |
| 2014-05-24 | 2.0.169 | 3.0k(3000) | players | 94% | 188MB | [code][p18] |
| 2014-05-24 | 2.0.168 | 2.3k(2300) | players | 92% | 276MB | [code][p17] |
| 2014-05-24 | 2.0.167 | 1.0k(1000) | players | 82% | 86MB | - |
2015-05-24 13:17:00 +00:00
2021-03-31 10:22:28 +00:00
< a name = "rtc-benchmark" > < / a >
**RTC benchmark**
The RTC benchmark data, by [srs-bench ](https://github.com/ossrs/srs-bench/tree/feature/rtc#usage ):
2021-05-10 06:30:08 +00:00
| Update | SFU | Clients | Type | CPU | Memory | Threads | VM |
| ---------- | ------------- | -------- | ------------- | --------- | -------- | ------- | ---- |
2021-05-10 06:38:12 +00:00
| 2021-05-10 | SRS/v4.0.105 | 2000 | players | ~94% x1 | 462MB | 1 | G7 2CPU |
| 2021-05-10 | SRS/v4.0.105 | 1000 | players | ~90% x1 | 180MB | 1 | G5 2CPU |
| 2021-03-31 | SRS/v4.0.87 | 800 | players | ~94% x1 | 444MB | 1 | G5 2CPU |
| 2021-05-10 | Janus/v0.11.1 | 700 | players | ~93% x2 | 430MB | 24 | G5 2CPU |
| 2021-05-10 | SRS/v4.0.105 | 1700 | publishers | ~92% x1 | 334MB | 1 | G7 2CPU |
| 2021-05-10 | SRS/v4.0.105 | 950 | publishers | ~92% x1 | 132MB | 1 | G5 2CPU |
| 2021-03-31 | SRS/v4.0.87 | 550 | publishers | ~86% x1 | 1.3GB | 1 | G5 2CPU |
| 2021-05-10 | Janus/v0.11.1 | 350 | publishers | ~93% x2 | 405MB | 23 | G5 2CPU |
> Note: CentOS7, 600Kbps, [ECS/G5-2.5GHZ(SkyLake)/G7-2.7GHZ(IceLake)](https://help.aliyun.com/document_detail/25378.html),
2021-05-10 06:30:08 +00:00
> [SRS/v4.0.87](https://github.com/ossrs/srs/commit/d6c16a7e236e03eba754c763e865464ec82d4516),
> [SRS/v4.0.105](https://github.com/ossrs/srs/commit/2ad24b2313e88a85801deaea370204f225555939),
> [Janus/v0.11.1](https://github.com/meetecho/janus-gateway/releases/tag/v0.11.1).
2021-03-31 10:22:28 +00:00
2019-12-02 10:41:17 +00:00
< a name = "latency-benchmark" > < / a >
**Latency benchmark**
2014-12-13 02:32:39 +00:00
2021-04-28 04:23:52 +00:00
The latency between encoder and player with realtime config([CN][v4_CN_LowLatency], [EN][v4_EN_LowLatency]):
2015-05-23 06:07:04 +00:00
2021-05-11 06:29:10 +00:00
| Update | SRS | Protocol | VP6 | H.264 | VP6+MP3 | H.264+MP3 |
| ------------- | --------- | --------- | --------- | --------- | --------- | -------- |
| 2014-12-16 | 2.0.72 | RTMP | 0.1s | 0.4s |[0.8s][p15]|[0.6s][p16]|
| 2014-12-12 | 2.0.70 | RTMP |[0.1s][p13]|[0.4s][p14]| 1.0s | 0.9s |
| 2014-12-03 | 1.0.10 | RTMP | 0.4s | 0.4s | 0.9s | 1.2s |
| 2021-04-02 | 4.0.87 | WebRTC | x | 80ms | x | x |
2014-12-13 02:32:39 +00:00
2018-08-05 12:33:45 +00:00
> 2018-08-05, [c45f72e](https://github.com/ossrs/srs/commit/c45f72ef7bac9c7cf85b9125fc9e3aafd53f396f), Refine HTTP-FLV latency, support realtime mode. 2.0.252
2017-06-30 02:30:16 +00:00
We used FMLE as encoder for benchmark. The latency of server was 0.1s+,
and the bottleneck was the encoder. For more information, read
2015-08-28 10:48:35 +00:00
[bug #257 ][bug #257 -c0].
2014-12-13 04:48:49 +00:00
2014-03-21 10:20:07 +00:00
## Architecture
2021-06-10 06:03:13 +00:00
The stream architecture of SRS.
2014-03-21 10:20:07 +00:00
2015-09-21 05:50:01 +00:00
```
2021-06-10 06:03:13 +00:00
+----------+ +----------+
| Upstream | | Deliver |
+---|------+ +----|-----+
+---+------------------+------+---------------------+----------------+
2020-01-23 08:49:05 +00:00
| Input | SRS(Simple RTMP Server) | Output |
+----------------------+----------------------------+----------------+
| | +-> DASH ----------------+-> DASH player |
| Encoder(1) | +-> RTMP/HDS -----------+-> Flash player |
2021-06-10 06:03:13 +00:00
| (FMLE,OBS, --RTMP-+->-+-> HLS/HTTP ------------+-> M3U8 player |
| FFmpeg,XSPLIT, | +-> FLV/MP3/Aac/Ts ------+-> HTTP player |
2020-01-23 08:49:05 +00:00
| ......) | +-> Fowarder ------------+-> RTMP server |
| | +-> Transcoder ----------+-> RTMP server |
| | +-> EXEC(5) -------------+-> External app |
| | +-> DVR -----------------+-> FLV file |
| | +-> BandwidthTest -------+-> Flash |
2021-06-10 06:03:13 +00:00
| | +-> WebRTC --------------+-> Flash |
+----------------------+ | |
| WebRTC Client | +--> RTMP | |
| (H5,Native...) --RTC-+---+---> WebRTC ------------+-> WebRTC Client|
2020-01-23 08:49:05 +00:00
+----------------------+ | |
| MediaSource(2) | | |
| (RTSP,FILE, | | |
| HTTP,HLS, --pull-+->-- Ingester(3) -(rtmp)----+-> SRS |
| Device, | | |
| ......) | | |
+----------------------+ | |
| MediaSource(2) | | |
2021-05-27 05:44:46 +00:00
| (MPEGTSoverUDP | | |
| HTTP-FLV, --push-+->- StreamCaster(4) -(rtmp)-+-> SRS |
| GB28181,SRT, | | |
2020-01-23 08:49:05 +00:00
| ......) | | |
+----------------------+ | |
| FFMPEG --push(srt)--+->- SRTModule(5) ---(rtmp)-+-> SRS |
+----------------------+----------------------------+----------------+
2015-09-21 05:50:01 +00:00
```
2015-09-10 23:38:58 +00:00
2014-03-18 07:38:34 +00:00
Remark:
2015-09-10 23:47:40 +00:00
2017-07-24 00:45:36 +00:00
1. Encoder: Encoder pushs RTMP stream to SRS.
1. MediaSource: Supports any media source, ingesting by ffmpeg.
2021-04-28 04:23:52 +00:00
1. Ingester: Forks a ffmpeg(or other tools) to ingest as rtmp to SRS, please read [Ingest][v4_CN_Ingest].
1. Streamer: Remuxs other protocols to RTMP, please read [Streamer][v4_CN_Streamer].
1. EXEC: Like NGINX-RTMP, EXEC forks external tools for events, please read [ng-exec][v4_CN_NgExec].
2020-01-23 08:49:05 +00:00
1. SRTModule: A isolate module which run in [hybrid ](https://github.com/ossrs/srs/issues/1147#issuecomment-577574883 ) model.
2014-03-21 10:20:07 +00:00
2019-12-02 10:41:17 +00:00
## AUTHORS
2017-01-04 03:34:59 +00:00
There are two types of people that have contributed to the SRS project:
2020-02-16 05:41:47 +00:00
* Maintainers: Contribute and maintain important features. SRS always remembers and thanks you by writing your names in stream metadata.
2020-02-16 05:31:03 +00:00
* [Contributors][authors]: Submit patches, report bugs, add translations, help answer newbie questions, and generally make SRS much better.
2017-07-24 00:45:36 +00:00
2020-02-16 05:31:03 +00:00
Maintainers of SRS project:
2020-02-16 05:39:25 +00:00
* [Winlin ](https://github.com/winlinvip ): All areas of streaming server and documents.
2021-04-28 04:23:52 +00:00
* [Wenjie ](https://github.com/wenjiegit ): The focus of his work is on the [HDS ](https://github.com/simple-rtmp-server/srs/wiki/v4_CN_DeliveryHDS ) module.
2020-02-16 05:39:25 +00:00
* [Runner365 ](https://github.com/runner365 ): The focus of his work is on the [SRT ](https://github.com/simple-rtmp-server/srs/wiki/v4_CN_SRTWiki ) module.
2021-05-01 08:41:42 +00:00
* [John ](https://github.com/xiaozhihong ): Focus on [WebRTC ](https://github.com/simple-rtmp-server/srs/wiki/v4_CN_WebRTC ) module.
* [B.P.Y(Bepartofyou) ](https://github.com/Bepartofyou ): Focus on [WebRTC ](https://github.com/simple-rtmp-server/srs/wiki/v4_CN_WebRTC ) module.
2020-03-31 15:06:07 +00:00
* [Lixin ](https://github.com/xialixin ): Focus on [GB28181 ](https://github.com/ossrs/srs/issues/1500 ) module.
2021-06-10 06:03:13 +00:00
* [Mozhan ](https://github.com/lipeng19811218 ): Focus on [WebRTC ](https://github.com/simple-rtmp-server/srs/wiki/v4_CN_WebRTC ) module.
* [Jinxue ](https://github.com/chen-guanghua ): Focus on [WebRTC ](https://github.com/simple-rtmp-server/srs/wiki/v4_CN_WebRTC ) module.
2017-01-04 03:34:59 +00:00
A big THANK YOU goes to:
2017-07-24 00:45:36 +00:00
2017-01-04 03:34:59 +00:00
* All friends of SRS for [big supports][bigthanks].
* Genes amd Mabbott for creating [st][st]([state-threads][st2]).
2020-02-16 05:39:25 +00:00
* [Michael Talyanksy ](https://github.com/michaeltalyansky ) for introducing ST to us.
2017-01-04 03:34:59 +00:00
2019-12-02 10:41:17 +00:00
## Mirrors
2017-01-04 03:34:59 +00:00
2021-04-28 09:16:04 +00:00
Gitee: [https://gitee.com/ossrs/srs][gitee], the GIT usage([CN][v4_CN_Git], [EN][v4_EN_Git])
2017-01-04 03:34:59 +00:00
```
2021-04-28 09:16:04 +00:00
git clone https://gitee.com/ossrs/srs.git & &
2020-03-21 08:30:29 +00:00
cd srs & & git remote set-url origin https://github.com/ossrs/srs.git & & git pull
2017-01-04 03:34:59 +00:00
```
2017-07-24 00:45:36 +00:00
> Remark: For users in China, recomment to use mirror from CSDN or OSChina, because they are much faster.
2021-04-28 04:23:52 +00:00
Gitlab: [https://gitlab.com/winlinvip/srs-gitlab][gitlab], the GIT usage([CN][v4_CN_Git], [EN][v4_EN_Git])
2017-07-24 00:45:36 +00:00
```
2020-03-21 08:30:29 +00:00
git clone https://gitlab.com/winlinvip/srs-gitlab.git srs & &
cd srs & & git remote set-url origin https://github.com/ossrs/srs.git & & git pull
2017-07-24 00:45:36 +00:00
```
2021-04-28 04:23:52 +00:00
Github: [https://github.com/ossrs/srs][srs], the GIT usage([CN][v4_CN_Git], [EN][v4_EN_Git])
2017-01-04 03:34:59 +00:00
```
2020-03-21 08:30:29 +00:00
git clone https://github.com/ossrs/srs.git
2017-01-04 03:34:59 +00:00
```
2020-01-26 06:14:29 +00:00
| Branch | Cost | Size | CMD |
| --- | --- | --- | --- |
2021-04-28 09:16:04 +00:00
| 3.0release | 2m19.931s | 262MB | git clone -b 3.0release https://gitee.com/ossrs/srs.git |
| 3.0release | 0m56.515s | 95MB | git clone -b 3.0release --depth=1 https://gitee.com/ossrs/srs.git |
| develop | 2m22.430s | 234MB | git clone -b develop https://gitee.com/ossrs/srs.git |
| develop | 0m46.421s | 42MB | git clone -b develop --depth=1 https://gitee.com/ossrs/srs.git |
| min | 2m22.865s | 217MB | git clone -b min https://gitee.com/ossrs/srs.git |
| min | 0m36.472s | 11MB | git clone -b min --depth=1 https://gitee.com/ossrs/srs.git |
2020-01-26 06:14:29 +00:00
2019-12-02 10:41:17 +00:00
## System Requirements
2017-01-04 03:34:59 +00:00
Supported operating systems and hardware:
2017-07-24 00:45:36 +00:00
2021-06-10 06:16:42 +00:00
* Linux, with x86, x86-64 or arm.
2021-06-10 06:12:24 +00:00
* Mac, with intel chip.
2021-03-04 23:58:32 +00:00
* Other OS, such as Windows, please use [docker][docker-srs4].
2017-01-04 03:34:59 +00:00
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
2015-09-21 05:50:01 +00:00
2015-11-11 02:37:50 +00:00
[p1]: https://github.com/ossrs/srs/commit/787ab674e38734ea8e0678101614fdcd84645dc8
[p2]: https://github.com/ossrs/srs/commit/f35ec2155b1408d528a9f37da7904c9625186bcf
[p3]: https://github.com/ossrs/srs/commit/29324fab469e0f7cef9ad04ffdbce832ac7dd9ff
[p4]: https://github.com/ossrs/srs/commit/f57801eb46c16755b173984b915a4166922df6a6
[p5]: https://github.com/ossrs/srs/commit/5589b13d2e216b91f97afb78ee0c011b2fccf7da
[p6]: https://github.com/ossrs/srs/commit/1ae3e6c64cc5cee90e6050c26968ebc3c18281be
[p7]: https://github.com/ossrs/srs/commit/8acd143a7a152885b815999162660fd4e7a3f247
[p8]: https://github.com/ossrs/srs/commit/cc6aca9ad55342a06440ce7f3b38453776b2b2d1
[p9]: https://github.com/ossrs/srs/commit/58136ec178e3d47db6c90a59875d7e40946936e5
[p10]: https://github.com/ossrs/srs/commit/58136ec178e3d47db6c90a59875d7e40946936e5
[p11]: https://github.com/ossrs/srs/commit/9ee138746f83adc26f0e236ec017f4d68a300004
[p12]: https://github.com/ossrs/srs/commit/1311b6fe6576fd7b9c6d299b0f8f2e8d202f4bf8
[p13]: https://github.com/ossrs/srs/commit/10297fab519811845b549a8af40a6bcbd23411e8
[p14]: https://github.com/ossrs/srs/commit/10297fab519811845b549a8af40a6bcbd23411e8
[p15]: https://github.com/ossrs/srs/commit/0d6b91039d408328caab31a1077d56a809b6bebc
[p16]: https://github.com/ossrs/srs/commit/0d6b91039d408328caab31a1077d56a809b6bebc
[p17]: https://github.com/ossrs/srs/commit/fc995473eb02c7cf64b5b212b456e11f34aa7984
[p18]: https://github.com/ossrs/srs/commit/960341b9b2b9646270ccfd113b4dd784d9826c73
[p19]: https://github.com/ossrs/srs/commit/4df19ba99a4e4d80cd89b304f9298d343497bec9
[p20]: https://github.com/ossrs/srs/commit/d12fc7fcc5b2e9e3c8ee5c7da01d0e41c8f8ca4a
[p21]: https://github.com/ossrs/srs/commit/87519aaae835199e5adb60c0ae2c1cd24939448c
[p22]: https://github.com/ossrs/srs/commit/5a4373d4835758188b9a1f03005cea0b6ddc62aa
[p23]: https://github.com/ossrs/srs/pull/239
2016-01-11 05:21:28 +00:00
[pr #558 ]: https://github.com/ossrs/srs/pull/558
[pr #559 ]: https://github.com/ossrs/srs/pull/559
2015-11-11 02:37:50 +00:00
[authors]: https://github.com/ossrs/srs/blob/develop/AUTHORS.txt
2021-04-28 04:23:52 +00:00
[bigthanks]: https://github.com/ossrs/srs/wiki/v4_CN_Product#bigthanks
2015-05-23 06:43:55 +00:00
[st]: https://github.com/winlinvip/state-threads
2020-02-16 05:39:25 +00:00
[st2]: https://github.com/ossrs/state-threads/tree/srs
[state-threads]: https://github.com/ossrs/state-threads/tree/srs
2015-05-23 06:43:55 +00:00
[nginx-rtmp]: https://github.com/arut/nginx-rtmp-module
[http-parser]: https://github.com/joyent/http-parser
[nginx]: http://nginx.org/
[FFMPEG]: http://ffmpeg.org/
[libx264]: http://www.videolan.org/
2015-11-11 02:37:50 +00:00
[srs]: https://github.com/ossrs/srs
2015-05-23 06:43:55 +00:00
[csdn]: https://code.csdn.net/winlinvip/srs-csdn
2021-04-28 09:16:04 +00:00
[gitee]: https://gitee.com/ossrs/srs
2015-11-11 02:37:50 +00:00
[srs-dolphin]: https://github.com/ossrs/srs-dolphin
2017-01-05 01:55:57 +00:00
[oryx]: https://github.com/ossrs/go-oryx
2015-11-11 02:37:50 +00:00
[srs-bench]: https://github.com/ossrs/srs-bench
[srs-ngb]: https://github.com/ossrs/srs-ngb
[srs-librtmp]: https://github.com/ossrs/srs-librtmp
2015-05-23 06:43:55 +00:00
[gitlab]: https://gitlab.com/winlinvip/srs-gitlab
2019-10-13 00:51:36 +00:00
[console]: http://ossrs.net:1985/console
2019-12-10 23:39:50 +00:00
[player]: http://ossrs.net/players/srs_player.html
2015-11-11 02:45:45 +00:00
[modules]: https://github.com/ossrs/srs/blob/develop/trunk/modules/readme.txt
2021-03-04 23:58:32 +00:00
[docker-srs3]: https://github.com/ossrs/srs-docker/tree/v3#usage
[docker-srs4]: https://github.com/ossrs/srs-docker/tree/v4#usage
2019-12-02 10:06:02 +00:00
[docker-dev]: https://github.com/ossrs/srs-docker/tree/dev#usage
2015-08-28 10:47:39 +00:00
2021-04-28 04:23:52 +00:00
[v4_CN_Git]: https://github.com/ossrs/srs/wiki/v4_CN_Git
[v4_EN_Git]: https://github.com/ossrs/srs/wiki/v4_EN_Git
[v4_CN_SampleRTMP]: https://github.com/ossrs/srs/wiki/v4_CN_SampleRTMP
[v4_EN_SampleRTMP]: https://github.com/ossrs/srs/wiki/v4_EN_SampleRTMP
[v4_CN_SampleRTMPCluster]: https://github.com/ossrs/srs/wiki/v4_CN_SampleRTMPCluster
[v4_EN_SampleRTMPCluster]: https://github.com/ossrs/srs/wiki/v4_EN_SampleRTMPCluster
[v4_CN_SampleOriginCluster]: https://github.com/ossrs/srs/wiki/v4_CN_SampleOriginCluster
[v4_EN_SampleOriginCluster]: https://github.com/ossrs/srs/wiki/v4_EN_SampleOriginCluster
[v4_CN_SampleHLS]: https://github.com/ossrs/srs/wiki/v4_CN_SampleHLS
[v4_EN_SampleHLS]: https://github.com/ossrs/srs/wiki/v4_EN_SampleHLS
[v4_CN_SampleTranscode2HLS]: https://github.com/ossrs/srs/wiki/v4_CN_SampleTranscode2HLS
[v4_EN_SampleTranscode2HLS]: https://github.com/ossrs/srs/wiki/v4_EN_SampleTranscode2HLS
[v4_CN_SampleFFMPEG]: https://github.com/ossrs/srs/wiki/v4_CN_SampleFFMPEG
[v4_EN_SampleFFMPEG]: https://github.com/ossrs/srs/wiki/v4_EN_SampleFFMPEG
[v4_CN_SampleForward]: https://github.com/ossrs/srs/wiki/v4_CN_SampleForward
[v4_EN_SampleForward]: https://github.com/ossrs/srs/wiki/v4_EN_SampleForward
[v4_CN_SampleRealtime]: https://github.com/ossrs/srs/wiki/v4_CN_SampleRealtime
[v4_EN_SampleRealtime]: https://github.com/ossrs/srs/wiki/v4_EN_SampleRealtime
2021-05-01 08:41:42 +00:00
[v4_CN_WebRTC]: https://github.com/ossrs/srs/wiki/v4_CN_WebRTC
[v4_EN_WebRTC]: https://github.com/ossrs/srs/wiki/v4_EN_WebRTC
2021-05-24 06:45:19 +00:00
[v4_CN_WebRTC#config-candidate]: https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#config-candidate
[v4_EN_WebRTC#config-candidate]: https://github.com/ossrs/srs/wiki/v4_EN_WebRTC#config-candidate
2021-04-28 04:23:52 +00:00
[v4_CN_SampleARM]: https://github.com/ossrs/srs/wiki/v4_CN_SampleARM
[v4_EN_SampleARM]: https://github.com/ossrs/srs/wiki/v4_EN_SampleARM
[v4_CN_SampleIngest]: https://github.com/ossrs/srs/wiki/v4_CN_SampleIngest
[v4_EN_SampleIngest]: https://github.com/ossrs/srs/wiki/v4_EN_SampleIngest
[v4_CN_SampleHTTP]: https://github.com/ossrs/srs/wiki/v4_CN_SampleHTTP
[v4_EN_SampleHTTP]: https://github.com/ossrs/srs/wiki/v4_EN_SampleHTTP
[v4_CN_SampleDemo]: https://github.com/ossrs/srs/wiki/v4_CN_SampleDemo
[v4_EN_SampleDemo]: https://github.com/ossrs/srs/wiki/v4_EN_SampleDemo
[v4_CN_OriginCluster]: https://github.com/ossrs/srs/wiki/v4_CN_OriginCluster
[v4_EN_OriginCluster]: https://github.com/ossrs/srs/wiki/v4_EN_OriginCluster
[v4_CN_REUSEPORT]: https://github.com/ossrs/srs/wiki/v4_CN_REUSEPORT
[v4_EN_REUSEPORT]: https://github.com/ossrs/srs/wiki/v4_EN_REUSEPORT
[v4_CN_Sample]: https://github.com/ossrs/srs/wiki/v4_CN_Sample
[v4_EN_Sample]: https://github.com/ossrs/srs/wiki/v4_EN_Sample
[v4_CN_Product]: https://github.com/ossrs/srs/wiki/v4_CN_Product
[v4_EN_Product]: https://github.com/ossrs/srs/wiki/v4_EN_Product
[v1-wiki-cn]: https://github.com/ossrs/srs/wiki/v4_CN_Home
[v1-wiki-en]: https://github.com/ossrs/srs/wiki/v4_EN_Home
[v2-wiki-cn]: https://github.com/ossrs/srs/wiki/v4_CN_Home
[v2-wiki-en]: https://github.com/ossrs/srs/wiki/v4_EN_Home
[v4_CN_Home]: https://github.com/ossrs/srs/wiki/v4_CN_Home
[v4_EN_Home]: https://github.com/ossrs/srs/wiki/v4_EN_Home
[v4_CN_Home]: https://github.com/ossrs/srs/wiki/v4_CN_Home
[v4_EN_Home]: https://github.com/ossrs/srs/wiki/v4_EN_Home
[v4_CN_Home]: https://github.com/ossrs/srs/wiki/v4_CN_Home
[v4_EN_Home]: https://github.com/ossrs/srs/wiki/v4_EN_Home
2020-01-24 08:16:16 +00:00
[v4_CN_Home]: https://github.com/ossrs/srs/wiki/v4_CN_Home
[v4_EN_Home]: https://github.com/ossrs/srs/wiki/v4_EN_Home
2015-05-23 06:43:55 +00:00
[donation0]: http://winlinvip.github.io/srs.release/donation/index.html
2019-12-10 23:39:50 +00:00
[donation1]: http://ossrs.net/srs.release/donation/index.html
[donation2]: http://ossrs.net/srs.release/donation/paypal.html
2015-11-11 02:37:50 +00:00
[donations]: https://github.com/ossrs/srs/blob/develop/DONATIONS.txt
2021-04-28 04:23:52 +00:00
[v4_CN_Compare]: https://github.com/ossrs/srs/wiki/v4_CN_Compare
[v4_EN_Compare]: https://github.com/ossrs/srs/wiki/v4_EN_Compare
[v4_CN_Build]: https://github.com/ossrs/srs/wiki/v4_CN_Build
[v4_EN_Build]: https://github.com/ossrs/srs/wiki/v4_EN_Build
[v4_CN_Performance]: https://github.com/ossrs/srs/wiki/v4_CN_Performance
[v4_EN_Performance]: https://github.com/ossrs/srs/wiki/v4_EN_Performance
[v4_CN_DeliveryRTMP]: https://github.com/ossrs/srs/wiki/v4_CN_DeliveryRTMP
[v4_EN_DeliveryRTMP]: https://github.com/ossrs/srs/wiki/v4_EN_DeliveryRTMP
[v4_CN_Edge]: https://github.com/ossrs/srs/wiki/v4_CN_Edge
[v4_EN_Edge]: https://github.com/ossrs/srs/wiki/v4_EN_Edge
[v4_CN_RtmpUrlVhost]: https://github.com/ossrs/srs/wiki/v4_CN_RtmpUrlVhost
[v4_EN_RtmpUrlVhost]: https://github.com/ossrs/srs/wiki/v4_EN_RtmpUrlVhost
[v4_CN_RTMPHandshake]: https://github.com/ossrs/srs/wiki/v4_CN_RTMPHandshake
[v4_EN_RTMPHandshake]: https://github.com/ossrs/srs/wiki/v4_EN_RTMPHandshake
[v4_CN_HTTPServer]: https://github.com/ossrs/srs/wiki/v4_CN_HTTPServer
[v4_EN_HTTPServer]: https://github.com/ossrs/srs/wiki/v4_EN_HTTPServer
[v4_CN_DeliveryHLS]: https://github.com/ossrs/srs/wiki/v4_CN_DeliveryHLS
[v4_EN_DeliveryHLS]: https://github.com/ossrs/srs/wiki/v4_EN_DeliveryHLS
[v4_CN_DeliveryHLS2]: https://github.com/ossrs/srs/wiki/v4_CN_DeliveryHLS#hlsaudioonly
[v4_EN_DeliveryHLS2]: https://github.com/ossrs/srs/wiki/v4_EN_DeliveryHLS#hlsaudioonly
[v4_CN_Reload]: https://github.com/ossrs/srs/wiki/v4_CN_Reload
[v4_EN_Reload]: https://github.com/ossrs/srs/wiki/v4_EN_Reload
[v4_CN_LowLatency2]: https://github.com/ossrs/srs/wiki/v4_CN_LowLatency#gop-cache
[v4_EN_LowLatency2]: https://github.com/ossrs/srs/wiki/v4_EN_LowLatency#gop-cache
[v4_CN_Forward]: https://github.com/ossrs/srs/wiki/v4_CN_Forward
[v4_EN_Forward]: https://github.com/ossrs/srs/wiki/v4_EN_Forward
[v4_CN_FFMPEG]: https://github.com/ossrs/srs/wiki/v4_CN_FFMPEG
[v4_EN_FFMPEG]: https://github.com/ossrs/srs/wiki/v4_EN_FFMPEG
[v4_CN_HTTPCallback]: https://github.com/ossrs/srs/wiki/v4_CN_HTTPCallback
[v4_EN_HTTPCallback]: https://github.com/ossrs/srs/wiki/v4_EN_HTTPCallback
[v4_CN_SampleDemo]: https://github.com/ossrs/srs/wiki/v4_CN_SampleDemo
[v4_EN_SampleDemo]: https://github.com/ossrs/srs/wiki/v4_EN_SampleDemo
[v4_CN_SrsLinuxArm]: https://github.com/ossrs/srs/wiki/v4_CN_SrsLinuxArm
[v4_EN_SrsLinuxArm]: https://github.com/ossrs/srs/wiki/v4_EN_SrsLinuxArm
[v4_CN_LinuxService]: https://github.com/ossrs/srs/wiki/v4_CN_LinuxService
[v4_EN_LinuxService]: https://github.com/ossrs/srs/wiki/v4_EN_LinuxService
[v4_CN_RTMP-ATC]: https://github.com/ossrs/srs/wiki/v4_CN_RTMP-ATC
[v4_EN_RTMP-ATC]: https://github.com/ossrs/srs/wiki/v4_EN_RTMP-ATC
[v4_CN_HTTPApi]: https://github.com/ossrs/srs/wiki/v4_CN_HTTPApi
[v4_EN_HTTPApi]: https://github.com/ossrs/srs/wiki/v4_EN_HTTPApi
[v4_CN_Ingest]: https://github.com/ossrs/srs/wiki/v4_CN_Ingest
[v4_EN_Ingest]: https://github.com/ossrs/srs/wiki/v4_EN_Ingest
[v4_CN_DVR]: https://github.com/ossrs/srs/wiki/v4_CN_DVR
[v4_EN_DVR]: https://github.com/ossrs/srs/wiki/v4_EN_DVR
[v4_CN_SrsLog]: https://github.com/ossrs/srs/wiki/v4_CN_SrsLog
[v4_EN_SrsLog]: https://github.com/ossrs/srs/wiki/v4_EN_SrsLog
[v4_CN_DRM2]: https://github.com/ossrs/srs/wiki/v4_CN_DRM#tokentraverse
[v4_EN_DRM2]: https://github.com/ossrs/srs/wiki/v4_EN_DRM#tokentraverse
[v4_CN_SampleHTTP]: https://github.com/ossrs/srs/wiki/v4_CN_SampleHTTP
[v4_EN_SampleHTTP]: https://github.com/ossrs/srs/wiki/v4_EN_SampleHTTP
[v4_CN_FlvVodStream]: https://github.com/ossrs/srs/wiki/v4_CN_FlvVodStream
[v4_EN_FlvVodStream]: https://github.com/ossrs/srs/wiki/v4_EN_FlvVodStream
[v4_CN_Security]: https://github.com/ossrs/srs/wiki/v4_CN_Security
[v4_EN_Security]: https://github.com/ossrs/srs/wiki/v4_EN_Security
[v4_CN_DeliveryHttpStream]: https://github.com/ossrs/srs/wiki/v4_CN_DeliveryHttpStream
[v4_EN_DeliveryHttpStream]: https://github.com/ossrs/srs/wiki/v4_EN_DeliveryHttpStream
[v4_CN_DeliveryHDS]: https://github.com/ossrs/srs/wiki/v4_CN_DeliveryHDS
[v4_EN_DeliveryHDS]: https://github.com/ossrs/srs/wiki/v4_EN_DeliveryHDS
[v4_CN_Streamer]: https://github.com/ossrs/srs/wiki/v4_CN_Streamer
[v4_EN_Streamer]: https://github.com/ossrs/srs/wiki/v4_EN_Streamer
[v4_CN_Streamer2]: https://github.com/ossrs/srs/wiki/v4_CN_Streamer#push-http-flv-to-srs
[v4_EN_Streamer2]: https://github.com/ossrs/srs/wiki/v4_EN_Streamer#push-http-flv-to-srs
[v4_CN_SampleHttpFlv]: https://github.com/ossrs/srs/wiki/v4_CN_SampleHttpFlv
[v4_EN_SampleHttpFlv]: https://github.com/ossrs/srs/wiki/v4_EN_SampleHttpFlv
[v4_CN_SampleHttpFlvCluster]: https://github.com/ossrs/srs/wiki/v4_CN_SampleHttpFlvCluster
[v4_EN_SampleHttpFlvCluster]: https://github.com/ossrs/srs/wiki/v4_EN_SampleHttpFlvCluster
[v4_CN_LowLatency]: https://github.com/ossrs/srs/wiki/v4_CN_LowLatency
[v4_EN_LowLatency]: https://github.com/ossrs/srs/wiki/v4_EN_LowLatency
[v4_EN_LowLatency#merged-read]: https://github.com/ossrs/srs/wiki/v4_EN_LowLatency#merged-read
[v4_CN_Performance#performancereport4k]: https://github.com/ossrs/srs/wiki/v4_CN_Performance#performancereport4k
[v4_CN_DRM#tokentraverse]: https://github.com/ossrs/srs/wiki/v4_CN_DRM#tokentraverse
[v4_CN_RaspberryPi]: https://github.com/ossrs/srs/wiki/v4_CN_RaspberryPi
[v4_CN_Build]: https://github.com/ossrs/srs/wiki/v4_CN_Build
[v4_CN_LowLatency]: https://github.com/ossrs/srs/wiki/v4_CN_LowLatency
[v4_CN_HowToAskQuestion]: https://github.com/ossrs/srs/wiki/v4_CN_HowToAskQuestion
[v4_CN_Build]: https://github.com/ossrs/srs/wiki/v4_CN_Build
[v4_CN_Performance]: https://github.com/ossrs/srs/wiki/v4_CN_Performance
[v4_CN_RaspberryPi]: https://github.com/ossrs/srs/wiki/v4_CN_RaspberryPi
[v4_CN_LowLatency#merged-read]: https://github.com/ossrs/srs/wiki/v4_CN_LowLatency#merged-read
[v4_CN_Product]: https://github.com/ossrs/srs/wiki/v4_CN_Product
[v4_EN_LowLatency#merged-write]: https://github.com/ossrs/srs/wiki/v4_EN_LowLatency#merged-write
[v4_CN_LowLatency#merged-write]: https://github.com/ossrs/srs/wiki/v4_CN_LowLatency#merged-write
[v4_CN_NgExec]:https://github.com/ossrs/srs/wiki/v4_CN_NgExec
[v4_EN_NgExec]:https://github.com/ossrs/srs/wiki/v4_EN_NgExec
[v4_CN_ReusePort]:https://github.com/ossrs/srs/wiki/v4_CN_ReusePort
[v4_EN_ReusePort]:https://github.com/ossrs/srs/wiki/v4_EN_ReusePort
2021-03-03 09:50:51 +00:00
[v4_CN_SampleSRT]:https://github.com/ossrs/srs/wiki/v4_CN_SampleSRT
[v4_EN_SampleSRT]:https://github.com/ossrs/srs/wiki/v4_EN_SampleSRT
2021-04-28 04:23:52 +00:00
[v4_CN_SampleDASH]:https://github.com/ossrs/srs/wiki/v4_CN_SampleDASH
[v4_EN_SampleDASH]:https://github.com/ossrs/srs/wiki/v4_EN_SampleDASH
2015-11-11 02:37:50 +00:00
[bug #213 ]: https://github.com/ossrs/srs/issues/213
[bug #194 ]: https://github.com/ossrs/srs/issues/194
[bug #182 ]: https://github.com/ossrs/srs/issues/182
[bug #257 ]: https://github.com/ossrs/srs/issues/257
[bug #179 ]: https://github.com/ossrs/srs/issues/179
[bug #224 ]: https://github.com/ossrs/srs/issues/224
[bug #251 ]: https://github.com/ossrs/srs/issues/251
[bug #293 ]: https://github.com/ossrs/srs/issues/293
[bug #250 ]: https://github.com/ossrs/srs/issues/250
[bug #301 ]: https://github.com/ossrs/srs/issues/301
[bug #304 ]: https://github.com/ossrs/srs/issues/304
[bug #133 ]: https://github.com/ossrs/srs/issues/133
[bug #92 ]: https://github.com/ossrs/srs/issues/92
2015-11-11 02:45:45 +00:00
[bug #367 ]: https://github.com/ossrs/srs/issues/367
[bug #471 ]: https://github.com/ossrs/srs/issues/471
2015-11-11 02:37:50 +00:00
[bug #380 ]: https://github.com/ossrs/srs/issues/380
[bug #474 ]: https://github.com/ossrs/srs/issues/474
[bug #484 ]: https://github.com/ossrs/srs/issues/484
[bug #485 ]: https://github.com/ossrs/srs/issues/485
[bug #495 ]: https://github.com/ossrs/srs/issues/495
[bug #497 ]: https://github.com/ossrs/srs/issues/497
[bug #448 ]: https://github.com/ossrs/srs/issues/448
[bug #475 ]: https://github.com/ossrs/srs/issues/475
[bug #458 ]: https://github.com/ossrs/srs/issues/458
[bug #454 ]: https://github.com/ossrs/srs/issues/454
[bug #442 ]: https://github.com/ossrs/srs/issues/442
[bug #169 ]: https://github.com/ossrs/srs/issues/169
[bug #441 ]: https://github.com/ossrs/srs/issues/441
[bug #433 ]: https://github.com/ossrs/srs/issues/433
[bug #425 ]: https://github.com/ossrs/srs/issues/425
[bug #424 ]: https://github.com/ossrs/srs/issues/424
[bug #421 ]: https://github.com/ossrs/srs/issues/421
[bug #435 ]: https://github.com/ossrs/srs/issues/435
[bug #420 ]: https://github.com/ossrs/srs/issues/420
[bug #209 ]: https://github.com/ossrs/srs/issues/209
[bug #409 ]: https://github.com/ossrs/srs/issues/409
[bug #404 ]: https://github.com/ossrs/srs/issues/404
[bug #391 ]: https://github.com/ossrs/srs/issues/391
[bug #397 ]: https://github.com/ossrs/srs/issues/397
[bug #400 ]: https://github.com/ossrs/srs/issues/400
[bug #383 ]: https://github.com/ossrs/srs/issues/383
[bug #381 ]: https://github.com/ossrs/srs/issues/381
[bug #375 ]: https://github.com/ossrs/srs/issues/375
[bug #304 ]: https://github.com/ossrs/srs/issues/304
[bug #372 ]: https://github.com/ossrs/srs/issues/372
[bug #366 ]: https://github.com/ossrs/srs/issues/366
[bug #351 ]: https://github.com/ossrs/srs/issues/351
[bug #155 ]: https://github.com/ossrs/srs/issues/155
[bug #324 ]: https://github.com/ossrs/srs/issues/324
[bug #324 ]: https://github.com/ossrs/srs/issues/324
[bug #328 ]: https://github.com/ossrs/srs/issues/328
[bug #155 ]: https://github.com/ossrs/srs/issues/155
[bug #316 ]: https://github.com/ossrs/srs/issues/316
[bug #310 ]: https://github.com/ossrs/srs/issues/310
[bug #322 ]: https://github.com/ossrs/srs/issues/322
[bug #179 ]: https://github.com/ossrs/srs/issues/179
[bug #304 ]: https://github.com/ossrs/srs/issues/304
[bug #133 ]: https://github.com/ossrs/srs/issues/133
[bug #304 ]: https://github.com/ossrs/srs/issues/304
[bug #304 ]: https://github.com/ossrs/srs/issues/304
[bug #304 ]: https://github.com/ossrs/srs/issues/304
[bug #311 ]: https://github.com/ossrs/srs/issues/311
[bug #310 ]: https://github.com/ossrs/srs/issues/310
[bug #136 ]: https://github.com/ossrs/srs/issues/136
[bug #250 ]: https://github.com/ossrs/srs/issues/250
[bug #268 ]: https://github.com/ossrs/srs/issues/268
[bug #151 ]: https://github.com/ossrs/srs/issues/151
[bug #151 ]: https://github.com/ossrs/srs/issues/151
[bug #293 ]: https://github.com/ossrs/srs/issues/293
[bug #293 ]: https://github.com/ossrs/srs/issues/293
[bug #293 ]: https://github.com/ossrs/srs/issues/293
[bug #277 ]: https://github.com/ossrs/srs/issues/277
[bug #277 ]: https://github.com/ossrs/srs/issues/277
[bug #290 ]: https://github.com/ossrs/srs/issues/290
[bug #281 ]: https://github.com/ossrs/srs/issues/281
[bug #274 ]: https://github.com/ossrs/srs/issues/274
[bug #179 ]: https://github.com/ossrs/srs/issues/179
[bug #211 ]: https://github.com/ossrs/srs/issues/211
[bug #207 ]: https://github.com/ossrs/srs/issues/207
[bug #158 ]: https://github.com/ossrs/srs/issues/158
[bug #216 ]: https://github.com/ossrs/srs/issues/216
[bug #263 ]: https://github.com/ossrs/srs/issues/263
[bug #270 ]: https://github.com/ossrs/srs/issues/270
[bug #266 ]: https://github.com/ossrs/srs/issues/266
[bug #267 ]: https://github.com/ossrs/srs/issues/267
[bug #268 ]: https://github.com/ossrs/srs/issues/268
[bug #264 ]: https://github.com/ossrs/srs/issues/264
[bug #264 ]: https://github.com/ossrs/srs/issues/264
[bug #257 ]: https://github.com/ossrs/srs/issues/257
[bug #237 ]: https://github.com/ossrs/srs/issues/237
[bug #235 ]: https://github.com/ossrs/srs/issues/235
[bug #215 ]: https://github.com/ossrs/srs/issues/215
[bug #212 ]: https://github.com/ossrs/srs/issues/212
[bug #217 ]: https://github.com/ossrs/srs/issues/217
[bug #212 ]: https://github.com/ossrs/srs/issues/212
[bug #213 ]: https://github.com/ossrs/srs/issues/213
[bug #204 ]: https://github.com/ossrs/srs/issues/204
[bug #203 ]: https://github.com/ossrs/srs/issues/203
[bug #202 ]: https://github.com/ossrs/srs/issues/202
[bug #200 ]: https://github.com/ossrs/srs/issues/200
[bug #194 ]: https://github.com/ossrs/srs/issues/194
[bug #194 ]: https://github.com/ossrs/srs/issues/194
[bug #195 ]: https://github.com/ossrs/srs/issues/195
[bug #191 ]: https://github.com/ossrs/srs/issues/191
[bug #66 ]: https://github.com/ossrs/srs/issues/66
[bug #185 ]: https://github.com/ossrs/srs/issues/185
[bug #186 ]: https://github.com/ossrs/srs/issues/186
[bug #184 ]: https://github.com/ossrs/srs/issues/184
[bug #151 ]: https://github.com/ossrs/srs/issues/151
[bug #162 ]: https://github.com/ossrs/srs/issues/162
[bug #180 ]: https://github.com/ossrs/srs/issues/180
[bug #177 ]: https://github.com/ossrs/srs/issues/177
[bug #167 ]: https://github.com/ossrs/srs/issues/167
[bug #150 ]: https://github.com/ossrs/srs/issues/150
[bug #165 ]: https://github.com/ossrs/srs/issues/165
[bug #160 ]: https://github.com/ossrs/srs/issues/160
[bug #155 ]: https://github.com/ossrs/srs/issues/155
[bug #148 ]: https://github.com/ossrs/srs/issues/148
[bug #147 ]: https://github.com/ossrs/srs/issues/147
[bug #79 ]: https://github.com/ossrs/srs/issues/79
[bug #57 ]: https://github.com/ossrs/srs/issues/57
[bug #85 ]: https://github.com/ossrs/srs/issues/85
[bug #145 ]: https://github.com/ossrs/srs/issues/145
[bug #143 ]: https://github.com/ossrs/srs/issues/143
[bug #138 ]: https://github.com/ossrs/srs/issues/138
[bug #142 ]: https://github.com/ossrs/srs/issues/142
[bug #141 ]: https://github.com/ossrs/srs/issues/141
[bug #124 ]: https://github.com/ossrs/srs/issues/124
[bug #121 ]: https://github.com/ossrs/srs/issues/121
[bug #119 ]: https://github.com/ossrs/srs/issues/119
[bug #81 ]: https://github.com/ossrs/srs/issues/81
[bug #103 ]: https://github.com/ossrs/srs/issues/103
[bug #111 ]: https://github.com/ossrs/srs/issues/111
[bug #110 ]: https://github.com/ossrs/srs/issues/110
[bug #109 ]: https://github.com/ossrs/srs/issues/109
[bug #108 ]: https://github.com/ossrs/srs/issues/108
[bug #98 ]: https://github.com/ossrs/srs/issues/98
[bug #87 ]: https://github.com/ossrs/srs/issues/87
[bug #84 ]: https://github.com/ossrs/srs/issues/84
[bug #89 ]: https://github.com/ossrs/srs/issues/89
[bug #76 ]: https://github.com/ossrs/srs/issues/76
[bug #78 ]: https://github.com/ossrs/srs/issues/78
[bug #74 ]: https://github.com/ossrs/srs/issues/74
[bug #72 ]: https://github.com/ossrs/srs/issues/72
[bug #67 ]: https://github.com/ossrs/srs/issues/67
[bug #64 ]: https://github.com/ossrs/srs/issues/64
[bug #36 ]: https://github.com/ossrs/srs/issues/36
[bug #60 ]: https://github.com/ossrs/srs/issues/60
[bug #59 ]: https://github.com/ossrs/srs/issues/59
[bug #50 ]: https://github.com/ossrs/srs/issues/50
[bug #34 ]: https://github.com/ossrs/srs/issues/34
[bug #257 -c0]: https://github.com/ossrs/srs/issues/257#issuecomment-66864413
[bug #109 ]: https://github.com/ossrs/srs/issues/109
[bug #108 ]: https://github.com/ossrs/srs/issues/108
[bug #104 ]: https://github.com/ossrs/srs/issues/104
[bug #98 ]: https://github.com/ossrs/srs/issues/98
[bug #87 ]: https://github.com/ossrs/srs/issues/87
[bug #84 ]: https://github.com/ossrs/srs/issues/84
[bug #89 ]: https://github.com/ossrs/srs/issues/89
[bug #76 ]: https://github.com/ossrs/srs/issues/76
[bug #78 ]: https://github.com/ossrs/srs/issues/78
[bug #74 ]: https://github.com/ossrs/srs/issues/74
[bug #72 ]: https://github.com/ossrs/srs/issues/72
[bug #67 ]: https://github.com/ossrs/srs/issues/67
[bug #64 ]: https://github.com/ossrs/srs/issues/64
[bug #36 ]: https://github.com/ossrs/srs/issues/36
[bug #60 ]: https://github.com/ossrs/srs/issues/60
[bug #59 ]: https://github.com/ossrs/srs/issues/59
[bug #50 ]: https://github.com/ossrs/srs/issues/50
[bug #34 ]: https://github.com/ossrs/srs/issues/34
2015-11-11 02:45:45 +00:00
[bug #367 ]: https://github.com/ossrs/srs/issues/367
[bug #319 ]: https://github.com/ossrs/srs/issues/319
[bug #367 ]: https://github.com/ossrs/srs/issues/367
[bug #459 ]: https://github.com/ossrs/srs/issues/459
[bug #470 ]: https://github.com/ossrs/srs/issues/470
[bug #319 ]: https://github.com/ossrs/srs/issues/319
[bug #467 ]: https://github.com/ossrs/srs/issues/467
[bug #464 ]: https://github.com/ossrs/srs/issues/464
[bug #465 ]: https://github.com/ossrs/srs/issues/465
[bug #299 ]: https://github.com/ossrs/srs/issues/299
[bug #92 ]: https://github.com/ossrs/srs/issues/92
[bug #299 ]: https://github.com/ossrs/srs/issues/299
[bug #466 ]: https://github.com/ossrs/srs/issues/466
[bug #468 ]: https://github.com/ossrs/srs/issues/468
[bug #502 ]: https://github.com/ossrs/srs/issues/502
[bug #467 ]: https://github.com/ossrs/srs/issues/467
2015-11-11 02:37:50 +00:00
[bug #512 ]: https://github.com/ossrs/srs/issues/512
[bug #515 ]: https://github.com/ossrs/srs/issues/515
[bug #511 ]: https://github.com/ossrs/srs/issues/511
2015-11-16 10:06:44 +00:00
[bug #518 ]: https://github.com/ossrs/srs/issues/518
2015-12-22 07:39:12 +00:00
[bug #541 ]: https://github.com/ossrs/srs/issues/541
2015-12-22 08:13:49 +00:00
[bug #546 ]: https://github.com/ossrs/srs/issues/546
2015-12-22 09:00:22 +00:00
[bug #418 ]: https://github.com/ossrs/srs/issues/418
2015-12-22 11:18:46 +00:00
[bug #509 ]: https://github.com/ossrs/srs/issues/509
2016-09-01 08:51:09 +00:00
[bug #511 ]: https://github.com/ossrs/srs/issues/511
2017-01-04 09:50:06 +00:00
[bug #717 ]: https://github.com/ossrs/srs/issues/717
[bug #691 ]: https://github.com/ossrs/srs/issues/691
2017-01-06 02:39:37 +00:00
[bug #711 ]: https://github.com/ossrs/srs/issues/711
2017-01-06 10:17:11 +00:00
[bug #640 ]: https://github.com/ossrs/srs/issues/640
[bug #661 ]: https://github.com/ossrs/srs/issues/661
[bug #666 ]: https://github.com/ossrs/srs/issues/666
[bug #654 ]: https://github.com/ossrs/srs/issues/654
[bug #713 ]: https://github.com/ossrs/srs/issues/713
[bug #513 ]: https://github.com/ossrs/srs/issues/513
2017-01-06 06:57:54 +00:00
[bug #730 ]: https://github.com/ossrs/srs/issues/730
2017-01-10 03:14:20 +00:00
[bug #635 ]: https://github.com/ossrs/srs/issues/635
2017-01-11 03:44:51 +00:00
[bug #736 ]: https://github.com/ossrs/srs/issues/736
2017-01-11 03:22:16 +00:00
[bug #588 ]: https://github.com/ossrs/srs/issues/588
2017-01-11 09:43:29 +00:00
[bug #740 ]: https://github.com/ossrs/srs/issues/740
2017-01-18 03:48:31 +00:00
[bug #749 ]: https://github.com/ossrs/srs/issues/749
2017-01-18 11:33:54 +00:00
[bug #750 ]: https://github.com/ossrs/srs/issues/750
2017-01-22 05:12:56 +00:00
[bug #752 ]: https://github.com/ossrs/srs/issues/752
2017-02-09 06:29:57 +00:00
[bug #503 ]: https://github.com/ossrs/srs/issues/503
2017-04-09 10:45:42 +00:00
[bug #834 ]: https://github.com/ossrs/srs/issues/834
2017-04-15 08:54:42 +00:00
[bug #841 ]: https://github.com/ossrs/srs/issues/841
2017-04-15 08:59:36 +00:00
[bug #846 ]: https://github.com/ossrs/srs/issues/846
2017-04-15 12:44:02 +00:00
[bug #844 ]: https://github.com/ossrs/srs/issues/844
2017-04-18 03:41:09 +00:00
[bug #848 ]: https://github.com/ossrs/srs/issues/848
2017-04-23 12:55:51 +00:00
[bug #851 ]: https://github.com/ossrs/srs/issues/851
2017-04-30 04:03:31 +00:00
[bug #636 ]: https://github.com/ossrs/srs/issues/636
2017-05-01 08:39:59 +00:00
[bug #865 ]: https://github.com/ossrs/srs/issues/865
2017-05-29 04:15:04 +00:00
[bug #893 ]: https://github.com/ossrs/srs/issues/893
[bug #899 ]: https://github.com/ossrs/srs/issues/899
2018-01-01 15:01:13 +00:00
[bug #1033 ]: https://github.com/ossrs/srs/issues/1033
2018-01-04 05:49:11 +00:00
[bug #1039 ]: https://github.com/ossrs/srs/issues/1039
2018-01-07 09:18:43 +00:00
[bug #1044 ]: https://github.com/ossrs/srs/issues/1044
[bug #1045 ]: https://github.com/ossrs/srs/issues/1045
2018-02-13 00:52:57 +00:00
[bug #1059 ]: https://github.com/ossrs/srs/issues/1059
2018-02-28 05:37:30 +00:00
[bug #1077 ]: https://github.com/ossrs/srs/issues/1077
2018-07-17 05:44:01 +00:00
[bug #1176 ]: https://github.com/ossrs/srs/issues/1176
2018-07-21 09:49:46 +00:00
[bug #1119 ]: https://github.com/ossrs/srs/issues/1119
2018-08-01 22:59:57 +00:00
[bug #1031 ]: https://github.com/ossrs/srs/issues/1031
2018-08-04 11:51:04 +00:00
[bug #1110 ]: https://github.com/ossrs/srs/issues/1110
2018-08-11 11:09:56 +00:00
[bug #910 ]: https://github.com/ossrs/srs/issues/910
2018-08-12 02:44:55 +00:00
[bug #1202 ]: https://github.com/ossrs/srs/issues/1202
2018-10-07 23:09:31 +00:00
[bug #1237 ]: https://github.com/ossrs/srs/issues/1237
2018-10-07 23:16:07 +00:00
[bug #1236 ]: https://github.com/ossrs/srs/issues/1236
2018-10-28 06:09:55 +00:00
[bug #1250 ]: https://github.com/ossrs/srs/issues/1250
2018-11-11 05:30:12 +00:00
[bug #1263 ]: https://github.com/ossrs/srs/issues/1263
2018-11-11 05:33:47 +00:00
[bug #1261 ]: https://github.com/ossrs/srs/issues/1261
2018-12-01 12:21:35 +00:00
[bug #1274 ]: https://github.com/ossrs/srs/pull/1274
2019-04-05 10:16:05 +00:00
[bug #1339 ]: https://github.com/ossrs/srs/pull/1339
2019-04-05 11:54:32 +00:00
[bug #1312 ]: https://github.com/ossrs/srs/pull/1312
2019-04-06 07:35:12 +00:00
[bug #1304 ]: https://github.com/ossrs/srs/pull/1304
2019-12-19 06:39:34 +00:00
[bug #1524 ]: https://github.com/ossrs/srs/issues/1524
2019-12-26 04:31:37 +00:00
[bug #1488 ]: https://github.com/ossrs/srs/issues/1488
2020-01-05 06:41:31 +00:00
[bug #1551 ]: https://github.com/ossrs/srs/pull/1551
2020-01-08 09:57:04 +00:00
[bug #1554 ]: https://github.com/ossrs/srs/pull/1554
2020-06-24 03:37:25 +00:00
[bug #1672 ]: https://github.com/ossrs/srs/issues/1672
2015-11-11 02:37:50 +00:00
[bug #xxxxxxxxxx ]: https://github.com/ossrs/srs/issues/xxxxxxxxxx
2015-05-23 07:11:45 +00:00
2017-01-11 01:45:22 +00:00
[bug #735 ]: https://github.com/ossrs/srs/issues/735
2017-01-17 02:44:13 +00:00
[bug #742 ]: https://github.com/ossrs/srs/issues/742
2017-02-07 13:56:20 +00:00
[bug #738 ]: https://github.com/ossrs/srs/issues/738
2017-03-02 08:43:06 +00:00
[bug #786 ]: https://github.com/ossrs/srs/issues/786
2017-03-26 09:05:50 +00:00
[bug #820 ]: https://github.com/ossrs/srs/issues/820
2017-04-16 13:33:39 +00:00
[bug #547 ]: https://github.com/ossrs/srs/issues/547
2017-05-29 23:40:18 +00:00
[bug #904 ]: https://github.com/ossrs/srs/issues/904
2017-05-30 11:40:03 +00:00
[bug #821 ]: https://github.com/ossrs/srs/issues/821
2017-06-10 06:19:10 +00:00
[bug #913 ]: https://github.com/ossrs/srs/issues/913
2018-01-07 04:44:25 +00:00
[bug #460 ]: https://github.com/ossrs/srs/issues/460
2019-10-03 08:10:22 +00:00
[bug #775 ]: https://github.com/ossrs/srs/issues/775
2018-02-13 01:05:01 +00:00
[bug #1057 ]: https://github.com/ossrs/srs/issues/1057
2018-02-28 05:34:26 +00:00
[bug #105 ]: https://github.com/ossrs/srs/issues/105
[bug #727 ]: https://github.com/ossrs/srs/issues/727
2018-08-05 02:41:31 +00:00
[bug #1087 ]: https://github.com/ossrs/srs/issues/1087
2018-08-25 10:10:55 +00:00
[bug #1051 ]: https://github.com/ossrs/srs/issues/1051
2018-08-25 13:17:33 +00:00
[bug #1093 ]: https://github.com/ossrs/srs/issues/1093
2019-11-30 11:06:41 +00:00
[bug #1501 ]: https://github.com/ossrs/srs/issues/1501
2019-12-11 03:31:32 +00:00
[bug #1229 ]: https://github.com/ossrs/srs/issues/1229
2019-12-11 06:32:57 +00:00
[bug #1042 ]: https://github.com/ossrs/srs/issues/1042
2019-12-11 09:56:31 +00:00
[bug #1445 ]: https://github.com/ossrs/srs/issues/1445
2019-12-12 08:51:34 +00:00
[bug #1506 ]: https://github.com/ossrs/srs/issues/1506
2019-12-19 06:04:26 +00:00
[bug #1520 ]: https://github.com/ossrs/srs/issues/1520
[bug #1223 ]: https://github.com/ossrs/srs/issues/1223
2019-12-20 06:49:25 +00:00
[bug #1508 ]: https://github.com/ossrs/srs/issues/1508
2019-12-23 04:01:50 +00:00
[bug #1535 ]: https://github.com/ossrs/srs/issues/1535
2019-12-25 08:47:29 +00:00
[bug #1537 ]: https://github.com/ossrs/srs/issues/1537
2019-12-25 11:04:15 +00:00
[bug #1538 ]: https://github.com/ossrs/srs/issues/1538
2019-12-25 11:58:15 +00:00
[bug #1282 ]: https://github.com/ossrs/srs/issues/1282
2019-12-26 10:05:17 +00:00
[bug #1105 ]: https://github.com/ossrs/srs/issues/1105
2019-12-27 03:46:07 +00:00
[bug #1544 ]: https://github.com/ossrs/srs/issues/1544
2019-12-29 10:56:35 +00:00
[bug #1255 ]: https://github.com/ossrs/srs/issues/1255
2020-01-05 12:06:25 +00:00
[bug #1543 ]: https://github.com/ossrs/srs/issues/1543
2020-01-15 11:51:33 +00:00
[bug #1509 ]: https://github.com/ossrs/srs/issues/1509
2020-01-16 06:28:05 +00:00
[bug #1575 ]: https://github.com/ossrs/srs/issues/1575
2020-01-19 03:22:35 +00:00
[bug #1070 ]: https://github.com/ossrs/srs/issues/1070
2020-01-19 06:34:42 +00:00
[bug #1580 ]: https://github.com/ossrs/srs/issues/1580
2020-01-21 02:28:25 +00:00
[bug #1547 ]: https://github.com/ossrs/srs/issues/1547
2020-01-21 07:22:55 +00:00
[bug #1221 ]: https://github.com/ossrs/srs/issues/1221
2019-05-07 00:00:16 +00:00
[bug #1111 ]: https://github.com/ossrs/srs/issues/1111
2019-05-07 00:28:06 +00:00
[bug #463 ]: https://github.com/ossrs/srs/issues/463
2020-01-23 12:47:32 +00:00
[bug #1147 ]: https://github.com/ossrs/srs/issues/1147
2020-01-25 07:04:34 +00:00
[bug #1108 ]: https://github.com/ossrs/srs/issues/1108
2020-01-25 10:05:18 +00:00
[bug #703 ]: https://github.com/ossrs/srs/issues/703
2020-01-25 12:03:22 +00:00
[bug #878 ]: https://github.com/ossrs/srs/issues/878
2020-01-26 01:25:44 +00:00
[bug #607 ]: https://github.com/ossrs/srs/issues/607
2020-01-27 11:46:08 +00:00
[bug #1303 ]: https://github.com/ossrs/srs/issues/1303
2020-01-28 13:35:06 +00:00
[bug #1230 ]: https://github.com/ossrs/srs/issues/1230
2020-01-29 12:22:28 +00:00
[bug #1206 ]: https://github.com/ossrs/srs/issues/1206
2020-02-04 08:13:48 +00:00
[bug #939 ]: https://github.com/ossrs/srs/issues/939
2020-02-04 11:07:54 +00:00
[bug #1186 ]: https://github.com/ossrs/srs/issues/1186
2020-02-05 05:04:00 +00:00
[bug #1592 ]: https://github.com/ossrs/srs/issues/1592
2020-02-05 06:17:30 +00:00
[bug #665 ]: https://github.com/ossrs/srs/issues/665
2020-02-14 15:04:01 +00:00
[bug #1595 ]: https://github.com/ossrs/srs/issues/1595
2020-02-17 03:53:04 +00:00
[bug #1601 ]: https://github.com/ossrs/srs/issues/1601
2020-02-18 11:59:47 +00:00
[bug #1579 ]: https://github.com/ossrs/srs/issues/1579
2020-02-21 15:51:40 +00:00
[bug #1598 ]: https://github.com/ossrs/srs/issues/1598
2020-02-25 05:22:44 +00:00
[bug #1615 ]: https://github.com/ossrs/srs/issues/1615
2020-03-01 02:17:03 +00:00
[bug #1621 ]: https://github.com/ossrs/srs/issues/1621
2020-03-11 11:04:52 +00:00
[bug #1634 ]: https://github.com/ossrs/srs/issues/1634
2020-03-12 02:11:41 +00:00
[bug #1594 ]: https://github.com/ossrs/srs/issues/1594
2020-03-12 03:55:37 +00:00
[bug #1630 ]: https://github.com/ossrs/srs/issues/1630
2020-03-12 10:14:23 +00:00
[bug #1635 ]: https://github.com/ossrs/srs/issues/1635
2020-03-21 12:20:40 +00:00
[bug #1651 ]: https://github.com/ossrs/srs/issues/1651
2020-03-21 12:41:37 +00:00
[bug #1619 ]: https://github.com/ossrs/srs/issues/1619
2020-03-21 14:41:25 +00:00
[bug #1629 ]: https://github.com/ossrs/srs/issues/1629
2020-10-10 08:47:25 +00:00
[bug #1780 ]: https://github.com/ossrs/srs/issues/1780
2020-10-14 03:38:54 +00:00
[bug #1987 ]: https://github.com/ossrs/srs/issues/1987
2020-12-17 04:07:34 +00:00
[bug #1548 ]: https://github.com/ossrs/srs/issues/1548
2020-12-17 10:43:45 +00:00
[bug #1694 ]: https://github.com/ossrs/srs/issues/1694
2021-05-12 13:48:11 +00:00
[bug #2311 ]: https://github.com/ossrs/srs/issues/2311
2021-03-15 05:45:06 +00:00
[bug #413 ]: https://github.com/ossrs/srs/issues/413
[bug #2091 ]: https://github.com/ossrs/srs/issues/2091
[bug #1342 ]: https://github.com/ossrs/srs/issues/1342
[bug #2093 ]: https://github.com/ossrs/srs/issues/2093
[bug #2188 ]: https://github.com/ossrs/srs/issues/2188
2021-03-15 06:03:20 +00:00
[bug #1193 ]: https://github.com/ossrs/srs/issues/1193
2021-05-14 03:42:29 +00:00
[bug #2304 ]: https://github.com/ossrs/srs/issues/2304#issuecomment-826009290
2021-05-17 02:33:55 +00:00
[bug #2355 ]: https://github.com/ossrs/srs/issues/2355
2021-05-19 03:08:45 +00:00
[bug #307 ]: https://github.com/ossrs/srs/issues/307
2021-05-18 07:57:22 +00:00
[bug #2362 ]: https://github.com/ossrs/srs/issues/2362
2021-05-21 10:56:19 +00:00
[bug #2370 ]: https://github.com/ossrs/srs/issues/2370
2020-03-11 11:27:26 +00:00
[bug #yyyyyyyyyyyyy ]: https://github.com/ossrs/srs/issues/yyyyyyyyyyyyy
2019-05-07 00:00:16 +00:00
2020-03-07 14:25:19 +00:00
[bug #1631 ]: https://github.com/ossrs/srs/issues/1631
2020-03-07 14:35:11 +00:00
[bug #1612 ]: https://github.com/ossrs/srs/issues/1612
2020-03-20 07:16:30 +00:00
[bug #1636 ]: https://github.com/ossrs/srs/issues/1636
2020-06-24 03:45:07 +00:00
[bug #1657 ]: https://github.com/ossrs/srs/issues/1657
2020-07-03 01:20:02 +00:00
[bug #1830 ]: https://github.com/ossrs/srs/issues/1830
2020-11-03 07:45:52 +00:00
[bug #1657 -1]: https://github.com/ossrs/srs/issues/1657#issuecomment-720889906
2020-11-06 09:35:54 +00:00
[bug #1657 -2]: https://github.com/ossrs/srs/issues/1657#issuecomment-722904004
[bug #1657 -3]: https://github.com/ossrs/srs/issues/1657#issuecomment-722971676
2020-11-12 10:38:30 +00:00
[bug #1998 ]: https://github.com/ossrs/srs/issues/1998
2021-03-03 12:40:51 +00:00
[bug #2106 ]: https://github.com/ossrs/srs/issues/2106
[bug #2011 ]: https://github.com/ossrs/srs/issues/2011
2021-04-30 09:22:39 +00:00
[bug #2324 ]: https://github.com/ossrs/srs/issues/2324
[bug #1500 ]: https://github.com/ossrs/srs/issues/1500
2020-03-11 11:45:01 +00:00
[bug #zzzzzzzzzzzzz ]: https://github.com/ossrs/srs/issues/zzzzzzzzzzzzz
2020-03-07 14:25:19 +00:00
2015-10-28 03:01:20 +00:00
[exo #828 ]: https://github.com/google/ExoPlayer/pull/828
2015-05-23 07:11:45 +00:00
2021-04-28 07:45:34 +00:00
[r3.0r5]: https://github.com/ossrs/srs/releases/tag/v3.0-r5
2021-04-24 09:51:05 +00:00
[r3.0r4]: https://github.com/ossrs/srs/releases/tag/v3.0-r4
2021-01-02 11:16:30 +00:00
[r3.0r3]: https://github.com/ossrs/srs/releases/tag/v3.0-r3
2020-10-31 14:16:46 +00:00
[r3.0r2]: https://github.com/ossrs/srs/releases/tag/v3.0-r2
2020-10-10 08:50:19 +00:00
[r3.0r1]: https://github.com/ossrs/srs/releases/tag/v3.0-r1
2020-06-27 03:47:36 +00:00
[r3.0r0]: https://github.com/ossrs/srs/releases/tag/v3.0-r0
2020-03-29 06:00:37 +00:00
[r3.0b4]: https://github.com/ossrs/srs/releases/tag/v3.0-b4
2020-03-18 08:33:08 +00:00
[r3.0b3]: https://github.com/ossrs/srs/releases/tag/v3.0-b3
2020-03-05 03:34:16 +00:00
[r3.0b2]: https://github.com/ossrs/srs/releases/tag/v3.0-b2
2020-02-14 15:05:54 +00:00
[r3.0b1]: https://github.com/ossrs/srs/releases/tag/v3.0-b1
2020-02-02 03:15:08 +00:00
[r3.0b0]: https://github.com/ossrs/srs/releases/tag/v3.0-b0
2020-01-21 08:14:15 +00:00
[r3.0a9]: https://github.com/ossrs/srs/releases/tag/v3.0-a9
2020-01-10 10:20:37 +00:00
[r3.0a8]: https://github.com/ossrs/srs/releases/tag/v3.0-a8
2019-12-29 11:05:15 +00:00
[r3.0a7]: https://github.com/ossrs/srs/releases/tag/v3.0-a7
2019-12-26 04:25:41 +00:00
[r3.0a6]: https://github.com/ossrs/srs/releases/tag/v3.0-a6
2019-12-19 07:38:24 +00:00
[r3.0a5]: https://github.com/ossrs/srs/releases/tag/v3.0-a5
2019-12-13 03:05:29 +00:00
[r3.0a4]: https://github.com/ossrs/srs/releases/tag/v3.0-a4
2019-12-01 11:30:08 +00:00
[r3.0a3]: https://github.com/ossrs/srs/releases/tag/v3.0-a3
2019-11-30 11:16:12 +00:00
[r3.0a2]: https://github.com/ossrs/srs/releases/tag/v3.0-a2
2019-10-07 12:24:28 +00:00
[r3.0a1]: https://github.com/ossrs/srs/releases/tag/v3.0-a1
2019-10-04 11:25:58 +00:00
[r3.0a0]: https://github.com/ossrs/srs/releases/tag/v3.0-a0
2020-01-25 04:56:01 +00:00
[r2.0r8]: https://github.com/ossrs/srs/releases/tag/v2.0-r8
2019-11-29 10:26:40 +00:00
[r2.0r7]: https://github.com/ossrs/srs/releases/tag/v2.0-r7
2019-04-05 12:09:23 +00:00
[r2.0r6]: https://github.com/ossrs/srs/releases/tag/v2.0-r6
2018-10-28 06:18:36 +00:00
[r2.0r5]: https://github.com/ossrs/srs/releases/tag/v2.0-r5
2018-08-12 04:03:31 +00:00
[r2.0r4]: https://github.com/ossrs/srs/releases/tag/v2.0-r4
2018-07-18 12:27:54 +00:00
[r2.0r3]: https://github.com/ossrs/srs/releases/tag/v2.0-r3
2017-06-10 00:59:14 +00:00
[r2.0r2]: https://github.com/ossrs/srs/releases/tag/v2.0-r2
2017-04-18 13:08:31 +00:00
[r2.0r1]: https://github.com/ossrs/srs/releases/tag/v2.0-r1
2017-03-02 13:41:15 +00:00
[r2.0r0]: https://github.com/ossrs/srs/releases/tag/v2.0-r0
2017-01-18 04:13:49 +00:00
[r2.0b4]: https://github.com/ossrs/srs/releases/tag/v2.0-b4
2016-12-13 11:07:22 +00:00
[r2.0b3]: https://github.com/ossrs/srs/releases/tag/v2.0-b3
2016-11-09 01:43:51 +00:00
[r2.0b2]: https://github.com/ossrs/srs/releases/tag/v2.0-b2
2016-09-09 06:26:16 +00:00
[r2.0b1]: https://github.com/ossrs/srs/releases/tag/v2.0-b1
2016-08-06 08:44:33 +00:00
[r2.0b0]: https://github.com/ossrs/srs/releases/tag/v2.0-b0
2015-12-23 01:58:17 +00:00
[r2.0a3]: https://github.com/ossrs/srs/releases/tag/v2.0-a3
2015-11-11 02:37:50 +00:00
[r2.0a2]: https://github.com/ossrs/srs/releases/tag/v2.0-a2
2016-09-09 02:59:20 +00:00
[r2.0a1]: https://github.com/ossrs/srs/releases/tag/v2.0-a1
[r2.0a0]: https://github.com/ossrs/srs/releases/tag/v2.0-a0
[r1.0r4]: https://github.com/ossrs/srs/releases/tag/v1.0-r4
[r1.0r3]: https://github.com/ossrs/srs/releases/tag/v1.0-r3
[r1.0r2]: https://github.com/ossrs/srs/releases/tag/v1.0-r2
[r1.0r1]: https://github.com/ossrs/srs/releases/tag/v1.0-r1
[r1.0r0]: https://github.com/ossrs/srs/releases/tag/v1.0-r0
[r1.0b0]: https://github.com/ossrs/srs/releases/tag/v0.9.8
[r1.0a7]: https://github.com/ossrs/srs/releases/tag/v0.9.7
[r1.0a6]: https://github.com/ossrs/srs/releases/tag/v0.9.6
[r1.0a5]: https://github.com/ossrs/srs/releases/tag/v0.9.5
[r1.0a4]: https://github.com/ossrs/srs/releases/tag/v0.9.4
[r1.0a3]: https://github.com/ossrs/srs/releases/tag/v0.9.3
[r1.0a2]: https://github.com/ossrs/srs/releases/tag/v0.9.2
[r1.0a0]: https://github.com/ossrs/srs/releases/tag/v0.9.1
[r0.9]: https://github.com/ossrs/srs/releases/tag/v0.9.0
[r0.8]: https://github.com/ossrs/srs/releases/tag/v0.8.0
[r0.7]: https://github.com/ossrs/srs/releases/tag/v0.7.0
[r0.6]: https://github.com/ossrs/srs/releases/tag/v0.6.0
[r0.5]: https://github.com/ossrs/srs/releases/tag/v0.5.0
[r0.4]: https://github.com/ossrs/srs/releases/tag/v0.4.0
[r0.3]: https://github.com/ossrs/srs/releases/tag/v0.3.0
[r0.2]: https://github.com/ossrs/srs/releases/tag/v0.2.0
[r0.1]: https://github.com/ossrs/srs/releases/tag/v0.1.0
2015-11-11 02:37:50 +00:00
2021-04-28 04:23:52 +00:00
[contact]: https://github.com/ossrs/srs/wiki/v4_CN_Contact
[v4_CN_Contact]: https://github.com/ossrs/srs/wiki/v4_CN_Contact
[v4_EN_Contact]: https://github.com/ossrs/srs/wiki/v4_EN_Contact
2015-05-23 06:43:55 +00:00
[more0]: http://winlinvip.github.io/srs.release/releases/
2019-12-10 23:39:50 +00:00
[more1]: http://ossrs.net/srs.release/releases/
2015-05-23 06:43:55 +00:00
2021-05-31 05:36:30 +00:00
[LICENSE]: https://github.com/ossrs/srs/blob/4.0release/LICENSE
2017-05-24 06:14:45 +00:00
[LicenseMixing]: https://github.com/ossrs/srs/wiki/LicenseMixing
2021-04-28 04:23:52 +00:00
[srs_CN]: https://github.com/ossrs/srs/wiki/v4_CN_Home
[srs_EN]: https://github.com/ossrs/srs/wiki/v4_EN_Home
2015-11-11 02:37:50 +00:00
[branch1]: https://github.com/ossrs/srs/tree/1.0release
[branch2]: https://github.com/ossrs/srs/tree/2.0release
2021-04-28 04:23:52 +00:00
[release2]: https://github.com/ossrs/srs/wiki/v4_CN_Product#release20
[release3]: https://github.com/ossrs/srs/wiki/v4_CN_Product#release30
[release4]: https://github.com/ossrs/srs/wiki/v4_CN_Product#release40