diff --git a/README.md b/README.md
index a7c262af4..9ce4b2b4c 100755
--- a/README.md
+++ b/README.md
@@ -1,5 +1,4 @@
#Simple-RTMP-Server
-==================
SRS(SIMPLE RTMP Server) over state-threads created in 2013.10.
@@ -42,7 +41,7 @@ A big THANK YOU goes to:
* [FFMPEG](http://ffmpeg.org/) and [libx264](http://www.videolan.org/) group for srs to use to transcode.
* Guido van Rossum for creating Python for api-server for srs.
-### Usage
+## Usage
Step 1: get SRS
@@ -70,12 +69,12 @@ cd simple-rtmp-server/trunk [Usage: Solution using SRS?](https://github.com/winlinvip/simple-rtmp-server/wiki/Sample)See also: [Performance Test Guide](https://github.com/winlinvip/simple-rtmp-server/wiki/Performance) -### Releases +## Releases * 2013-12-25, [Release v0.9](https://github.com/winlinvip/simple-rtmp-server/releases/tag/0.9), support bandwidth test, player/encoder/chat demos. 20926 lines.
[Usage: Why SRS?](https://github.com/winlinvip/simple-rtmp-server/wiki/Product)
-### System Requirements +## System Requirements Supported operating systems and hardware: * All Linux , both 32 and 64 bits * All handware. -### Summary +## Summary 01. Simple: also stable enough.
02. [High-performance](https://github.com/winlinvip/simple-rtmp-server/wiki/Performance): single-thread, async socket, event/st-thread driven.
03. With RTMP edge server, support origin server.
@@ -119,7 +118,7 @@ Supported operating systems and hardware: 41. [no-plan] Support RTMPT, http to tranverse firewalls
42. [no-plan] Support file source, transcoding file to live stream
-### Performance +## Performance 1. 300 connections, 150Mbps, 500kbps, CPU 18.8%, MEM 5956KB. 2. 600 connections, 300Mbps, 500kbps, CPU 32.1%, MEM 9808KB. 3. 900 connections, 450Mbps, 500kbps, CPU 49.9%, MEM 11MB. @@ -143,7 +142,7 @@ usr sys idl wai hiq siq| read writ| recv send| in out | int csw
+------------------------------------------------------+ | SRS(Simple RTMP Server) | @@ -284,7 +294,9 @@ System Architecture: | All Linux(RHEL,CentOS,Ubuntu,Fedora...) | +------------------------------------------------------+-Modularity Architecture: + +### Modularity Architecture +
+------------------------------------------------------+ | Main(srs/bandwidth/librtmp) | @@ -298,7 +310,9 @@ Modularity Architecture: | Core(depends only on system apis) | +------------------------------------------------------+-Stream Architecture: + +### Stream Architecture +
+---------+ +----------+ + Publish + + Deliver | @@ -324,8 +338,11 @@ Remark: (1) Encoder: encoder must push RTMP stream to SRS server. (2) MediaSource: any media source, which can be ingest by ffmpeg.-(plan) RTMP cluster(origin/edge) Architecture:
+---------+ +-----------------+ +-----------------------+ + Encoder +--+-->-+ SRS(RTMP Edge) +--->-+ (RTMP Origin) | @@ -348,7 +365,9 @@ Schema#1: Any RTMP encoder push RTMP stream to RTMP (origin/edge)server, Schema#2: SRS RTMP Edge server pull stream from origin (or upstream SRS RTMP Edge server), then delivery to Client.-(plan) SRS Multiple processes Architecture(design by wenjie):
+---------------+ +--------+ | upnode server | + client + @@ -380,7 +399,9 @@ Remark: will collect informations from all stream process, master process only send signals to child processes.-CLI Architecture: + +### CLI Architecture +
+---------+ +--+ stream1 +---------+ @@ -402,7 +423,9 @@ Remark: (5) cli connect to each stream/back-source process to get api data, cli analysis and summary the data, return to user.-Bandwidth Test Workflow: + +### Bandwidth Test Workflow +
+------------+ +----------+ | Client | | Server |