winlin

Merge branch 'srs.master'

正在显示 1 个修改的文件 包含 133 行增加34 行删除
1 #Simple-RTMP-Server 1 #Simple-RTMP-Server
2 2
  3 +SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。
  4 +
3 SRS is industrial-strength live streaming cluster, 5 SRS is industrial-strength live streaming cluster,
4 for the best conceptual integrity and the simplest implementation. 6 for the best conceptual integrity and the simplest implementation.
5 7
@@ -215,8 +217,8 @@ cd simple-rtmp-server/trunk @@ -215,8 +217,8 @@ cd simple-rtmp-server/trunk
215 217
216 <strong>Step 2:</strong> build SRS, 218 <strong>Step 2:</strong> build SRS,
217 <strong>Requires Centos6.x/Ubuntu12 32/64bits, others see Build( 219 <strong>Requires Centos6.x/Ubuntu12 32/64bits, others see Build(
218 -[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Build),  
219 -[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Build) 220 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_Build),
  221 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v2_EN_Build)
220 ).</strong> 222 ).</strong>
221 223
222 <pre> 224 <pre>
@@ -318,43 +320,134 @@ Supported operating systems and hardware: @@ -318,43 +320,134 @@ Supported operating systems and hardware:
318 [CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Performance), 320 [CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Performance),
319 [EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Performance) 321 [EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Performance)
320 ): single-thread, async socket, event/st-thread driven. 322 ): single-thread, async socket, event/st-thread driven.
321 -1. [High-concurrency](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Performance), 1800 connections(500kbps), 900Mbps, CPU 90.2%, 41MB  
322 -1. Support [RTMP Origin Server](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DeliveryRTMP).  
323 -1. Support [RTMP Edge Server](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Edge) for CDN, push/pull stream from any RTMP server 323 +1. High-concurrency(
  324 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Performance),
  325 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Performance)
  326 +), 6000+ connections(500kbps), 900Mbps, CPU 90.2%, 41MB
  327 +1. Support RTMP Origin Server(
  328 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DeliveryRTMP),
  329 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_DeliveryRTMP)
  330 +)
  331 +1. Support RTMP Edge Server(
  332 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Edge),
  333 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Edge)
  334 +) for CDN, push/pull stream from any RTMP server
324 1. Support single process; no multiple processes. 335 1. Support single process; no multiple processes.
325 -1. Support [Vhost](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_RtmpUrlVhost), support \_\_defaultVhost\_\_.  
326 -1. Support [RTMP](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DeliveryRTMP) live streaming; no vod streaming.  
327 -1. Support Apple [HLS(m3u8)](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DeliveryHLS) live streaming.  
328 -1. Support [HLS audio-only](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DeliveryHLS#hlsaudioonly) live streaming.  
329 -1. Support [Reload](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Reload) config to enable changes.  
330 -1. Support [cache last gop](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_LowLatency#gop-cache) for flash player to fast startup. 336 +1. Support Vhost(
  337 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_RtmpUrlVhost),
  338 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_RtmpUrlVhost)
  339 +), support \_\_defaultVhost\_\_.
  340 +1. Support RTMP(
  341 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DeliveryRTMP),
  342 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_DeliveryRTMP)
  343 +) live streaming; no vod streaming.
  344 +1. Support Apple HLS(m3u8)(
  345 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DeliveryHLS),
  346 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_DeliveryHLS)
  347 +) live streaming.
  348 +1. Support HLS audio-only(
  349 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DeliveryHLS#hlsaudioonly),
  350 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_DeliveryHLS#hlsaudioonly)
  351 +) live streaming.
  352 +1. Support Reload(
  353 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Reload),
  354 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Reload)
  355 +) config to enable changes.
  356 +1. Support cache last gop(
  357 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_LowLatency#gop-cache),
  358 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_LowLatency#gop-cache)
  359 +) for flash player to fast startup.
