diff --git a/README.md b/README.md
index 70dc051c6..15d3d797c 100755
--- a/README.md
+++ b/README.md
@@ -81,7 +81,7 @@ cd srs/trunk
./objs/srs -c conf/srs.conf
```
-From here, strongly recommend to try all typical use scenarios, please read bellow wikis:
+From here, strongly recommend to try other main scenarios:
* Usage: How to delivery RTMP?([CN][v1_CN_SampleRTMP], [EN][v1_EN_SampleRTMP])
* Usage: How to delivery RTMP Cluster?([CN][v3_CN_SampleRTMPCluster], [EN][v3_EN_SampleRTMPCluster])
@@ -89,32 +89,32 @@ cd srs/trunk
* Usage: How to delivery HTTP FLV Live Streaming Cluster?([CN][v3_CN_SampleHttpFlvCluster], [EN][v3_EN_SampleHttpFlvCluster])
* Usage: How to delivery HLS?([CN][v3_CN_SampleHLS], [EN][v3_EN_SampleHLS])
* Usage: How to delivery HLS for other codec?([CN][v3_CN_SampleTranscode2HLS], [EN][v3_EN_SampleTranscode2HLS])
-* Usage: How to transode RTMP stream by SRS?([CN][v2_CN_SampleFFMPEG], [EN][v2_EN_SampleFFMPEG])
-* Usage: How to forward stream to other server?([CN][v3_CN_SampleForward], [EN][v3_EN_SampleForward])
-* Usage: How to deploy low lantency application?([CN][v3_CN_SampleRealtime], [EN][v3_EN_SampleRealtime])
-* Usage: How to deploy SRS on ARM?([CN][v1_CN_SampleARM], [EN][v1_EN_SampleARM])
-* Usage: How to ingest file/stream/device to SRS?([CN][v1_CN_SampleIngest], [EN][v1_EN_SampleIngest])
-* Usage: How to use SRS-HTTP-server to delivery HTTP/HLS stream?([CN][v3_CN_SampleHTTP], [EN][v3_EN_SampleHTTP])
-* Usage: How to show the demo of SRS? ([CN][v1_CN_SampleDemo], [EN][v1_EN_SampleDemo])
-* Usage: How to publish h.264 raw stream to SRS? ([CN][v3_CN_SrsLibrtmp2], [EN][v3_EN_SrsLibrtmp2])
-* Usage: Solution using SRS?([CN][v1_CN_Sample])
-* Usage: Why SRS?([CN][v1_CN_Product], [EN][v1_EN_Product])
+* Usage: How to transode RTMP stream by FFMPEG?([CN][v2_CN_SampleFFMPEG], [EN][v2_EN_SampleFFMPEG])
+* Usage: How to forward stream to other servers?([CN][v3_CN_SampleForward], [EN][v3_EN_SampleForward])
+* Usage: How to deploy in low lantency mode?([CN][v3_CN_SampleRealtime], [EN][v3_EN_SampleRealtime])
+* Usage: How to deploy on ARM or MIPS?([CN][v1_CN_SampleARM], [EN][v1_EN_SampleARM])
+* Usage: How to ingest file/stream/device to RTMP?([CN][v1_CN_SampleIngest], [EN][v1_EN_SampleIngest])
+* Usage: How to delivery HLS by embeded HTTP server?([CN][v3_CN_SampleHTTP], [EN][v3_EN_SampleHTTP])
+* Usage: How to run the demostration of SRS? ([CN][v1_CN_SampleDemo], [EN][v1_EN_SampleDemo])
+* Usage: How to publish h.264 raw stream as RTMP? ([CN][v3_CN_SrsLibrtmp2], [EN][v3_EN_SrsLibrtmp2])
+* Usage: Who are using SRS?([CN][v1_CN_Sample])
+* Usage: Why choose SRS?([CN][v1_CN_Product], [EN][v1_EN_Product])
### SRS 1.0 wiki
-Please select by your language:
+Please select according to languages:
* [SRS 1.0 English][v1-wiki-en]
* [SRS 1.0 Chinese][v1-wiki-cn]
### SRS 2.0 wiki
-Please select by your language:
+Please select according to languages:
* [SRS 2.0 English][v2-wiki-en]
* [SRS 2.0 Chinese][v2-wiki-cn]
### SRS 3.0 wiki
-Please select by your language:
+Please select according to languages:
* [SRS 3.0 English][v3_EN_Home]
* [SRS 3.0 Chinese][v3_CN_Home]
@@ -646,7 +646,7 @@ Please select by your language:
### Compare
-Comparing with other media servers, SRS looks better and stronger from most points of view, please read Product([CN][v1_CN_Compare]/[EN][v1_EN_Compare]).
+Comparing with other media servers, SRS is much better and stronger, for details please read Product([CN][v1_CN_Compare]/[EN][v1_EN_Compare]).
#### Stream Delivery
@@ -730,11 +730,11 @@ Comparing with other media servers, SRS looks better and stronger from most poin
Remark:
1. Concurrency: We only benchmark the concurrency of single process.
-1. MultipleProcess: SRS support multiple processes by [go-oryx][oryx].
-1. HLS aonly: HLS supports delivering in audio only without video stream.
+1. MultipleProcess: SRS supports multiple processes by [go-oryx][oryx].
+1. HLS aonly: HLS supports audio only mode without video stream.
1. BW check: The bandwidth check feature is used to detect the bandwidth between server and client.
1. Security: The security includes access control, token authentication and referer check.
-1. Reload: SRS and Nginx support reload, but nginx-rtmp doesn't.
+1. Reload: SRS and Nginx supports reload, but nginx-rtmp doesn't.
### Performance
@@ -838,7 +838,8 @@ The overhead should be larger than this benchmark(48kbps audio is best overhead)
## Architecture
-SRS always use the most simple architecture to support complex transaction.
+SRS always use the simplest architecture to solve complex domain problems.
+
* System arch: the system structure and arch.
* Modularity arch: the main modularity of SRS.
* Stream arch: the stream dispatch arch of SRS.
@@ -881,7 +882,7 @@ SRS always use the most simple architecture to support complex transaction.
Remark:
-1. Modules: SRS support embeded modularity, read [modules][modules].
+1. Modules: SRS supports code-level modularity, read [modules][modules].
### Stream Architecture
@@ -919,44 +920,38 @@ Remark:
Remark:
-1. Encoder: Encoder must push RTMP stream to SRS server.
-1. MediaSource: Any media source, which can be ingest by ffmpeg.
-1. Ingester: SRS fork a ffmpeg(or application) to ingest something to rtmp to SRS. Read [Ingest][v1_CN_Ingest].
-1. Streamer: SRS listen to remux some protocol to rtmp to SRS. Read [Streamer][v2_CN_Streamer].
-1. EXEC: SRS exec external application when got event, read [ng-exec][v3_CN_NgExec].
+1. Encoder: Encoder pushs RTMP stream to SRS.
+1. MediaSource: Supports any media source, ingesting by ffmpeg.
+1. Ingester: Forks a ffmpeg(or other tools) to ingest as rtmp to SRS, please read [Ingest][v1_CN_Ingest].
+1. Streamer: Remuxs other protocols to RTMP, please read [Streamer][v2_CN_Streamer].
+1. EXEC: Like NGINX-RTMP, EXEC forks external tools for events, please read [ng-exec][v3_CN_NgExec].
## Tips
-Other tips...
+Other tips is comming...
### AUTHORS
There are two types of people that have contributed to the SRS project:
-* AUTHORS: Contribute important features. Names of all
-PRIMARY response in NetConnection.connect and metadata.
-* CONTRIBUTORS: Submit patches, report bugs, add translations, help answer
-newbie questions, and generally make SRS that much better.
-About all PRIMARY, AUTHORS and CONTRIBUTORS, read [AUTHORS.txt][authors].
+* AUTHORS: Contribute important features. Names of all authors responsed in NetConnection.connect and metadata.
+* CONTRIBUTORS: Submit patches, report bugs, add translations, help answer newbie questions, and generally make SRS much better.
+
+About all AUTHORS and CONTRIBUTORS, read [AUTHORS.txt][authors].
A big THANK YOU goes to:
+
* All friends of SRS for [big supports][bigthanks].
* Genes amd Mabbott for creating [st][st]([state-threads][st2]).
* Michael Talyanksy for introducing us to use st.
* Roman Arutyunyan for creating [nginx-rtmp][nginx-rtmp] for SRS to refer to.
* Joyent for creating [http-parser][http-parser] for http-api for SRS.
* Igor Sysoev for creating [nginx][nginx] for SRS to refer to.
-* [FFMPEG][FFMPEG] and [libx264][libx264] group for SRS to use to transcode.
+* [FFMPEG][FFMPEG] and [libx264][libx264] group for SRS to use as transcoder.
* Guido van Rossum for creating Python for api-server for SRS.
### Mirrors
-Github: [https://github.com/ossrs/srs][srs], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git])
-
-```
-git clone https://github.com/ossrs/srs.git
-```
-
CSDN: [https://code.csdn.net/winlinvip/srs-csdn][csdn], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git])
```
@@ -969,6 +964,14 @@ OSChina: [http://git.oschina.net/winlinvip/srs.oschina][oschina], the GIT usage(
git clone https://git.oschina.net/winlinvip/srs.oschina.git
```
+> Remark: For users in China, recomment to use mirror from CSDN or OSChina, because they are much faster.
+
+Github: [https://github.com/ossrs/srs][srs], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git])
+
+```
+git clone https://github.com/ossrs/srs.git
+```
+
Gitlab: [https://gitlab.com/winlinvip/srs-gitlab][gitlab], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git])
```
@@ -978,6 +981,7 @@ 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.