正在显示
6 个修改的文件
包含
51 行增加
和
43 行删除
AUTHORS.txt
0 → 100644
README.md
100755 → 100644
| 1 | -simple-rtmp-server | 1 | +Simple-RTMP-Server |
| 2 | ================== | 2 | ================== |
| 3 | 3 | ||
| 4 | -srs(simple rtmp origin live server) over state-threads.<br/> | ||
| 5 | -srs is a simple, high-performance, running in single process, origin live server.<br/> | ||
| 6 | -srs supports vhost, rtmp, HLS, transcoding, forward, http hooks. <br/> | ||
| 7 | -blog: [http://blog.csdn.net/win_lin](http://blog.csdn.net/win_lin) <br/> | ||
| 8 | -see also: [https://github.com/winlinvip/simple-rtmp-server](https://github.com/winlinvip/simple-rtmp-server) <br/> | ||
| 9 | -see also: [http://winlinvip.github.io/simple-rtmp-server](http://winlinvip.github.io/simple-rtmp-server) <br/> | 4 | +SRS(SIMPLE RTMP Server) over state-threads created in 2013.<br/> |
| 5 | +SRS is a simple, high-performance, running in single process, origin live server.<br/> | ||
| 6 | +SRS supports vhost, rtmp, HLS, transcoding, forward, http hooks. <br/> | ||
| 7 | +Blog: [http://blog.csdn.net/win_lin](http://blog.csdn.net/win_lin) <br/> | ||
| 8 | +See also: [https://github.com/winlinvip/simple-rtmp-server](https://github.com/winlinvip/simple-rtmp-server) <br/> | ||
| 9 | +See also: [http://winlinvip.github.io/simple-rtmp-server](http://winlinvip.github.io/simple-rtmp-server) <br/> | ||
| 10 | TencentQQ: [http://url.cn/WAHICw](http://url.cn/WAHICw) (Group: 212189142) | 10 | TencentQQ: [http://url.cn/WAHICw](http://url.cn/WAHICw) (Group: 212189142) |
| 11 | 11 | ||
| 12 | -### Contributors | ||
| 13 | -winlin([winterserver](#)): [http://blog.csdn.net/win_lin](http://blog.csdn.net/win_lin) <br/> | ||
| 14 | -wenjie([wenjiegit](https://github.com/wenjiegit/simple-rtmp-server)): [http://blog.chinaunix.net/uid/25006789.html](http://blog.chinaunix.net/uid/25006789.html) <br/> | ||
| 15 | -about the contributors: <br/> | ||
| 16 | -1. contribute important features to srs. <br/> | ||
| 17 | -2. the name of all contributors will send in the response of NetConnection.connect and metadata. | 12 | +### AUTHORS |
| 13 | +The PRIMARY AUTHORS are (and/or have been)(Authors ordered by first contribution): <br/> | ||
| 14 | +* winlin([winterserver](#)): [http://blog.csdn.net/win_lin](http://blog.csdn.net/win_lin) <br/> | ||
| 15 | +* wenjie([wenjiegit](https://github.com/wenjiegit/simple-rtmp-server)): [http://blog.chinaunix.net/uid/25006789.html](http://blog.chinaunix.net/uid/25006789.html) <br/> | ||
| 16 | +About the primary AUTHORS: <br/> | ||
| 17 | +* Contribute important features to SRS. <br/> | ||
| 18 | +* Names of all PRIMARY AUTHORS response in NetConnection.connect and metadata. <br/> | ||
| 19 | +And here is an inevitably incomplete list of MUCH-APPRECIATED CONTRIBUTORS --<br/> | ||
| 20 | +people who have submitted patches, reported bugs, added translations, helped<br/> | ||
| 21 | +answer newbie questions, and generally made SRS that much better: [AUTHORS.txt](https://github.com/winlinvip/simple-rtmp-server/blob/master/AUTHORS.txt) | ||
| 18 | 22 | ||
| 19 | ### Usage(simple) | 23 | ### Usage(simple) |
| 20 | -<strong>step -1:</strong> get srs<br/> | 24 | +<strong>step -1:</strong> get SRS<br/> |
| 21 | <pre> | 25 | <pre> |
| 22 | git clone https://github.com/winlinvip/simple-rtmp-server && | 26 | git clone https://github.com/winlinvip/simple-rtmp-server && |
| 23 | cd simple-rtmp-server/trunk | 27 | cd simple-rtmp-server/trunk |
| 24 | </pre> | 28 | </pre> |
| 25 | -<strong>step 0:</strong> build srs system.<br/> | 29 | +<strong>step 0:</strong> build SRS system.<br/> |
| 26 | <pre> | 30 | <pre> |
| 27 | bash scripts/build.sh | 31 | bash scripts/build.sh |
| 28 | </pre> | 32 | </pre> |
| 29 | -<strong>step 1:</strong> start srs all demo features.<br/> | 33 | +<strong>step 1:</strong> start SRS all demo features.<br/> |
| 30 | <pre> | 34 | <pre> |
| 31 | bash scripts/run.sh | 35 | bash scripts/run.sh |
| 32 | </pre> | 36 | </pre> |
| 33 | -<strong>step 2:</strong> srs live show: [http://your-server-ip](http://your-server-ip) <br/> | ||
| 34 | -<strong>step 3:</strong> stop srs demo<br/> | 37 | +<strong>step 2:</strong> SRS live show: [http://your-server-ip](http://your-server-ip) <br/> |
| 38 | +<strong>step 3:</strong> stop SRS demo<br/> | ||
| 35 | <pre> | 39 | <pre> |
| 36 | bash scripts/stop.sh | 40 | bash scripts/stop.sh |
| 37 | </pre> | 41 | </pre> |
| 38 | 42 | ||
| 39 | ### Usage(detail) | 43 | ### Usage(detail) |
| 40 | -<strong>step 0:</strong> get srs <br/> | 44 | +<strong>step 0:</strong> get SRS <br/> |
| 41 | <pre> | 45 | <pre> |
| 42 | git clone https://github.com/winlinvip/simple-rtmp-server && | 46 | git clone https://github.com/winlinvip/simple-rtmp-server && |
| 43 | cd simple-rtmp-server/trunk | 47 | cd simple-rtmp-server/trunk |
| 44 | </pre> | 48 | </pre> |
| 45 | -<strong>step 1:</strong> build srs <br/> | 49 | +<strong>step 1:</strong> build SRS <br/> |
| 46 | <pre> | 50 | <pre> |
| 47 | ./configure --with-ssl --with-hls --with-ffmpeg --with-http && make | 51 | ./configure --with-ssl --with-hls --with-ffmpeg --with-http && make |
| 48 | </pre> | 52 | </pre> |
| 49 | -<strong>step 2:</strong> start srs <br/> | 53 | +<strong>step 2:</strong> start SRS <br/> |
| 50 | <pre> | 54 | <pre> |
| 51 | ./objs/srs -c conf/srs.conf | 55 | ./objs/srs -c conf/srs.conf |
| 52 | </pre> | 56 | </pre> |
| 53 | -<strong>step 3(optinal):</strong> start srs listen at 19350 to forward to<br/> | 57 | +<strong>step 3(optinal):</strong> start SRS listen at 19350 to forward to<br/> |
| 54 | <pre> | 58 | <pre> |
| 55 | ./objs/srs -c conf/srs.19350.conf | 59 | ./objs/srs -c conf/srs.19350.conf |
| 56 | </pre> | 60 | </pre> |
| @@ -58,7 +62,7 @@ cd simple-rtmp-server/trunk | @@ -58,7 +62,7 @@ cd simple-rtmp-server/trunk | ||
| 58 | <pre> | 62 | <pre> |
| 59 | sudo ./objs/nginx/sbin/nginx | 63 | sudo ./objs/nginx/sbin/nginx |
| 60 | </pre> | 64 | </pre> |
| 61 | -<strong>step 5(optinal):</strong> start http hooks for srs callback <br/> | 65 | +<strong>step 5(optinal):</strong> start http hooks for SRS callback <br/> |
| 62 | <pre> | 66 | <pre> |
| 63 | python ./research/api-server/server.py 8085 | 67 | python ./research/api-server/server.py 8085 |
| 64 | </pre> | 68 | </pre> |
| @@ -135,7 +139,7 @@ killall -s SIGHUP srs | @@ -135,7 +139,7 @@ killall -s SIGHUP srs | ||
| 135 | System Architecture: | 139 | System Architecture: |
| 136 | <pre> | 140 | <pre> |
| 137 | +------------------------------------------------------+ | 141 | +------------------------------------------------------+ |
| 138 | -| SRS(Simple Rtmp Server) | | 142 | +| SRS(Simple RTMP Server) | |
| 139 | +---------------+---------------+-----------+----------+ | 143 | +---------------+---------------+-----------+----------+ |
| 140 | | API/hook | Transcoder | HLS | RTMP | | 144 | | API/hook | Transcoder | HLS | RTMP | |
| 141 | | http-parser | FFMPEG/x264 | NGINX/ts | protocol | | 145 | | http-parser | FFMPEG/x264 | NGINX/ts | protocol | |
| @@ -151,7 +155,7 @@ Stream Architecture: | @@ -151,7 +155,7 @@ Stream Architecture: | ||
| 151 | + Publish + + Deliver | | 155 | + Publish + + Deliver | |
| 152 | +---|-----+ +----|-----+ | 156 | +---|-----+ +----|-----+ |
| 153 | +-----------+-------------------------+----------------+ | 157 | +-----------+-------------------------+----------------+ |
| 154 | -| Encoder | SRS(Simple Rtmp Server) | Client | | 158 | +| Encoder | SRS(Simple RTMP Server) | Client | |
| 155 | +-----------+-------------------------+----------------+ | 159 | +-----------+-------------------------+----------------+ |
| 156 | | (FMLE, | +-> RTMP protocol ----+-> Flash Player | | 160 | | (FMLE, | +-> RTMP protocol ----+-> Flash Player | |
| 157 | | FFMPEG, --+-> +-> HLS/NGINX --------+-> m3u8 player | | 161 | | FFMPEG, --+-> +-> HLS/NGINX --------+-> m3u8 player | |
| @@ -217,7 +221,7 @@ Supported operating systems and hardware: | @@ -217,7 +221,7 @@ Supported operating systems and hardware: | ||
| 217 | 20. support http callback api hooks(for authentication and injection).<br/> | 221 | 20. support http callback api hooks(for authentication and injection).<br/> |
| 218 | 21. support bandwidth test api and flash client.<br/> | 222 | 21. support bandwidth test api and flash client.<br/> |
| 219 | 22. player, publisher(encoder), and demo pages(jquery+bootstrap). <br/> | 223 | 22. player, publisher(encoder), and demo pages(jquery+bootstrap). <br/> |
| 220 | -23. demo video meeting or chat(srs+cherrypy+jquery+bootstrap). <br/> | 224 | +23. demo video meeting or chat(SRS+cherrypy+jquery+bootstrap). <br/> |
| 221 | 24. [plan] support network based cli and json result.<br/> | 225 | 24. [plan] support network based cli and json result.<br/> |
| 222 | 25. [plan] support adobe flash refer/token/swf verification.<br/> | 226 | 25. [plan] support adobe flash refer/token/swf verification.<br/> |
| 223 | 26. [plan] support adobe amf3 codec.<br/> | 227 | 26. [plan] support adobe amf3 codec.<br/> |
| @@ -265,15 +269,15 @@ usr sys idl wai hiq siq| read writ| recv send| in out | int csw | @@ -265,15 +269,15 @@ usr sys idl wai hiq siq| read writ| recv send| in out | int csw | ||
| 265 | * 2013-10-17, created.<br/> | 269 | * 2013-10-17, created.<br/> |
| 266 | 270 | ||
| 267 | ### Compare | 271 | ### Compare |
| 268 | -* srs v0.9: 20926 lines. player/encoder/chat demos. bandwidth test for encoder/CDN.<br/> | ||
| 269 | -* srs v0.8: 19186 lines. implements http hooks refer to [nginx-rtmp](https://github.com/arut/nginx-rtmp-module). <br/> | ||
| 270 | -* srs v0.7: 17605 lines. implements transcoding(FFMPEG) feature refer to [wowza](http://www.wowza.com). <br/> | ||
| 271 | -* srs v0.6: 16094 lines. important feature forward for CDN. <br/> | ||
| 272 | -* srs v0.5: 14449 lines. implements HLS feature refer to [nginx-rtmp](https://github.com/arut/nginx-rtmp-module). <br/> | ||
| 273 | -* srs v0.4: 12500 lines. important feature reload for CDN. <br/> | ||
| 274 | -* srs v0.3: 11773 lines. implements vhost feature refer to [FMS](http://www.adobe.com/products/adobe-media-server-family.html). <br/> | ||
| 275 | -* srs v0.2: 10125 lines. implements rtmp protocol stack refer to [nginx-rtmp](https://github.com/arut/nginx-rtmp-module). <br/> | ||
| 276 | -* srs v0.1: 8287 lines. base on state-threads. <br/> | 272 | +* SRS v0.9: 20926 lines. player/encoder/chat demos. bandwidth test for encoder/CDN.<br/> |
| 273 | +* SRS v0.8: 19186 lines. implements http hooks refer to [nginx-rtmp](https://github.com/arut/nginx-rtmp-module). <br/> | ||
| 274 | +* SRS v0.7: 17605 lines. implements transcoding(FFMPEG) feature refer to [wowza](http://www.wowza.com). <br/> | ||
| 275 | +* SRS v0.6: 16094 lines. important feature forward for CDN. <br/> | ||
| 276 | +* SRS v0.5: 14449 lines. implements HLS feature refer to [nginx-rtmp](https://github.com/arut/nginx-rtmp-module). <br/> | ||
| 277 | +* SRS v0.4: 12500 lines. important feature reload for CDN. <br/> | ||
| 278 | +* SRS v0.3: 11773 lines. implements vhost feature refer to [FMS](http://www.adobe.com/products/adobe-media-server-family.html). <br/> | ||
| 279 | +* SRS v0.2: 10125 lines. implements rtmp protocol stack refer to [nginx-rtmp](https://github.com/arut/nginx-rtmp-module). <br/> | ||
| 280 | +* SRS v0.1: 8287 lines. base on state-threads. <br/> | ||
| 277 | * nginx-rtmp v1.0.4: 26786 lines <br/> | 281 | * nginx-rtmp v1.0.4: 26786 lines <br/> |
| 278 | * nginx v1.5.0: 139524 lines <br/> | 282 | * nginx v1.5.0: 139524 lines <br/> |
| 279 | 283 | ||
| @@ -281,7 +285,7 @@ usr sys idl wai hiq siq| read writ| recv send| in out | int csw | @@ -281,7 +285,7 @@ usr sys idl wai hiq siq| read writ| recv send| in out | int csw | ||
| 281 | * v1.0, 2013-12-27, merge from wenjie, the bandwidth test feature. | 285 | * v1.0, 2013-12-27, merge from wenjie, the bandwidth test feature. |
| 282 | * v0.9, 2013-12-25, [v0.9](https://github.com/winlinvip/simple-rtmp-server/releases/tag/0.9) released. 20926 lines. | 286 | * v0.9, 2013-12-25, [v0.9](https://github.com/winlinvip/simple-rtmp-server/releases/tag/0.9) released. 20926 lines. |
| 283 | * v0.9, 2013-12-25, fix the bitrate bug(in Bps), use enhanced microphone. | 287 | * v0.9, 2013-12-25, fix the bitrate bug(in Bps), use enhanced microphone. |
| 284 | -* v0.9, 2013-12-22, demo video meeting or chat(srs+cherrypy+jquery+bootstrap). | 288 | +* v0.9, 2013-12-22, demo video meeting or chat(SRS+cherrypy+jquery+bootstrap). |
| 285 | * v0.9, 2013-12-22, merge from wenjie, support banwidth test. | 289 | * v0.9, 2013-12-22, merge from wenjie, support banwidth test. |
| 286 | * v0.9, 2013-12-22, merge from wenjie: support set chunk size at vhost level | 290 | * v0.9, 2013-12-22, merge from wenjie: support set chunk size at vhost level |
| 287 | * v0.9, 2013-12-21, add [players](http://demo.srs.com/players) for play and publish. | 291 | * v0.9, 2013-12-21, add [players](http://demo.srs.com/players) for play and publish. |
| @@ -298,7 +302,7 @@ usr sys idl wai hiq siq| read writ| recv send| in out | int csw | @@ -298,7 +302,7 @@ usr sys idl wai hiq siq| read writ| recv send| in out | int csw | ||
| 298 | * v0.8, 2013-12-08, support multiple http hooks for a event. | 302 | * v0.8, 2013-12-08, support multiple http hooks for a event. |
| 299 | * v0.8, 2013-12-07, support http callback hooks, on_connect. | 303 | * v0.8, 2013-12-07, support http callback hooks, on_connect. |
| 300 | * v0.8, 2013-12-07, support network based cli and json result, add CherryPy 3.2.4. | 304 | * v0.8, 2013-12-07, support network based cli and json result, add CherryPy 3.2.4. |
| 301 | -* v0.8, 2013-12-07, update http/hls/rtmp load test tool [st_load](https://github.com/winlinvip/st-load), use srs rtmp sdk. | 305 | +* v0.8, 2013-12-07, update http/hls/rtmp load test tool [st_load](https://github.com/winlinvip/st-load), use SRS rtmp sdk. |
| 302 | * v0.8, 2013-12-06, support max_connections, drop if exceed. | 306 | * v0.8, 2013-12-06, support max_connections, drop if exceed. |
| 303 | * v0.8, 2013-12-05, support log_dir, write ffmpeg log to file. | 307 | * v0.8, 2013-12-05, support log_dir, write ffmpeg log to file. |
| 304 | * v0.8, 2013-12-05, fix the forward/hls/encoder bug. | 308 | * v0.8, 2013-12-05, fix the forward/hls/encoder bug. |
| @@ -79,7 +79,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | @@ -79,7 +79,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
| 79 | #define RTMP_SIG_SRS_EMAIL "winterserver@126.com" | 79 | #define RTMP_SIG_SRS_EMAIL "winterserver@126.com" |
| 80 | #define RTMP_SIG_SRS_LICENSE "The MIT License (MIT)" | 80 | #define RTMP_SIG_SRS_LICENSE "The MIT License (MIT)" |
| 81 | #define RTMP_SIG_SRS_COPYRIGHT "Copyright (c) 2013-2014 winlin" | 81 | #define RTMP_SIG_SRS_COPYRIGHT "Copyright (c) 2013-2014 winlin" |
| 82 | -#define RTMP_SIG_SRS_CONTRIBUTOR "winlin,wenjiegit" | 82 | +#define RTMP_SIG_SRS_PRIMARY_AUTHROS "winlin,wenjiegit" |
| 83 | 83 | ||
| 84 | // compare | 84 | // compare |
| 85 | #define srs_min(a, b) (((a) < (b))? (a) : (b)) | 85 | #define srs_min(a, b) (((a) < (b))? (a) : (b)) |
trunk/src/core/srs_core_config.cpp
100644 → 100755
| @@ -735,9 +735,9 @@ int SrsConfig::parse_argv(int& i, char** argv) | @@ -735,9 +735,9 @@ int SrsConfig::parse_argv(int& i, char** argv) | ||
| 735 | 735 | ||
| 736 | void SrsConfig::print_help(char** argv) | 736 | void SrsConfig::print_help(char** argv) |
| 737 | { | 737 | { |
| 738 | - printf(RTMP_SIG_SRS_NAME" "RTMP_SIG_SRS_VERSION | ||
| 739 | - " Copyright (c) 2013-2014 winlin\n" | ||
| 740 | - "Contributors: "RTMP_SIG_SRS_CONTRIBUTOR"\n" | 738 | + printf( |
| 739 | + RTMP_SIG_SRS_NAME" "RTMP_SIG_SRS_VERSION" "RTMP_SIG_SRS_COPYRIGHT"\n" | ||
| 740 | + "Primary Authors: "RTMP_SIG_SRS_PRIMARY_AUTHROS"\n" | ||
| 741 | "Build: "SRS_BUILD_DATE" Configuration: "SRS_CONFIGURE"\n" | 741 | "Build: "SRS_BUILD_DATE" Configuration: "SRS_CONFIGURE"\n" |
| 742 | "Usage: %s [-h?vV] [-c <filename>]\n" | 742 | "Usage: %s [-h?vV] [-c <filename>]\n" |
| 743 | "\n" | 743 | "\n" |
trunk/src/core/srs_core_rtmp.cpp
100644 → 100755
| @@ -607,7 +607,7 @@ int SrsRtmp::response_connect_app(SrsRequest *req, const char* server_ip) | @@ -607,7 +607,7 @@ int SrsRtmp::response_connect_app(SrsRequest *req, const char* server_ip) | ||
| 607 | data->set("srs_site", new SrsAmf0String(RTMP_SIG_SRS_WEB)); | 607 | data->set("srs_site", new SrsAmf0String(RTMP_SIG_SRS_WEB)); |
| 608 | data->set("srs_email", new SrsAmf0String(RTMP_SIG_SRS_EMAIL)); | 608 | data->set("srs_email", new SrsAmf0String(RTMP_SIG_SRS_EMAIL)); |
| 609 | data->set("srs_copyright", new SrsAmf0String(RTMP_SIG_SRS_COPYRIGHT)); | 609 | data->set("srs_copyright", new SrsAmf0String(RTMP_SIG_SRS_COPYRIGHT)); |
| 610 | - data->set("srs_contributor", new SrsAmf0String(RTMP_SIG_SRS_CONTRIBUTOR)); | 610 | + data->set("srs_primary_authors", new SrsAmf0String(RTMP_SIG_SRS_PRIMARY_AUTHROS)); |
| 611 | 611 | ||
| 612 | if (server_ip) { | 612 | if (server_ip) { |
| 613 | data->set("srs_server_ip", new SrsAmf0String(server_ip)); | 613 | data->set("srs_server_ip", new SrsAmf0String(server_ip)); |
| @@ -642,7 +642,7 @@ int SrsSource::on_meta_data(SrsCommonMessage* msg, SrsOnMetaDataPacket* metadata | @@ -642,7 +642,7 @@ int SrsSource::on_meta_data(SrsCommonMessage* msg, SrsOnMetaDataPacket* metadata | ||
| 642 | metadata->metadata->set("server", new SrsAmf0String( | 642 | metadata->metadata->set("server", new SrsAmf0String( |
| 643 | RTMP_SIG_SRS_KEY" "RTMP_SIG_SRS_VERSION" ("RTMP_SIG_SRS_URL_SHORT")")); | 643 | RTMP_SIG_SRS_KEY" "RTMP_SIG_SRS_VERSION" ("RTMP_SIG_SRS_URL_SHORT")")); |
| 644 | metadata->metadata->set("contributor", | 644 | metadata->metadata->set("contributor", |
| 645 | - new SrsAmf0String(RTMP_SIG_SRS_CONTRIBUTOR)); | 645 | + new SrsAmf0String(RTMP_SIG_SRS_PRIMARY_AUTHROS)); |
| 646 | 646 | ||
| 647 | SrsAmf0Any* prop = NULL; | 647 | SrsAmf0Any* prop = NULL; |
| 648 | if ((prop = metadata->metadata->get_property("audiosamplerate")) != NULL) { | 648 | if ((prop = metadata->metadata->get_property("audiosamplerate")) != NULL) { |
-
请 注册 或 登录 后发表评论