331 1. Support listen at multiple ports. 360 1. Support listen at multiple ports.
332 1. Support long time(>4.6hours) publish/play. 361 1. Support long time(>4.6hours) publish/play.
333 -1. Support [Forward](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Forward) in master-slave mode.  
334 -1. Support live stream [Transcoding](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_FFMPEG) by ffmpeg.  
335 -1. Support [ffmpeg](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_FFMPEG) filters(logo/overlay/crop), x264 params, copy/vn/an.  
336 -1. Support audio [transcode](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_FFMPEG) only, speex/mp3 to aac  
337 -1. Support [http callback api hooks](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_HTTPCallback)(for authentication and injection).  
338 -1. Support [bandwidth test](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_BandwidthTestTool) api and flash client.  
339 -1. Player, publisher(encoder), and [demo pages(jquery+bootstrap)](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleDemo).  
340 -1. [Demo](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleDemo) video meeting or chat(SRS+cherrypy+jquery+bootstrap).  
341 -1. Full documents in [wiki](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Home), in Chineses.  
342 -1. Support RTMP(play-publish) library: [srs-librtmp](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLibrtmp)  
343 -1. Support ARM([debian armhf, v7cpu](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLinuxArm)) with rtmp/ssl/hls/librtmp.  
344 -1. Support [init.d](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_LinuxService) and packge script, log to file.  
345 -1. Support [RTMP ATC](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_RTMP-ATC) for HLS/HDS to support backup(failover)  
346 -1. Support [HTTP RESTful management api](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_HTTPApi).  
347 -1. Support [Ingest](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Ingest) FILE/HTTP/RTMP/RTSP(RTP, SDP) to RTMP using external tools(e.g ffmepg).  
348 -1. Support [DVR](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DVR), record live to flv file for vod.  
349 -1. Support [tracable log, session based log](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLog).  
350 -1. Support DRM [token traverse](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DRM#tokentraverse) for fms origin authenticate. 362 +1. Support Forward(
  363 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Forward),
  364 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Forward)
  365 +) in master-slave mode.
  366 +1. Support live stream Transcoding(
  367 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_FFMPEG),
  368 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_FFMPEG)
  369 +) by ffmpeg.
  370 +1. Support ffmpeg(
  371 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_FFMPEG),
  372 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_FFMPEG)
  373 +) filters(logo/overlay/crop), x264 params, copy/vn/an.
  374 +1. Support audio transcode(
  375 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_FFMPEG),
  376 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_FFMPEG)
  377 +) only, speex/mp3 to aac
  378 +1. Support http callback api hooks(
  379 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_HTTPCallback),
  380 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_HTTPCallback)
  381 +)(for authentication and injection).
  382 +1. Support bandwidth test(
  383 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_BandwidthTestTool),
  384 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_BandwidthTestTool)
  385 +) api and flash client.
  386 +1. Player, publisher(encoder), and demo pages(jquery+bootstrap)(
  387 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleDemo),
  388 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_SampleDemo)
  389 +).
  390 +1. Demo(
  391 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleDemo),
  392 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_SampleDemo)
  393 +) video meeting or chat(SRS+cherrypy+jquery+bootstrap).
  394 +1. Full documents in wiki(
  395 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Home),
  396 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Home)
  397 +), both Chinese and English.
  398 +1. Support RTMP(play-publish) library: srs-librtmp(
  399 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_SrsLibrtmp),
  400 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v2_EN_SrsLibrtmp)
  401 +)
  402 +1. Support ARM cpu arch(
  403 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLinuxArm),
  404 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_SrsLinuxArm)
  405 +) with rtmp/ssl/hls/librtmp.
  406 +1. Support init.d(
  407 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_LinuxService),
  408 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_LinuxService)
  409 +) and packge script, log to file.
  410 +1. Support RTMP ATC(
  411 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_RTMP-ATC),
  412 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_RTMP-ATC)
  413 +) for HLS/HDS to support backup(failover)
  414 +1. Support HTTP RESTful management api(
  415 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_HTTPApi),
  416 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_HTTPApi)
  417 +).
  418 +1. Support Ingest(
  419 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Ingest),
  420 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Ingest)
  421 +) FILE/HTTP/RTMP/RTSP(RTP, SDP) to RTMP using external tools(e.g ffmepg).
  422 +1. Support DVR(
  423 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DVR),
  424 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_DVR)
  425 +), record live to flv file for vod.
  426 +1. Support tracable log, session based log(
  427 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLog),
  428 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_SrsLog)
  429 +).
  430 +1. Support DRM token traverse(
  431 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DRM#tokentraverse),
  432 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_DRM#tokentraverse)
  433 +) for fms origin authenticate.
