diff --git a/README.md b/README.md
index 881317280..42f5551b5 100755
--- a/README.md
+++ b/README.md
@@ -9,8 +9,8 @@ Download from github.io: [Centos6-x86_64][centos0], [more...][more0]
Download from ossrs.net: [Centos6-x86_64][centos1], [more...][more1]
Website for SRS/2.0, read SRS 2.0 [Chinese][srs2_CN] or [English][srs2_EN].
-[![Donation](https://www.paypalobjects.com/webstatic/en_US/btn/btn_donate_92x26.png)](http://www.ossrs.net/srs.release/donation/index.html)
-[![Paypal](https://www.paypalobjects.com/webstatic/en_US/btn/btn_donate_pp_142x27.png)](http://www.ossrs.net/srs.release/donation/paypal.html)
+[![Donation](https://www.paypalobjects.com/webstatic/en_US/btn/btn_donate_92x26.png)][donation1]
+[![Paypal](https://www.paypalobjects.com/webstatic/en_US/btn/btn_donate_pp_142x27.png)][donation2]
## About
@@ -23,7 +23,7 @@ session-oriented log, exports client srs-librtmp,
with stream caster to push MPEGTS-over-UDP/RTSP to SRS,
provides EN/CN wiki and the most simple architecture.
-Why SRS?
+### Why SRS?
1. Completely Rewrite HLS: following m3u8/ts spec, and HLS support h.264+aac/mp3.
1. High Efficient RTMP: deliverying support 7k+ concurrency, vhost based, both origin and edge.
@@ -46,7 +46,7 @@ and session based log, linux service script and install script.
Enjoy it!
-## AUTHORS
+### AUTHORS
There are two types of people that have contributed to the SRS project:
* AUTHORS: Contribute important features. Names of all
@@ -66,53 +66,37 @@ A big THANK YOU goes to:
* [FFMPEG][FFMPEG] and [libx264][libx264] group for SRS to use to transcode.
* Guido van Rossum for creating Python for api-server for SRS.
-## Mirrors
+### Donation
-Github: [https://github.com/simple-rtmp-server/srs][srs], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git])
-
-```
-git clone https://github.com/simple-rtmp-server/srs.git
-```
-
-CSDN: [https://code.csdn.net/winlinvip/srs-csdn][csdn], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git])
-
-```
-git clone https://code.csdn.net/winlinvip/srs-csdn.git
-```
-
-OSChina: [http://git.oschina.net/winlinvip/srs.oschina][oschina], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git])
-
-```
-git clone https://git.oschina.net/winlinvip/srs.oschina.git
-```
+[![Donation](https://www.paypalobjects.com/webstatic/en_US/btn/btn_donate_92x26.png)][donation1]
+[![Paypal](https://www.paypalobjects.com/webstatic/en_US/btn/btn_donate_pp_142x27.png)][donation2]
-Gitlab: [https://gitlab.com/winlinvip/srs-gitlab][gitlab], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git])
+Donation: [http://www.ossrs.net/srs.release/donation/index.html][donation1]
-```
-git clone https://gitlab.com/winlinvip/srs-gitlab.git
-```
+Donations: [https://github.com/simple-rtmp-server/srs/blob/develop/DONATIONS.txt][donations]
## Usage
Step 1: get SRS
+Download slow? Please use [mirrors][mirrors] for SRS.
-
+``` git clone https://github.com/simple-rtmp-server/srs && cd srs/trunk -+``` Step 2: build SRS, Requires Centos6.x/Ubuntu12 32/64bits, others see Build([CN][v2_CN_Build],[EN][v2_EN_Build]). -
+``` ./configure && make -+``` Step 3: start SRS -
+``` ./objs/srs -c conf/srs.conf -+``` See also: * Usage: How to delivery RTMP?([CN][v1_CN_SampleRTMP], [EN][v1_EN_SampleRTMP]) @@ -132,34 +116,56 @@ cd srs/trunk * Usage: Solution using SRS?([CN][v1_CN_Sample], [EN][v1_EN_Sample]) * Usage: Why SRS?([CN][v1_CN_Product], [EN][v1_EN_Product]) -## Wiki +### Mirrors -SRS 1.0 wiki +Github: [https://github.com/simple-rtmp-server/srs][srs], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git]) -Please select your language: -* [SRS 1.0 English][v1_EN_Home] -* [SRS 1.0 Chinese][v1_CN_Home] +``` +git clone https://github.com/simple-rtmp-server/srs.git +``` -SRS 2.0 wiki +CSDN: [https://code.csdn.net/winlinvip/srs-csdn][csdn], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git]) -Please select your language: -* [SRS 2.0 English][v2_EN_Home] -* [SRS 2.0 Chinese][v2_CN_Home] +``` +git clone https://code.csdn.net/winlinvip/srs-csdn.git +``` -## Donation +OSChina: [http://git.oschina.net/winlinvip/srs.oschina][oschina], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git]) -Donation: [http://www.ossrs.net/srs.release/donation/index.html][donation1] +``` +git clone https://git.oschina.net/winlinvip/srs.oschina.git +``` -Donations: [https://github.com/simple-rtmp-server/srs/blob/develop/DONATIONS.txt][donations] +Gitlab: [https://gitlab.com/winlinvip/srs-gitlab][gitlab], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git]) -## System Requirements +``` +git clone https://gitlab.com/winlinvip/srs-gitlab.git +``` + +### System Requirements Supported operating systems and hardware: * All Linux , both 32 and 64 bits * Apple OSX(Darwin), both 32 and 64bits. * All hardware with x86/x86_64/arm/mips cpu. -## Features +### Wiki + +SRS 1.0 wiki + +Please select your language: +* [SRS 1.0 English][v1_EN_Home] +* [SRS 1.0 Chinese][v1_CN_Home] + +SRS 2.0 wiki + +Please select your language: +* [SRS 2.0 English][v2_EN_Home] +* [SRS 2.0 Chinese][v2_CN_Home] + +## Product + +### Features 1. Simple, also stable enough. 1. High-performance([CN][v1_CN_Performance], [EN][v1_EN_Performance]): single-thread, async socket, event/st-thread driven. @@ -228,11 +234,11 @@ Supported operating systems and hardware: 1. [plan]Support HLS edge server, read [#466][bug #466]. 1. [plan]Support HLS realtime latency mode, read [#468][bug #468]. -## Compare +### Compare Compare SRS with other media server. -### Stream Delivery +#### Stream Delivery | Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ----------- | ------- | ----- | --------- | -------- | ------ | @@ -243,7 +249,7 @@ Compare SRS with other media server. | HLS(aonly) | Stable | X | X | Stable | Stable | | HTTP Server | Stable | Stable | X | X | Stable | -### Cluster +#### Cluster | Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ----------- | ------- | ----- | --------- | -------- | ------ | @@ -254,7 +260,7 @@ Compare SRS with other media server. | Forward | Stable | X | X | X | X | | ATC | Stable | X | X | X | X | -### Stream Service +#### Stream Service | Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ----------- | ------- | ----- | --------- | -------- | ------ | @@ -269,7 +275,7 @@ Compare SRS with other media server. | Security | Stable | Stable | X | X | Stable | | Token Traverse| Stable | X | X | Stable | X | -### Efficiency +#### Efficiency | Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ----------- | ------- | ----- | --------- | -------- | ------ | @@ -278,7 +284,7 @@ Compare SRS with other media server. | RTMP Latency| 0.1s | 3s | 3s | 3s | 3s | | HLS Latency | 10s | 30s | X | 30s | 30s | -### Stream Caster +#### Stream Caster | Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ----------- | ------- | ----- | --------- | -------- | ------ | @@ -287,21 +293,21 @@ Compare SRS with other media server. | Push RTSP | Experiment| X | Stable | X | Stable | | Push HTTP FLV | Experiment| X | X | X | X | -### Debug System +#### Debug System | Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ----------- | ------- | ----- | --------- | -------- | ------ | | BW check | Stable | X | X | X | X | | Tracable Log | Stable | X | X | X | X | -### Docs +#### Docs | Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ----------- | ------- | ----- | --------- | -------- | ------ | | Demos | Stable | X | X | X | X | | WIKI(EN+CN) | Stable | EN only | X | X | Stable | -### Others +#### Others | Feature | SRS | NGINX | CRTMPD | FMS | WOWZA | | ----------- | ------- | ----- | --------- | -------- | ------ | @@ -317,7 +323,7 @@ Remark: 1. Security: To allow or deny stream publish or play. 1. Reload: Nginx supports reload, but not nginx-rtmp. -## Releases +### Releases * 2015-09-14, [Release v2.0a1][r2.0a1], 2.0 alpha1, 2.0.189, 89269 lines.
+``` +------------------------------------------------------+ | Application | | Origin/Edge/HTTP-FLV/StreamCaster | @@ -797,11 +803,11 @@ SRS always use the most simple architecture to support complex transaction. +------------------------------------------------------+ | All Linux/Unix(RHEL,CentOS,Ubuntu,Fedora...) | +------------------------------------------------------+ -+``` ### Modularity Architecture -
+``` +------------------------------------------------------+ | Main(srs/ingest-hls/librtmp) | +------------------------------------------------------+ @@ -815,7 +821,7 @@ SRS always use the most simple architecture to support complex transaction. +------------------------------------------------------+ | Core(depends only on system apis) | +------------------------------------------------------+ -+``` Remark: @@ -823,7 +829,7 @@ Remark: ### Stream Architecture -
+``` +---------+ +----------+ | Publish | | Deliver | +---|-----+ +----|-----+ @@ -852,7 +858,7 @@ Remark: | ......) | | | +----------------------+-------------------------+----------------+ -+``` Remark: @@ -865,6 +871,7 @@ Remark: Beijing, 2013.10