351 1. Support system full utest on gtest. 434 1. Support system full utest on gtest.
352 -1. [experiment] Support embeded [HTTP server](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleHTTP) for hls(live/vod)  
353 -1. [experiment] Support [vod stream(http flv/hls vod stream)](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_FlvVodStream).  
354 -1. Stable [1.0release branch](https://github.com/winlinvip/simple-rtmp-server/tree/1.0release) and [2.0dev branch](https://github.com/winlinvip/simple-rtmp-server/tree/master).  
355 -1. Support [publish h264 raw stream](https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_SrsLibrtmp#publish-h264-raw-data) by srs-librtmp. 435 +1. [experiment] Support embeded HTTP server(
  436 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleHTTP),
  437 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_SampleHTTP)
  438 +) for hls(live/vod)
  439 +1. [experiment] Support vod stream(http flv/hls vod stream)(
  440 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_FlvVodStream),
  441 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_FlvVodStream)
  442 +).
  443 +1. Stable [1.0release branch](https://github.com/winlinvip/simple-rtmp-server/tree/1.0release) and
  444 +[2.0dev branch](https://github.com/winlinvip/simple-rtmp-server/tree/master).
  445 +1. Support publish h264 raw stream(
  446 +[CN](https://github.com/winlinvip/simple-rtmp-server/wiki/v2_CN_SrsLibrtmp#publish-h264-raw-data),
  447 +[EN](https://github.com/winlinvip/simple-rtmp-server/wiki/v2_EN_SrsLibrtmp#publish-h264-raw-data)
  448 +) by srs-librtmp.
356 1. Support [6k+ clients](https://github.com/winlinvip/simple-rtmp-server/issues/194), 4Gbps per process. 449 1. Support [6k+ clients](https://github.com/winlinvip/simple-rtmp-server/issues/194), 4Gbps per process.
357 -1. [dev] Suppport [English wiki](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_v1_ENHome). 450 +1. [dev] Suppport [English wiki](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_EN_Home).
358 1. [dev] Research and simplify st, [bug #182](https://github.com/winlinvip/simple-rtmp-server/issues/182). 451 1. [dev] Research and simplify st, [bug #182](https://github.com/winlinvip/simple-rtmp-server/issues/182).
359 1. [no-plan] Support <500ms latency, FRSC(Fast RTMP-compatible Stream Channel tech). 452 1. [no-plan] Support <500ms latency, FRSC(Fast RTMP-compatible Stream Channel tech).
360 1. [no-plan] Support RTMP 302 redirect [#92](https://github.com/winlinvip/simple-rtmp-server/issues/92). 453 1. [no-plan] Support RTMP 302 redirect [#92](https://github.com/winlinvip/simple-rtmp-server/issues/92).
@@ -369,6 +462,12 @@ Supported operating systems and hardware: @@ -369,6 +462,12 @@ Supported operating systems and hardware:
369 462
370 ## Releases 463 ## Releases
371 * 2014-10-09, [Release v1.0-beta](https://github.com/winlinvip/simple-rtmp-server/releases/tag/1.0.beta), all bug fixed, 1.0.0, 59316 lines.<br/> 464 * 2014-10-09, [Release v1.0-beta](https://github.com/winlinvip/simple-rtmp-server/releases/tag/1.0.beta), all bug fixed, 1.0.0, 59316 lines.<br/>
  465 +* 2014-08-03, [Release v1.0-mainline7](https://github.com/winlinvip/simple-rtmp-server/releases/tag/1.0.mainline7), config utest, all bug fixed. 57432 lines.<br/>
  466 +* 2014-07-13, [Release v1.0-mainline6](https://github.com/winlinvip/simple-rtmp-server/releases/tag/1.0.mainline6), core/kernel/rtmp utest, refine bandwidth(as/js/srslibrtmp library). 50029 lines.<br/>
  467 +* 2014-06-27, [Release v1.0-mainline5](https://github.com/winlinvip/simple-rtmp-server/releases/tag/1.0.mainline5), refine perf 3k+ clients, edge token traverse, [srs monitor](http://ossrs.net:1977), 30days online. 41573 lines.<br/>
  468 +* 2014-05-28, [Release v1.0-mainline4](https://github.com/winlinvip/simple-rtmp-server/releases/tag/1.0.mainline4), support heartbeat, tracable log, fix mem leak and bugs. 39200 lines.<br/>
  469 +* 2014-05-18, [Release v1.0-mainline3](https://github.com/winlinvip/simple-rtmp-server/releases/tag/1.0.mainline3), support mips, fms origin, json(http-api). 37594 lines.<br/>
  470 +* 2014-04-28, [Release v1.0-mainline2](https://github.com/winlinvip/simple-rtmp-server/releases/tag/1.0.mainline2), support [dvr](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_DVR), android, [edge](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_Edge). 35255 lines.<br/>
372 * 2014-04-07, [Release v1.0-mainline](https://github.com/winlinvip/simple-rtmp-server/releases/tag/1.0.mainline), support [arm](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLinuxArm), [init.d](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_LinuxService), http [server](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_HTTPServer)/[api](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_HTTPApi), [ingest](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleIngest). 30000 lines.<br/> 471 * 2014-04-07, [Release v1.0-mainline](https://github.com/winlinvip/simple-rtmp-server/releases/tag/1.0.mainline), support [arm](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SrsLinuxArm), [init.d](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_LinuxService), http [server](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_HTTPServer)/[api](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_HTTPApi), [ingest](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleIngest). 30000 lines.<br/>
373 * 2013-12-25, [Release v0.9](https://github.com/winlinvip/simple-rtmp-server/releases/tag/0.9), support bandwidth test, player/encoder/chat [demos](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleDemo). 20926 lines.<br/> 472 * 2013-12-25, [Release v0.9](https://github.com/winlinvip/simple-rtmp-server/releases/tag/0.9), support bandwidth test, player/encoder/chat [demos](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_SampleDemo). 20926 lines.<br/>
374 * 2013-12-08, [Release v0.8](https://github.com/winlinvip/simple-rtmp-server/releases/tag/0.8), support [http hooks callback](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_HTTPCallback), update [st_load](https://github.com/winlinvip/st-load). 19186 lines.<br/> 473 * 2013-12-08, [Release v0.8](https://github.com/winlinvip/simple-rtmp-server/releases/tag/0.8), support [http hooks callback](https://github.com/winlinvip/simple-rtmp-server/wiki/v1_CN_HTTPCallback), update [st_load](https://github.com/winlinvip/st-load). 19186 lines.<br/>