@ -195,12 +195,12 @@ Supported operating systems and hardware:
1. Support system full utest on gtest.
1. Support embeded HTTP server([CN][v2_CN_SampleHTTP], [EN][v2_EN_SampleHTTP]) for hls(live/vod)
1. Support vod stream(http flv/hls vod stream)([CN][v2_CN_FlvVodStream], [EN][v2_EN_FlvVodStream]).
1. Stable [1.0release branch ](https://github.com/simple-rtmp-server/srs/tree/1.0release ) .
1. Stable [1.0release branch][branch1] .
1. Support publish h264 raw stream([CN][v2_CN_SrsLibrtmp2], [EN][v2_EN_SrsLibrtmp2]) by srs-librtmp.
1. Support [6k+ clients][bug #194 ], 3Gbps per process.
1. Suppport [English wiki][v1_EN_Home).
1. Research and simplify st, [bug #182 ][bug #182 ].
1. Support compile [srs-librtmp on windows ](https://github.com/winlinvip/srs.librtmp ) , [bug #213 ][bug #213 ].
1. Support compile [srs-librtmp on windows][srs-librtmp] , [bug #213 ][bug #213 ].
1. Support [10k+ clients][bug #251 ], 4Gbps per process.
1. Support publish aac adts raw stream([CN][v2_CN_SrsLibrtmp3], [EN][v2_EN_SrsLibrtmp3]) by srs-librtmp.
1. Support 0.1s+ latency, read [bug #257 ][bug #257 ].
@ -215,7 +215,7 @@ Supported operating systems and hardware:
1. [experiment] Support push RTSP to SRS, read [bug #133 ][bug #133 ].
1. [experiment] Support push flv stream over HTTP POST to SRS, read [wiki ]([CN][v2_CN_Streamer2], [EN][v2_EN_Streamer2] ).
1. [experiment] Support [srs-dolphin][srs-dolphin], the multiple-process SRS.
1. [experiment] Support [remote console ](http://ossrs.net:1985/console ) , read [srs-ngb][srs-ngb].
1. [experiment] Support [remote console][console] , read [srs-ngb][srs-ngb].
1. Support nginx-rtmp style exec, read [bug #367 ][bug #367 ].
1. [no-plan] Support < 500ms latency , FRSC ( Fast RTMP-compatible Stream Channel tech ) .
1. [no-plan] Support RTMP 302 redirect [bug #92 ][bug #92 ].
@ -346,212 +346,212 @@ Remark:
* v3.0, 2015-08-25, fix [#367 ](https://github.com/simple-rtmp-server/srs/issues/367 ), support nginx-rtmp exec. 3.0.1
* < strong > v2.0, 2015-08-23, [2.0 alpha(2.0.185)][r2.0a0] released. 89022 lines.< / strong >
* v2.0, 2015-08-22, HTTP API support JSONP by specifies the query string callback=xxx.
* v2.0, 2015-08-20, fix [#380 ](https://github.com/simple-rtmp-server/srs/issues/380 ) , srs-librtmp send sequence header when sps or pps changed.
* v2.0, 2015-08-18, close [#454 ](https://github.com/simple-rtmp-server/srs/issues/454 ) , support obs restart publish. 2.0.184
* v2.0, 2015-08-20, fix [#380][bug #380 ] , srs-librtmp send sequence header when sps or pps changed.
* v2.0, 2015-08-18, close [#454][bug #454 ] , support obs restart publish. 2.0.184
* v2.0, 2015-08-14, use reduce_sequence_header for stream control.
* v2.0, 2015-08-14, use send_min_interval for stream control. 2.0.183
* v2.0, 2015-08-12, enable the SRS_PERF_TCP_NODELAY and add config tcp_nodelay. 2.0.182
* v2.0, 2015-08-11, for [#442 ](https://github.com/simple-rtmp-server/srs/issues/442 ) support kickoff connected client. 2.0.181
* v2.0, 2015-07-21, for [#169 ](https://github.com/simple-rtmp-server/srs/issues/169 ) support default values for transcode. 2.0.180
* v2.0, 2015-07-21, fix [#435 ](https://github.com/simple-rtmp-server/srs/issues/435 ) add pageUrl for HTTP callback on_play.
* v2.0, 2015-08-11, for [#442][bug #442 ] support kickoff connected client. 2.0.181
* v2.0, 2015-07-21, for [#169][bug #169 ] support default values for transcode. 2.0.180
* v2.0, 2015-07-21, fix [#435][bug #435 ] add pageUrl for HTTP callback on_play.
* v2.0, 2015-07-20, refine the hls, ignore packet when no sequence header. 2.0.179
* v2.0, 2015-07-16, for [#441 ](https://github.com/simple-rtmp-server/srs/issues/441 ) use 30s timeout for first msg. 2.0.178
* v2.0, 2015-07-16, for [#441][bug #441 ] use 30s timeout for first msg. 2.0.178
* v2.0, 2015-07-14, refine hls disable the time jitter, support not mix monotonically increase. 2.0.177
* v2.0, 2015-07-01, fix [#433 ](https://github.com/simple-rtmp-server/srs/issues/433 ) fix the sps parse bug. 2.0.176
* v2.0, 2015-06-10, fix [#425 ](https://github.com/simple-rtmp-server/srs/issues/425 ) refine the time jitter, correct (-inf,-250)+(250,+inf) to 10ms. 2.0.175
* v2.0, 2015-06-10, fix [#424 ](https://github.com/simple-rtmp-server/srs/issues/424 ) fix aggregate timestamp bug. 2.0.174
* v2.0, 2015-06-06, fix [#421 ](https://github.com/simple-rtmp-server/srs/issues/421 ) drop video for unkown RTMP header.
* v2.0, 2015-06-05, fix [#420 ](https://github.com/simple-rtmp-server/srs/issues/420 ) remove ts for hls ram mode.
* v2.0, 2015-05-30, fix [#209 ](https://github.com/simple-rtmp-server/srs/issues/209 ) cleanup hls when stop and timeout. 2.0.173.
* v2.0, 2015-05-29, fix [#409 ](https://github.com/simple-rtmp-server/srs/issues/409 ) support pure video hls. 2.0.172.
* v2.0, 2015-07-01, fix [#433][bug #433 ] fix the sps parse bug. 2.0.176
* v2.0, 2015-06-10, fix [#425][bug #425 ] refine the time jitter, correct (-inf,-250)+(250,+inf) to 10ms. 2.0.175
* v2.0, 2015-06-10, fix [#424][bug #424 ] fix aggregate timestamp bug. 2.0.174
* v2.0, 2015-06-06, fix [#421][bug #421 ] drop video for unkown RTMP header.
* v2.0, 2015-06-05, fix [#420][bug #420 ] remove ts for hls ram mode.
* v2.0, 2015-05-30, fix [#209][bug #209 ] cleanup hls when stop and timeout. 2.0.173.
* v2.0, 2015-05-29, fix [#409][bug #409 ] support pure video hls. 2.0.172.
* v2.0, 2015-05-28, support [srs-dolphin][srs-dolphin], the multiple-process SRS.
* v2.0, 2015-05-24, fix [#404 ](https://github.com/simple-rtmp-server/srs/issues/404 ) register handler then start http thread. 2.0.167.
* v2.0, 2015-05-24, fix [#404][bug #404 ] register handler then start http thread. 2.0.167.
* v2.0, 2015-05-23, refine the thread, protocol, kbps code. 2.0.166
* v2.0, 2015-05-23, fix [#391 ](https://github.com/simple-rtmp-server/srs/issues/391 ) copy request for async call.
* v2.0, 2015-05-22, fix [#397 ](https://github.com/simple-rtmp-server/srs/issues/397 ) the USER_HZ maybe not 100. 2.0.165
* v2.0, 2015-05-22, for [#400 ](https://github.com/simple-rtmp-server/srs/issues/400 ) , parse when got entire http header, by feilong. 2.0.164.
* v2.0, 2015-05-23, fix [#391][bug #391 ] copy request for async call.
* v2.0, 2015-05-22, fix [#397][bug #397 ] the USER_HZ maybe not 100. 2.0.165
* v2.0, 2015-05-22, for [#400][bug #400 ] , parse when got entire http header, by feilong. 2.0.164.
* v2.0, 2015-05-19, merge from bravo system, add the rtmfp to bms(commercial srs). 2.0.163.
* v2.0, 2015-05-10, support push flv stream over HTTP POST to SRS.
* v2.0, 2015-04-20, support ingest hls live stream to RTMP.
* v2.0, 2015-04-15, for [#383 ](https://github.com/simple-rtmp-server/srs/issues/383 ) , support mix_correct algorithm. 2.0.161.
* v2.0, 2015-04-13, for [#381 ](https://github.com/simple-rtmp-server/srs/issues/381 ) , support reap hls/ts by gop or not. 2.0.160.
* v2.0, 2015-04-15, for [#383][bug #383 ] , support mix_correct algorithm. 2.0.161.
* v2.0, 2015-04-13, for [#381][bug #381 ] , support reap hls/ts by gop or not. 2.0.160.
* v2.0, 2015-04-10, enhanced on_hls_notify, support HTTP GET when reap ts.
* v2.0, 2015-04-10, refine the hls deviation for floor algorithm.
* v2.0, 2015-04-08, for [#375 ](https://github.com/simple-rtmp-server/srs/issues/375 ) , fix hls bug, keep cc continous between ts files. 2.0.159.
* v2.0, 2015-04-04, for [#304 ](https://github.com/simple-rtmp-server/srs/issues/304 ) , rewrite annexb mux for ts, refer to apple sample. 2.0.157.
* v2.0, 2015-04-08, for [#375][bug #375 ] , fix hls bug, keep cc continous between ts files. 2.0.159.
* v2.0, 2015-04-04, for [#304][bug #304 ] , rewrite annexb mux for ts, refer to apple sample. 2.0.157.
* v2.0, 2015-04-03, enhanced avc decode, parse the sps get width+height. 2.0.156.
* v2.0, 2015-04-03, for [#372 ](https://github.com/simple-rtmp-server/srs/issues/372 ) , support transform vhost of edge 2.0.155.
* v2.0, 2015-03-30, for [#366 ](https://github.com/simple-rtmp-server/srs/issues/366 ) , config hls to disable cleanup of ts. 2.0.154.
* v2.0, 2015-04-03, for [#372][bug #372 ] , support transform vhost of edge 2.0.155.
* v2.0, 2015-03-30, for [#366][bug #366 ] , config hls to disable cleanup of ts. 2.0.154.
* v2.0, 2015-03-31, support server cycle handler. 2.0.153.
* v2.0, 2015-03-31, support on_hls for http hooks. 2.0.152.
* v2.0, 2015-03-31, enhanced hls, support deviation for duration. 2.0.151.
* v2.0, 2015-03-30, for [#351 ](https://github.com/simple-rtmp-server/srs/issues/351 ) , support config the m3u8/ts path for hls. 2.0.149.
* v2.0, 2015-03-17, for [#155 ](https://github.com/simple-rtmp-server/srs/issues/155 ) , osx(darwin) support demo with nginx and ffmpeg. 2.0.143.
* v2.0, 2015-03-15, start [2.0release branch ](https://github.com/simple-rtmp-server/srs/tree/2.0release ) , 80773 lines.
* v2.0, 2015-03-14, fix [#324 ](https://github.com/simple-rtmp-server/srs/issues/324 ) , support hstrs(http stream trigger rtmp source) edge mode. 2.0.140.
* v2.0, 2015-03-14, for [#324 ](https://github.com/simple-rtmp-server/srs/issues/324 ) , support hstrs(http stream trigger rtmp source) origin mode. 2.0.139.
* v2.0, 2015-03-12, fix [#328 ](https://github.com/simple-rtmp-server/srs/issues/328 ) , support adobe hds. 2.0.138.
* v2.0, 2015-03-10, fix [#155 ](https://github.com/simple-rtmp-server/srs/issues/155 ) , support osx(darwin) for mac pro. 2.0.137.
* v2.0, 2015-03-08, fix [#316 ](https://github.com/simple-rtmp-server/srs/issues/316 ) , http api provides stream/vhost/srs/server bytes, codec and count. 2.0.136.
* v2.0, 2015-03-08, fix [#310 ](https://github.com/simple-rtmp-server/srs/issues/310 ) , refine aac LC, support aac HE/HEv2. 2.0.134.
* v2.0, 2015-03-06, for [#322 ](https://github.com/simple-rtmp-server/srs/issues/322 ) , fix http-flv stream bug, support multiple streams. 2.0.133.
* v2.0, 2015-03-30, for [#351][bug #351 ] , support config the m3u8/ts path for hls. 2.0.149.
* v2.0, 2015-03-17, for [#155][bug #155 ] , osx(darwin) support demo with nginx and ffmpeg. 2.0.143.
* v2.0, 2015-03-15, start [2.0release branch][branch2] , 80773 lines.
* v2.0, 2015-03-14, fix [#324][bug #324 ] , support hstrs(http stream trigger rtmp source) edge mode. 2.0.140.
* v2.0, 2015-03-14, for [#324][bug #324 ] , support hstrs(http stream trigger rtmp source) origin mode. 2.0.139.
* v2.0, 2015-03-12, fix [#328][bug #328 ] , support adobe hds. 2.0.138.
* v2.0, 2015-03-10, fix [#155][bug #155 ] , support osx(darwin) for mac pro. 2.0.137.
* v2.0, 2015-03-08, fix [#316][bug #316 ] , http api provides stream/vhost/srs/server bytes, codec and count. 2.0.136.
* v2.0, 2015-03-08, fix [#310][bug #310 ] , refine aac LC, support aac HE/HEv2. 2.0.134.
* v2.0, 2015-03-06, for [#322][bug #322 ] , fix http-flv stream bug, support multiple streams. 2.0.133.
* v2.0, 2015-03-06, refine http request parse. 2.0.132.
* v2.0, 2015-03-01, for [#179 ](https://github.com/simple-rtmp-server/srs/issues/179 ) , revert dvr http api. 2.0.128.
* v2.0, 2015-02-24, for [#304 ](https://github.com/simple-rtmp-server/srs/issues/304 ) , fix hls bug, write pts/dts error. 2.0.124
* v2.0, 2015-03-01, for [#179][bug #179 ] , revert dvr http api. 2.0.128.
* v2.0, 2015-02-24, for [#304][bug #304 ] , fix hls bug, write pts/dts error. 2.0.124
* v2.0, 2015-02-19, refine dvr, append file when dvr file exists. 2.0.122.
* v2.0, 2015-02-19, refine pithy print to more easyer to use. 2.0.121.
* v2.0, 2015-02-18, fix [#133 ](https://github.com/simple-rtmp-server/srs/issues/133 ) , support push rtsp to srs. 2.0.120.
* v2.0, 2015-02-18, fix [#133][bug #133 ] , support push rtsp to srs. 2.0.120.
* v2.0, 2015-02-17, the join maybe failed, should use a variable to ensure thread terminated. 2.0.119.
* v2.0, 2015-02-15, for [#304 ](https://github.com/simple-rtmp-server/srs/issues/304 ) , support config default acodec/vcodec. 2.0.118.
* v2.0, 2015-02-15, for [#304 ](https://github.com/simple-rtmp-server/srs/issues/304 ) , rewrite hls/ts code, support h.264+mp3 for hls. 2.0.117.
* v2.0, 2015-02-12, for [#304 ](https://github.com/simple-rtmp-server/srs/issues/304 ) , use stringstream to generate m3u8, add hls_td_ratio. 2.0.116.
* v2.0, 2015-02-15, for [#304][bug #304 ] , support config default acodec/vcodec. 2.0.118.
* v2.0, 2015-02-15, for [#304][bug #304 ] , rewrite hls/ts code, support h.264+mp3 for hls. 2.0.117.
* v2.0, 2015-02-12, for [#304][bug #304 ] , use stringstream to generate m3u8, add hls_td_ratio. 2.0.116.
* v2.0, 2015-02-11, dev code ZhouGuowen for 2.0.115.
* v2.0, 2015-02-10, for [#311 ](https://github.com/simple-rtmp-server/srs/issues/311 ) , set pcr_base to dts. 2.0.114.
* v2.0, 2015-02-10, fix [the bug ](https://github.com/simple-rtmp-server/srs/commit/87519aaae835199e5adb60c0ae2c1cd24939448c ) of ibmf format which decoded in annexb.
* v2.0, 2015-02-10, for [#310 ](https://github.com/simple-rtmp-server/srs/issues/310 ) , downcast aac SSR to LC. 2.0.113
* v2.0, 2015-02-03, fix [#136 ](https://github.com/simple-rtmp-server/srs/issues/136 ) , support hls without io(in ram). 2.0.112
* v2.0, 2015-01-31, for [#250 ](https://github.com/simple-rtmp-server/srs/issues/250 ) , support push MPEGTS over UDP to SRS. 2.0.111
* v2.0, 2015-02-10, for [#311][bug #311 ] , set pcr_base to dts. 2.0.114.
* v2.0, 2015-02-10, fix [the bug][p21] of ibmf format which decoded in annexb.
* v2.0, 2015-02-10, for [#310][bug #310 ] , downcast aac SSR to LC. 2.0.113
* v2.0, 2015-02-03, fix [#136][bug #136 ] , support hls without io(in ram). 2.0.112
* v2.0, 2015-01-31, for [#250][bug #250 ] , support push MPEGTS over UDP to SRS. 2.0.111
* v2.0, 2015-01-29, build libfdk-aac in ffmpeg. 2.0.108
* v2.0, 2015-01-25, for [#301 ](https://github.com/simple-rtmp-server/srs/issues/301 ) , hls support h.264+mp3, ok for vlc. 2.0.107
* v2.0, 2015-01-25, for [#301 ](https://github.com/simple-rtmp-server/srs/issues/301 ) , http ts stream support h.264+mp3. 2.0.106
* v2.0, 2015-01-25, hotfix [#268 ](https://github.com/simple-rtmp-server/srs/issues/268 ) , refine the pcr start at 0, dts/pts plus delay. 2.0.105
* v2.0, 2015-01-25, hotfix [#151 ](https://github.com/simple-rtmp-server/srs/issues/151 ) , refine pcr=dts-800ms and use dts/pts directly. 2.0.104
* v2.0, 2015-01-23, hotfix [#151 ](https://github.com/simple-rtmp-server/srs/issues/151 ) , use absolutely overflow to make jwplayer happy. 2.0.103
* v2.0, 2015-01-22, for [#293 ](https://github.com/simple-rtmp-server/srs/issues/293 ) , support http live ts stream. 2.0.101.
* v2.0, 2015-01-19, for [#293 ](https://github.com/simple-rtmp-server/srs/issues/293 ) , support http live flv/aac/mp3 stream with fast cache. 2.0.100.
* v2.0, 2015-01-18, for [#293 ](https://github.com/simple-rtmp-server/srs/issues/293 ) , support rtmp remux to http flv live stream. 2.0.99.
* v2.0, 2015-01-17, fix [#277 ](https://github.com/simple-rtmp-server/srs/issues/277 ) , refine http server refer to go http-framework. 2.0.98
* v2.0, 2015-01-17, for [#277 ](https://github.com/simple-rtmp-server/srs/issues/277 ) , refine http api refer to go http-framework. 2.0.97
* v2.0, 2015-01-17, hotfix [#290 ](https://github.com/simple-rtmp-server/srs/issues/290 ) , use iformat only for rtmp input. 2.0.95
* v2.0, 2015-01-08, hotfix [#281 ](https://github.com/simple-rtmp-server/srs/issues/281 ) , fix hls bug ignore type-9 send aud. 2.0.93
* v2.0, 2015-01-03, fix [#274 ](https://github.com/simple-rtmp-server/srs/issues/274 ) , http-callback support on_dvr when reap a dvr file. 2.0.89
* v2.0, 2015-01-25, for [#301][bug #301 ] , hls support h.264+mp3, ok for vlc. 2.0.107
* v2.0, 2015-01-25, for [#301][bug #301 ] , http ts stream support h.264+mp3. 2.0.106
* v2.0, 2015-01-25, hotfix [#268][bug #268 ] , refine the pcr start at 0, dts/pts plus delay. 2.0.105
* v2.0, 2015-01-25, hotfix [#151][bug #151 ] , refine pcr=dts-800ms and use dts/pts directly. 2.0.104
* v2.0, 2015-01-23, hotfix [#151][bug #151 ] , use absolutely overflow to make jwplayer happy. 2.0.103
* v2.0, 2015-01-22, for [#293][bug #293 ] , support http live ts stream. 2.0.101.
* v2.0, 2015-01-19, for [#293][bug #293 ] , support http live flv/aac/mp3 stream with fast cache. 2.0.100.
* v2.0, 2015-01-18, for [#293][bug #293 ] , support rtmp remux to http flv live stream. 2.0.99.
* v2.0, 2015-01-17, fix [#277][bug #277 ] , refine http server refer to go http-framework. 2.0.98
* v2.0, 2015-01-17, for [#277][bug #277 ] , refine http api refer to go http-framework. 2.0.97
* v2.0, 2015-01-17, hotfix [#290][bug #290 ] , use iformat only for rtmp input. 2.0.95
* v2.0, 2015-01-08, hotfix [#281][bug #281 ] , fix hls bug ignore type-9 send aud. 2.0.93
* v2.0, 2015-01-03, fix [#274][bug #274 ] , http-callback support on_dvr when reap a dvr file. 2.0.89
* v2.0, 2015-01-03, hotfix to remove the pageUrl for http callback. 2.0.88
* v2.0, 2015-01-03, fix [#179 ](https://github.com/simple-rtmp-server/srs/issues/179 ) , dvr support custom filepath by variables. 2.0.87
* v2.0, 2015-01-02, fix [#211 ](https://github.com/simple-rtmp-server/srs/issues/211 ) , support security allow/deny publish/play all/ip. 2.0.86
* v2.0, 2015-01-02, hotfix [#207 ](https://github.com/simple-rtmp-server/srs/issues/207 ) , trim the last 0 of log. 2.0.85
* v2.0, 2014-01-02, fix [#158 ](https://github.com/simple-rtmp-server/srs/issues/158 ) , http-callback check http status code ok(200). 2.0.84
* v2.0, 2015-01-02, hotfix [#216 ](https://github.com/simple-rtmp-server/srs/issues/216 ) , http-callback post in application/json content-type. 2.0.83
* v2.0, 2014-01-02, fix [#263 ](https://github.com/simple-rtmp-server/srs/issues/263 ) , srs-librtmp flv read tag should init size. 2.0.82
* v2.0, 2015-01-01, hotfix [#270 ](https://github.com/simple-rtmp-server/srs/issues/270 ) , memory leak for http client post. 2.0.81
* v2.0, 2014-12-12, fix [#266 ](https://github.com/simple-rtmp-server/srs/issues/266 ) , aac profile is object id plus one. 2.0.80
* v2.0, 2014-12-29, hotfix [#267 ](https://github.com/simple-rtmp-server/srs/issues/267 ) , the forward dest ep should use server. 2.0.79
* v2.0, 2014-12-29, hotfix [#268 ](https://github.com/simple-rtmp-server/srs/issues/268 ) , the hls pcr is negative when startup. 2.0.78
* v2.0, 2014-12-22, hotfix [#264 ](https://github.com/simple-rtmp-server/srs/issues/264 ) , ignore NALU when sequence header to make HLS happy. 2.0.76
* v2.0, 2014-12-20, hotfix [#264 ](https://github.com/simple-rtmp-server/srs/issues/264 ) , support disconnect publish connect when hls error. 2.0.75
* v2.0, 2014-12-12, fix [#257 ](https://github.com/simple-rtmp-server/srs/issues/257 ) , support 0.1s+ latency. 2.0.70
* v2.0, 2014-12-08, update wiki for mr([EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_LowLatency#merged-read), [CN ](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_LowLatency#merged-read )) and mw([EN](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_LowLatency#merged-write), [CN ](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_LowLatency#merged-write ) ).
* v2.0, 2014-12-07, fix [#251 ](https://github.com/simple-rtmp-server/srs/issues/251 ) , 10k+ clients, use queue cond wait and fast vector. 2.0.67
* v2.0, 2014-12-05, fix [#251 ](https://github.com/simple-rtmp-server/srs/issues/251 ) , 9k+ clients, use fast cache for msgs queue. 2.0.57
* v2.0, 2014-12-04, fix [#241 ](https://github.com/simple-rtmp-server/srs/issues/241 ) , add mw(merged-write) config. 2.0.53
* v2.0, 2014-12-04, for [#241 ](https://github.com/simple-rtmp-server/srs/issues/241 ) , support mr(merged-read) config and reload. 2.0.52.
* v2.0, 2014-12-04, enable [#241 ](https://github.com/simple-rtmp-server/srs/issues/241 ) and [#248 ](https://github.com/simple-rtmp-server/srs/issues/248 ) , +25% performance, 2.5k publisher. 2.0.50
* v2.0, 2014-12-04, fix [#248 ](https://github.com/simple-rtmp-server/srs/issues/248 ) , improve about 15% performance for fast buffer. 2.0.49
* v2.0, 2014-12-03, fix [#244 ](https://github.com/simple-rtmp-server/srs/issues/244 ) , conn thread use cond to wait for recv thread error. 2.0.47.
* v2.0, 2014-12-02, merge [#239 ](https://github.com/simple-rtmp-server/srs/pull/239 ) , traverse the token before response connect. 2.0.45.
* v2.0, 2015-01-03, fix [#179][bug #179 ] , dvr support custom filepath by variables. 2.0.87
* v2.0, 2015-01-02, fix [#211][bug #211 ] , support security allow/deny publish/play all/ip. 2.0.86
* v2.0, 2015-01-02, hotfix [#207][bug #207 ] , trim the last 0 of log. 2.0.85
* v2.0, 2014-01-02, fix [#158][bug #158 ] , http-callback check http status code ok(200). 2.0.84
* v2.0, 2015-01-02, hotfix [#216][bug #216 ] , http-callback post in application/json content-type. 2.0.83
* v2.0, 2014-01-02, fix [#263][bug #263 ] , srs-librtmp flv read tag should init size. 2.0.82
* v2.0, 2015-01-01, hotfix [#270][bug #270 ] , memory leak for http client post. 2.0.81
* v2.0, 2014-12-12, fix [#266][bug #266 ] , aac profile is object id plus one. 2.0.80
* v2.0, 2014-12-29, hotfix [#267][bug #267 ] , the forward dest ep should use server. 2.0.79
* v2.0, 2014-12-29, hotfix [#268][bug #268 ] , the hls pcr is negative when startup. 2.0.78
* v2.0, 2014-12-22, hotfix [#264][bug #264 ] , ignore NALU when sequence header to make HLS happy. 2.0.76
* v2.0, 2014-12-20, hotfix [#264][bug #264 ] , support disconnect publish connect when hls error. 2.0.75
* v2.0, 2014-12-12, fix [#257][bug #257 ] , support 0.1s+ latency. 2.0.70
* v2.0, 2014-12-08, update wiki for mr([EN][v2_EN_LowLatency#merged-read], [CN][v2_CN_LowLatency#merged-read]) and mw([EN][v2_EN_LowLatency#merged-write], [CN][v2_CN_LowLatency#merged-write] ).
* v2.0, 2014-12-07, fix [#251][bug #251 ] , 10k+ clients, use queue cond wait and fast vector. 2.0.67
* v2.0, 2014-12-05, fix [#251][bug #251 ] , 9k+ clients, use fast cache for msgs queue. 2.0.57
* v2.0, 2014-12-04, fix [#241][bug #241 ] , add mw(merged-write) config. 2.0.53
* v2.0, 2014-12-04, for [#241][bug #241 ] , support mr(merged-read) config and reload. 2.0.52.
* v2.0, 2014-12-04, enable [#241][bug #241 ] and [#248][bug #248 ] , +25% performance, 2.5k publisher. 2.0.50
* v2.0, 2014-12-04, fix [#248][bug #248 ] , improve about 15% performance for fast buffer. 2.0.49
* v2.0, 2014-12-03, fix [#244][bug #244 ] , conn thread use cond to wait for recv thread error. 2.0.47.
* v2.0, 2014-12-02, merge [#239][p23] , traverse the token before response connect. 2.0.45.
* v2.0, 2014-12-02, srs-librtmp support hijack io apis for st-load. 2.0.42.
* v2.0, 2014-12-01, for [#237 ](https://github.com/simple-rtmp-server/srs/issues/237 ) , refine syscall for recv, supports 1.5k clients. 2.0.41.
* v2.0, 2014-12-01, for [#237][bug #237 ] , refine syscall for recv, supports 1.5k clients. 2.0.41.
* v2.0, 2014-11-30, add qtcreate project file trunk/src/qt/srs/srs-qt.pro. 2.0.39.
* v2.0, 2014-11-29, fix [#235 ](https://github.com/simple-rtmp-server/srs/issues/235 ) , refine handshake, replace union with template method. 2.0.38.
* v2.0, 2014-11-28, fix [#215 ](https://github.com/simple-rtmp-server/srs/issues/215 ) , add srs_rtmp_dump tool. 2.0.37.
* v2.0, 2014-11-29, fix [#235][bug #235 ] , refine handshake, replace union with template method. 2.0.38.
* v2.0, 2014-11-28, fix [#215][bug #215 ] , add srs_rtmp_dump tool. 2.0.37.
* v2.0, 2014-11-25, update PRIMARY, AUTHORS, CONTRIBUTORS rule. 2.0.32.
* v2.0, 2014-11-24, fix [#212 ](https://github.com/simple-rtmp-server/srs/issues/212 ) , support publish aac adts raw stream. 2.0.31.
* v2.0, 2014-11-22, fix [#217 ](https://github.com/simple-rtmp-server/srs/issues/217 ) , remove timeout recv, support 7.5k+ 250kbps clients. 2.0.30.
* v2.0, 2014-11-24, fix [#212][bug #212 ] , support publish aac adts raw stream. 2.0.31.
* v2.0, 2014-11-22, fix [#217][bug #217 ] , remove timeout recv, support 7.5k+ 250kbps clients. 2.0.30.
* v2.0, 2014-11-21, srs-librtmp add rtmp prefix for rtmp/utils/human apis. 2.0.29.
* v2.0, 2014-11-21, refine examples of srs-librtmp, add srs_print_rtmp_packet. 2.0.28.
* v2.0, 2014-11-20, fix [#212 ](https://github.com/simple-rtmp-server/srs/issues/212 ) , support publish audio raw frames. 2.0.27
* v2.0, 2014-11-19, fix [#213 ](https://github.com/simple-rtmp-server/srs/issues/213 ) , support compile [srs-librtmp on windows ](https://github.com/winlinvip/srs.librtmp ), [bug #213 ](https://github.com/simple-rtmp-server/srs/issues/213 ) . 2.0.26
* v2.0, 2014-11-20, fix [#212][bug #212 ] , support publish audio raw frames. 2.0.27
* v2.0, 2014-11-19, fix [#213][bug #213 ] , support compile [srs-librtmp on windows ](https://github.com/winlinvip/srs.librtmp ), [bug #213 ][bug #213 ] . 2.0.26
* v2.0, 2014-11-18, all wiki translated to English. 2.0.23.
* v2.0, 2014-11-15, fix [#204 ](https://github.com/simple-rtmp-server/srs/issues/204 ) , srs-librtmp drop duplicated sps/pps(sequence header). 2.0.22.
* v2.0, 2014-11-15, fix [#203 ](https://github.com/simple-rtmp-server/srs/issues/203 ) , srs-librtmp drop any video before sps/pps(sequence header). 2.0.21.
* v2.0, 2014-11-15, fix [#202 ](https://github.com/simple-rtmp-server/srs/issues/202 ) , fix memory leak of h.264 raw packet send in srs-librtmp. 2.0.20.
* v2.0, 2014-11-13, fix [#200 ](https://github.com/simple-rtmp-server/srs/issues/200 ) , deadloop when read/write 0 and ETIME. 2.0.16.
* v2.0, 2014-11-13, fix [#194 ](https://github.com/simple-rtmp-server/srs/issues/194 ) , writev multiple msgs, support 6k+ 250kbps clients. 2.0.15.
* v2.0, 2014-11-12, fix [#194 ](https://github.com/simple-rtmp-server/srs/issues/194 ) , optmized st for timeout recv. pulse to 500ms. 2.0.14.
* v2.0, 2014-11-11, fix [#195 ](https://github.com/simple-rtmp-server/srs/issues/195 ) , remove the confuse code st_usleep(0). 2.0.13.
* v2.0, 2014-11-08, fix [#191 ](https://github.com/simple-rtmp-server/srs/issues/191 ) , configure --export-librtmp-project and --export-librtmp-single. 2.0.11.
* v2.0, 2014-11-08, fix [#66 ](https://github.com/simple-rtmp-server/srs/issues/66 ) , srs-librtmp support write h264 raw packet. 2.0.9.
* v2.0, 2014-10-25, fix [#185 ](https://github.com/simple-rtmp-server/srs/issues/185 ) , AMF0 support 0x0B the date type codec. 2.0.7.
* v2.0, 2014-10-24, fix [#186 ](https://github.com/simple-rtmp-server/srs/issues/186 ) , hotfix for bug #186 , drop connect args when not object. 2.0.6.
* v2.0, 2014-11-15, fix [#204][bug #204 ] , srs-librtmp drop duplicated sps/pps(sequence header). 2.0.22.
* v2.0, 2014-11-15, fix [#203][bug #203 ] , srs-librtmp drop any video before sps/pps(sequence header). 2.0.21.
* v2.0, 2014-11-15, fix [#202][bug #202 ] , fix memory leak of h.264 raw packet send in srs-librtmp. 2.0.20.
* v2.0, 2014-11-13, fix [#200][bug #200 ] , deadloop when read/write 0 and ETIME. 2.0.16.
* v2.0, 2014-11-13, fix [#194][bug #194 ] , writev multiple msgs, support 6k+ 250kbps clients. 2.0.15.
* v2.0, 2014-11-12, fix [#194][bug #194 ] , optmized st for timeout recv. pulse to 500ms. 2.0.14.
* v2.0, 2014-11-11, fix [#195][bug #195 ] , remove the confuse code st_usleep(0). 2.0.13.
* v2.0, 2014-11-08, fix [#191][bug #191 ] , configure --export-librtmp-project and --export-librtmp-single. 2.0.11.
* v2.0, 2014-11-08, fix [#66][bug #66 ] , srs-librtmp support write h264 raw packet. 2.0.9.
* v2.0, 2014-10-25, fix [#185][bug #185 ] , AMF0 support 0x0B the date type codec. 2.0.7.
* v2.0, 2014-10-24, fix [#186][bug #186 ] , hotfix for bug #186 , drop connect args when not object. 2.0.6.
* v2.0, 2014-10-24, rename wiki/xxx to wiki/v1_CN_xxx. 2.0.3.
* v2.0, 2014-10-19, fix [#184 ](https://github.com/simple-rtmp-server/srs/issues/184 ) , support AnnexB in RTMP body for HLS. 2.0.2
* v2.0, 2014-10-19, fix [#184][bug #184 ] , support AnnexB in RTMP body for HLS. 2.0.2
* v2.0, 2014-10-18, remove supports for OSX(darwin). 2.0.1.
* v2.0, 2014-10-16, revert github srs README to English. 2.0.0.
* < strong >v1.0, 2014-12-05, [1.0 release(1.0.10) ](https://github.com/simple-rtmp-server/srs/releases/tag/1.0 ) released. 59391 lines.< /strong >
* < strong > v1.0, 2014-12-05, [1.0 release(1.0.10)][r1.0r0] released. 59391 lines.< /strong >
* < strong > v1.0, 2014-10-09, [1.0 beta(1.0.0)][r1.0b0] released. 59316 lines.< / strong >
* v1.0, 2014-10-08, fix [#151 ](https://github.com/simple-rtmp-server/srs/issues/151 ) , always reap ts whatever audio or video packet. 0.9.223.
* v1.0, 2014-10-08, fix [#162 ](https://github.com/simple-rtmp-server/srs/issues/162 ) , failed if no epoll. 0.9.222.
* v1.0, 2014-09-30, fix [#180 ](https://github.com/simple-rtmp-server/srs/issues/180 ) , crash for multiple edge publishing the same stream. 0.9.220.
* v1.0, 2014-10-08, fix [#151][bug #151 ] , always reap ts whatever audio or video packet. 0.9.223.
* v1.0, 2014-10-08, fix [#162][bug #162 ] , failed if no epoll. 0.9.222.
* v1.0, 2014-09-30, fix [#180][bug #180 ] , crash for multiple edge publishing the same stream. 0.9.220.
* v1.0, 2014-09-26, fix hls bug, refine config and log, according to clion of jetbrains. 0.9.216.
* v1.0, 2014-09-25, fix [#177 ](https://github.com/simple-rtmp-server/srs/issues/177 ) , dvr segment add config dvr_wait_keyframe. 0.9.213.
* v1.0, 2014-08-28, fix [#167 ](https://github.com/simple-rtmp-server/srs/issues/167 ) , add openssl includes to utest. 0.9.209.
* v1.0, 2014-09-25, fix [#177][bug #177 ] , dvr segment add config dvr_wait_keyframe. 0.9.213.
* v1.0, 2014-08-28, fix [#167][bug #167 ] , add openssl includes to utest. 0.9.209.
* v1.0, 2014-08-27, max connections is 32756, for st use mmap default. 0.9.209
* v1.0, 2014-08-24, fix [#150 ](https://github.com/simple-rtmp-server/srs/issues/150 ) , forward should forward the sequence header when retry. 0.9.208.
* v1.0, 2014-08-22, for [#165 ](https://github.com/simple-rtmp-server/srs/issues/165 ) , refine dh wrapper, ensure public key is 128bytes. 0.9.206.
* v1.0, 2014-08-19, for [#160 ](https://github.com/simple-rtmp-server/srs/issues/160 ) , support forward/edge to flussonic, disable debug_srs_upnode to make flussonic happy. 0.9.201.
* v1.0, 2014-08-17, for [#155 ](https://github.com/simple-rtmp-server/srs/issues/155 ) , refine for osx, with ssl/http, disable statistics. 0.9.198.
* v1.0, 2014-08-06, fix [#148 ](https://github.com/simple-rtmp-server/srs/issues/148 ) , simplify the RTMP handshake key generation. 0.9.191.
* v1.0, 2014-08-06, fix [#147 ](https://github.com/simple-rtmp-server/srs/issues/147 ) , support identify the srs edge. 0.9.190.
* v1.0, 2014-08-24, fix [#150][bug #150 ] , forward should forward the sequence header when retry. 0.9.208.
* v1.0, 2014-08-22, for [#165][bug #165 ] , refine dh wrapper, ensure public key is 128bytes. 0.9.206.
* v1.0, 2014-08-19, for [#160][bug #160 ] , support forward/edge to flussonic, disable debug_srs_upnode to make flussonic happy. 0.9.201.
* v1.0, 2014-08-17, for [#155][bug #155 ] , refine for osx, with ssl/http, disable statistics. 0.9.198.
* v1.0, 2014-08-06, fix [#148][bug #148 ] , simplify the RTMP handshake key generation. 0.9.191.
* v1.0, 2014-08-06, fix [#147][bug #147 ] , support identify the srs edge. 0.9.190.
* < strong > v1.0, 2014-08-03, [1.0 mainline7(0.9.189)][r1.0a7] released. 57432 lines.< / strong >
* v1.0, 2014-08-03, fix [#79 ](https://github.com/simple-rtmp-server/srs/issues/79 ) , fix the reload remove edge assert bug. 0.9.189.
* v1.0, 2014-08-03, fix [#57 ](https://github.com/simple-rtmp-server/srs/issues/57 ) , use lock(acquire/release publish) to avoid duplicated publishing. 0.9.188.
* v1.0, 2014-08-03, fix [#85 ](https://github.com/simple-rtmp-server/srs/issues/85 ) , fix the segment-dvr sequence header missing. 0.9.187.
* v1.0, 2014-08-03, fix [#145 ](https://github.com/simple-rtmp-server/srs/issues/145 ) , refine ffmpeg log, check abitrate for libaacplus. 0.9.186.
* v1.0, 2014-08-03, fix [#143 ](https://github.com/simple-rtmp-server/srs/issues/143 ) , fix retrieve sys stat bug for all linux. 0.9.185.
* v1.0, 2014-08-02, fix [#138 ](https://github.com/simple-rtmp-server/srs/issues/138 ) , fix http hooks bug, regression bug. 0.9.184.
* v1.0, 2014-08-02, fix [#142 ](https://github.com/simple-rtmp-server/srs/issues/142 ) , fix tcp stat slow bug, use /proc/net/sockstat instead, refer to 'ss -s'. 0.9.183.
* v1.0, 2014-07-31, fix [#141 ](https://github.com/simple-rtmp-server/srs/issues/141 ) , support tun0(vpn network device) ip retrieve. 0.9.179.
* v1.0, 2014-08-03, fix [#79][bug #79 ] , fix the reload remove edge assert bug. 0.9.189.
* v1.0, 2014-08-03, fix [#57][bug #57 ] , use lock(acquire/release publish) to avoid duplicated publishing. 0.9.188.
* v1.0, 2014-08-03, fix [#85][bug #85 ] , fix the segment-dvr sequence header missing. 0.9.187.
* v1.0, 2014-08-03, fix [#145][bug #145 ] , refine ffmpeg log, check abitrate for libaacplus. 0.9.186.
* v1.0, 2014-08-03, fix [#143][bug #143 ] , fix retrieve sys stat bug for all linux. 0.9.185.
* v1.0, 2014-08-02, fix [#138][bug #138 ] , fix http hooks bug, regression bug. 0.9.184.
* v1.0, 2014-08-02, fix [#142][bug #142 ] , fix tcp stat slow bug, use /proc/net/sockstat instead, refer to 'ss -s'. 0.9.183.
* v1.0, 2014-07-31, fix [#141][bug #141 ] , support tun0(vpn network device) ip retrieve. 0.9.179.
* v1.0, 2014-07-27, support partially build on OSX(Darwin). 0.9.177
* v1.0, 2014-07-27, api connections add udp, add disk iops. 0.9.176
* v1.0, 2014-07-26, complete config utest. 0.9.173
* v1.0, 2014-07-26, fix [#124 ](https://github.com/simple-rtmp-server/srs/issues/124 ) , gop cache support disable video in publishing. 0.9.171.
* v1.0, 2014-07-23, fix [#121 ](https://github.com/simple-rtmp-server/srs/issues/121 ) , srs_info detail log compile failed. 0.9.168.
* v1.0, 2014-07-19, fix [#119 ](https://github.com/simple-rtmp-server/srs/issues/119 ) , use iformat and oformat for ffmpeg transcode. 0.9.163.
* v1.0, 2014-07-26, fix [#124][bug #124 ] , gop cache support disable video in publishing. 0.9.171.
* v1.0, 2014-07-23, fix [#121][bug #121 ] , srs_info detail log compile failed. 0.9.168.
* v1.0, 2014-07-19, fix [#119][bug #119 ] , use iformat and oformat for ffmpeg transcode. 0.9.163.
* < strong > v1.0, 2014-07-13, [1.0 mainline6(0.9.160)][r1.0a6] released. 50029 lines.< / strong >
* v1.0, 2014-07-13, refine the bandwidth check/test, add as/js library, use srs-librtmp for linux tool. 0.9.159
* v1.0, 2014-07-12, complete rtmp stack utest. 0.9.156
* v1.0, 2014-07-06, fix [#81 ](https://github.com/simple-rtmp-server/srs/issues/81 ) , fix HLS codec info, IOS ok. 0.9.153.
* v1.0, 2014-07-06, fix [#103 ](https://github.com/simple-rtmp-server/srs/issues/103 ) , support all aac sample rate. 0.9.150.
* v1.0, 2014-07-06, fix [#81][bug #81 ] , fix HLS codec info, IOS ok. 0.9.153.
* v1.0, 2014-07-06, fix [#103][bug #103 ] , support all aac sample rate. 0.9.150.
* v1.0, 2014-07-05, complete kernel utest. 0.9.149
* v1.0, 2014-06-30, fix [#111 ](https://github.com/simple-rtmp-server/srs/issues/111 ) , always use 31bits timestamp. 0.9.143.
* v1.0, 2014-06-30, fix [#111][bug #111 ] , always use 31bits timestamp. 0.9.143.
* v1.0, 2014-06-28, response the call message with null. 0.9.137
* v1.0, 2014-06-28, fix [#110 ](https://github.com/simple-rtmp-server/srs/issues/110 ) , thread start segment fault, thread cycle stop destroy thread. 0.9.136
* v1.0, 2014-06-27, fix [#109 ](https://github.com/simple-rtmp-server/srs/issues/109 ) , fix the system jump time, adjust system startup time. 0.9.135
* v1.0, 2014-06-28, fix [#110][bug #110 ] , thread start segment fault, thread cycle stop destroy thread. 0.9.136
* v1.0, 2014-06-27, fix [#109][bug #109 ] , fix the system jump time, adjust system startup time. 0.9.135
* < strong > v1.0, 2014-06-27, [1.0 mainline5(0.9.134)][r1.0a5] released. 41573 lines.< / strong >
* v1.0, 2014-06-27, SRS online 30days with RTMP/HLS.
* v1.0, 2014-06-25, fix [#108 ](https://github.com/simple-rtmp-server/srs/issues/108 ) , support config time jitter for encoder non-monotonical stream. 0.9.133
* v1.0, 2014-06-25, fix [#108][bug #108 ] , support config time jitter for encoder non-monotonical stream. 0.9.133
* v1.0, 2014-06-23, support report summaries in heartbeat. 0.9.132
* v1.0, 2014-06-22, performance refine, support [3k+ ](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Performance#performancereport4k ) connections(270kbps). 0.9.130
* v1.0, 2014-06-21, support edge [token traverse ](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DRM#tokentraverse ), fix [#104 ](https://github.com/simple-rtmp-server/srs/issues/104 ) . 0.9.129
* v1.0, 2014-06-22, performance refine, support [3k+][v1_CN_Performance#performancereport4k] connections(270kbps). 0.9.130
* v1.0, 2014-06-21, support edge [token traverse][v1_CN_DRM#tokentraverse], fix [#104][bug #104 ] . 0.9.129
* v1.0, 2014-06-19, add connections count to api summaries. 0.9.127
* v1.0, 2014-06-19, add srs bytes and kbps to api summaries. 0.9.126
* v1.0, 2014-06-18, add network bytes to api summaries. 0.9.125
* v1.0, 2014-06-14, fix [#98 ](https://github.com/simple-rtmp-server/srs/issues/98 ) , workaround for librtmp ping(fmt=1,cid=2 fresh stream). 0.9.124
* v1.0, 2014-06-14, fix [#98][bug #98 ] , workaround for librtmp ping(fmt=1,cid=2 fresh stream). 0.9.124
* v1.0, 2014-05-29, support flv inject and flv http streaming with start=bytes. 0.9.122
* < strong > v1.0, 2014-05-28, [1.0 mainline4(0.9.120)][r1.0a4] released. 39200 lines.< / strong >
* v1.0, 2014-05-27, fix [#87 ](https://github.com/simple-rtmp-server/srs/issues/87 ) , add source id for full trackable log. 0.9.120
* v1.0, 2014-05-27, fix [#84 ](https://github.com/simple-rtmp-server/srs/issues/84 ) , unpublish when edge disconnect. 0.9.119
* v1.0, 2014-05-27, fix [#89 ](https://github.com/simple-rtmp-server/srs/issues/89 ) , config to /dev/null to disable ffmpeg log. 0.9.117
* v1.0, 2014-05-25, fix [#76 ](https://github.com/simple-rtmp-server/srs/issues/76 ) , allow edge vhost to add or remove. 0.9.114
* v1.0, 2014-05-27, fix [#87][bug #87 ] , add source id for full trackable log. 0.9.120
* v1.0, 2014-05-27, fix [#84][bug #84 ] , unpublish when edge disconnect. 0.9.119
* v1.0, 2014-05-27, fix [#89][bug #89 ] , config to /dev/null to disable ffmpeg log. 0.9.117
* v1.0, 2014-05-25, fix [#76][bug #76 ] , allow edge vhost to add or remove. 0.9.114
* v1.0, 2014-05-24, Johnny contribute [ossrs.net ](http://ossrs.net ). karthikeyan start to translate wiki to English.
* v1.0, 2014-05-22, fix [#78 ](https://github.com/simple-rtmp-server/srs/issues/78 ) , st joinable thread must be stop by other threads, 0.9.113
* v1.0, 2014-05-22, fix [#78][bug #78 ] , st joinable thread must be stop by other threads, 0.9.113
* v1.0, 2014-05-22, support amf0 StrictArray(0x0a). 0.9.111.
* v1.0, 2014-05-22, support flv parser, add amf0 to librtmp. 0.9.110
* v1.0, 2014-05-22, fix [#74 ](https://github.com/simple-rtmp-server/srs/issues/74 ) , add tcUrl for http callback on_connect, 0.9.109
* v1.0, 2014-05-22, fix [#74][bug #74 ] , add tcUrl for http callback on_connect, 0.9.109
* v1.0, 2014-05-19, support http heartbeat, 0.9.107
* < strong > v1.0, 2014-05-18, [1.0 mainline3(0.9.105)][r1.0a3] released. 37594 lines.< / strong >
* v1.0, 2014-05-18, support http api json, to PUT/POST. 0.9.105
* v1.0, 2014-05-17, fix [#72 ](https://github.com/simple-rtmp-server/srs/issues/72 ) , also need stream_id for send_and_free_message. 0.9.101
* v1.0, 2014-05-17, fix [#72][bug #72 ] , also need stream_id for send_and_free_message. 0.9.101
* v1.0, 2014-05-17, rename struct to class. 0.9.100
* v1.0, 2014-05-14, fix [#67 ](https://github.com/simple-rtmp-server/srs/issues/67 ) pithy print, stage must has a age. 0.9.98
* v1.0, 2014-05-14, fix [#67][bug #67 ] pithy print, stage must has a age. 0.9.98
* v1.0, 2014-05-13, fix mem leak for delete[] SharedPtrMessage array. 0.9.95
* v1.0, 2014-05-12, refine the kbps calc module. 0.9.93
* v1.0, 2014-05-12, fix bug [#64 ](https://github.com/simple-rtmp-server/srs/issues/64 ) : install_dir=DESTDIR+PREFIX
* v1.0, 2014-05-08, fix [#36 ](https://github.com/simple-rtmp-server/srs/issues/36 ) : never directly use \*(int32_t\*) for arm.
* v1.0, 2014-05-08, fix [#60 ](https://github.com/simple-rtmp-server/srs/issues/60 ) : support aggregate message
* v1.0, 2014-05-08, fix [#59 ](https://github.com/simple-rtmp-server/srs/issues/59 ) , edge support FMS origin server. 0.9.92
* v1.0, 2014-05-06, fix [#50 ](https://github.com/simple-rtmp-server/srs/issues/50 ) , ubuntu14 build error.
* v1.0, 2014-05-12, fix bug [#64][bug #64 ] : install_dir=DESTDIR+PREFIX
* v1.0, 2014-05-08, fix [#36][bug #36 ] : never directly use \*(int32_t\*) for arm.
* v1.0, 2014-05-08, fix [#60][bug #60 ] : support aggregate message
* v1.0, 2014-05-08, fix [#59][bug #59 ] , edge support FMS origin server. 0.9.92
* v1.0, 2014-05-06, fix [#50][bug #50 ] , ubuntu14 build error.
* v1.0, 2014-05-04, support mips linux.
* v1.0, 2014-04-30, fix bug [#34 ](https://github.com/simple-rtmp-server/srs/issues/34 ) : convert signal to io thread. 0.9.85
* v1.0, 2014-04-30, fix bug [#34][bug #34 ] : convert signal to io thread. 0.9.85
* v1.0, 2014-04-29, refine RTMP protocol completed, to 0.9.81
* < strong > v1.0, 2014-04-28, [1.0 mainline2(0.9.79)][r1.0a2] released. 35255 lines.< / strong >
* v1.0, 2014-04-28, support full edge RTMP server. 0.9.79
@ -567,7 +567,7 @@ Remark:
* v1.0, 2014-04-05, support [http api][v1_CN_HTTPApi] and [http server][v1_CN_HTTPServer].
* v1.0, 2014-04-03, implements http framework and api/v1/version.
* v1.0, 2014-03-30, fix bug for st detecting epoll failed, force st to use epoll.
* v1.0, 2014-03-29, add wiki [Performance for RaspberryPi ](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_RaspberryPi ) .
* v1.0, 2014-03-29, add wiki [Performance for RaspberryPi][v1_CN_RaspberryPi] .
* v1.0, 2014-03-29, add release binary package for raspberry-pi.
* v1.0, 2014-03-26, support RTMP ATC for HLS/HDS to support backup(failover).
* v1.0, 2014-03-23, support daemon, default start in daemon.
@ -577,21 +577,21 @@ Remark:
* v1.0, 2014-03-20, refine hls code, support pure audio HLS.
* v1.0, 2014-03-19, add vn/an for FFMPEG to drop video/audio for radio stream.
* v1.0, 2014-03-19, refine handshake, client support complex handshake, add utest.
* v1.0, 2014-03-16, fix bug on arm of st, the sp change from 20 to 8, for respberry-pi, @see [commit ](https://github.com/simple-rtmp-server/srs/commit/5a4373d4835758188b9a1f03005cea0b6ddc62aa )
* v1.0, 2014-03-16, fix bug on arm of st, the sp change from 20 to 8, for respberry-pi, @see [commit][p22]
* v1.0, 2014-03-16, support ARM([debian armhf, v7cpu][v1_CN_SrsLinuxArm]) with rtmp/ssl/hls/librtmp.
* v1.0, 2014-03-12, finish utest for amf0 codec.
* v1.0, 2014-03-06, add gperftools for mem leak detect, mem/cpu profile.
* v1.0, 2014-03-04, add gest framework for utest, build success.
* v1.0, 2014-03-02, add wiki [srs-librtmp ](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLibrtmp ), [SRS for arm][v1_CN_SrsLinuxArm], [product ](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Product )
* v1.0, 2014-03-02, add wiki [srs-librtmp][v1_CN_SrsLibrtmp], [SRS for arm][v1_CN_SrsLinuxArm], [product][v1_CN_Product]
* v1.0, 2014-03-02, srs-librtmp, client publish/play library like librtmp.
* v1.0, 2014-03-01, modularity, extract core/kernel/rtmp/app/main module.
* v1.0, 2014-02-28, support arm build(SRS/ST), add ssl to 3rdparty package.
* v1.0, 2014-02-28, add wiki [BuildArm ](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Build ) , [FFMPEG][v1_CN_FFMPEG], [Reload][v1_CN_Reload]
* v1.0, 2014-02-27, add wiki [LowLatency ](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_LowLatency ), [HTTPCallback][v1_CN_HTTPCallback], [ServerSideScript ](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_ServerSideScript ), [IDE ](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE )
* v1.0, 2014-02-28, add wiki [BuildArm][v1_CN_Build] , [FFMPEG][v1_CN_FFMPEG], [Reload][v1_CN_Reload]
* v1.0, 2014-02-27, add wiki [LowLatency][v1_CN_LowLatency], [HTTPCallback][v1_CN_HTTPCallback], [ServerSideScript][v1_CN_ServerSideScript], [IDE][v1_CN_IDE]
* v1.0, 2014-01-19, add wiki [DeliveryHLS][v1_CN_DeliveryHLS]
* v1.0, 2014-01-12, add wiki [HowToAskQuestion ](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_HowToAskQuestion ) , [RtmpUrlVhost][v1_CN_RtmpUrlVhost]
* v1.0, 2014-01-12, add wiki [HowToAskQuestion][v1_CN_HowToAskQuestion] , [RtmpUrlVhost][v1_CN_RtmpUrlVhost]
* v1.0, 2014-01-11, fix jw/flower player pause bug, which send closeStream actually.
* v1.0, 2014-01-05, add wiki [Build ](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Build ), [Performance ](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Performance ) , [Forward][v1_CN_Forward]
* v1.0, 2014-01-05, add wiki [Build][v1_CN_Build], [Performance][v1_CN_Performance] , [Forward][v1_CN_Forward]
* v1.0, 2014-01-01, change listen(512), chunk-size(60000), to improve performance.
* v1.0, 2013-12-27, merge from wenjie, the bandwidth test feature.
* < strong > v0.9, 2013-12-25, [v0.9][r0.9] released. 20926 lines.< / strong >
@ -668,8 +668,8 @@ Remark:
Performance benchmark history, on virtual box.
* See also: [Performance for x86/x64 Test Guide ](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Performance )
* See also: [Performance for RaspberryPi ](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_RaspberryPi )
* See also: [Performance for x86/x64 Test Guide][v1_CN_Performance]
* See also: [Performance for RaspberryPi][v1_CN_RaspberryPi]
* About multiple-process performance, read [srs-dolphin][srs-dolphin].
### Play RTMP benchmark
@ -723,10 +723,7 @@ The play HTTP FLV benchmark by [SB][srs-bench]:
### Latency benchmark
The latency between encoder and player with realtime config(
[CN ](https://github.com/simple-rtmp-server/srs/wiki/v2_CN_LowLatency ),
[EN ](https://github.com/simple-rtmp-server/srs/wiki/v2_EN_LowLatency )
):
The latency between encoder and player with realtime config([CN][v2_CN_LowLatency], [EN][v2_EN_LowLatency]):
|
| Update | SRS | VP6 | H.264 | VP6+MP3 | H.264+MP3 |
@ -737,7 +734,7 @@ The latency between encoder and player with realtime config(
We use FMLE as encoder for benchmark. The latency of server is 0.1s+,
and the bottleneck is the encoder. For more information, read
[bug #257 ](https://github.com/simple-rtmp-server/srs/issues/257#issuecomment-66864413 ) .
[bug #257 ][bug #257 -c0] .
### HLS overhead
@ -865,6 +862,9 @@ Winlin
[p18]: https://github.com/simple-rtmp-server/srs/commit/960341b9b2b9646270ccfd113b4dd784d9826c73
[p19]: https://github.com/simple-rtmp-server/srs/commit/4df19ba99a4e4d80cd89b304f9298d343497bec9
[p20]: https://github.com/simple-rtmp-server/srs/commit/d12fc7fcc5b2e9e3c8ee5c7da01d0e41c8f8ca4a
[p21]: https://github.com/simple-rtmp-server/srs/commit/87519aaae835199e5adb60c0ae2c1cd24939448c
[p22]: https://github.com/simple-rtmp-server/srs/commit/5a4373d4835758188b9a1f03005cea0b6ddc62aa
[p23]: https://github.com/simple-rtmp-server/srs/pull/239
[authors]: https://github.com/simple-rtmp-server/srs/blob/develop/AUTHORS.txt
[bigthanks]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Product#bigthanks
@ -882,7 +882,10 @@ Winlin
[srs-dolphin]: https://github.com/simple-rtmp-server/srs-dolphin
[srs-bench]: https://github.com/simple-rtmp-server/srs-bench
[srs-ngb]: https://github.com/simple-rtmp-server/srs-ngb
[srs-librtmp]: https://github.com/simple-rtmp-server/srs-librtmp
[gitlab]: https://gitlab.com/winlinvip/srs-gitlab
[console]: http://ossrs.net:1985/console
[v1_CN_Git]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Git
[v1_EN_Git]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Git
[v1_CN_SampleRTMP]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SampleRTMP
@ -987,6 +990,25 @@ Winlin
[v2_EN_SampleHttpFlv]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SampleHttpFlv
[v2_CN_SampleHttpFlvCluster]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_SampleHttpFlvCluster
[v2_EN_SampleHttpFlvCluster]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_SampleHttpFlvCluster
[v2_CN_LowLatency]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_LowLatency
[v2_EN_LowLatency]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_LowLatency
[v2_EN_LowLatency#merged-read]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_LowLatency#merged-read
[v1_CN_Performance#performancereport4k]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Performance#performancereport4k
[v1_CN_DRM#tokentraverse]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_DRM#tokentraverse
[v1_CN_RaspberryPi]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_RaspberryPi
[v1_CN_SrsLibrtmp]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_SrsLibrtmp
[v1_CN_Build]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Build
[v1_CN_LowLatency]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_LowLatency
[v1_CN_HowToAskQuestion]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_HowToAskQuestion
[v1_CN_Build]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Build
[v1_CN_Performance]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Performance
[v1_CN_RaspberryPi]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_RaspberryPi
[v2_CN_LowLatency#merged-read]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_LowLatency#merged-read
[v1_CN_Product]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Product
[v1_CN_ServerSideScript]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_ServerSideScript
[v2_EN_LowLatency#merged-write]: https://github.com/simple-rtmp-server/srs/wiki/v2_EN_LowLatency#merged-write
[v1_CN_IDE]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_IDE
[v2_CN_LowLatency#merged-write]: https://github.com/simple-rtmp-server/srs/wiki/v2_CN_LowLatency#merged-write
[bug #213 ]: https://github.com/simple-rtmp-server/srs/issues/213
[bug #194 ]: https://github.com/simple-rtmp-server/srs/issues/194
@ -1003,6 +1025,163 @@ Winlin
[bug #92 ]: https://github.com/simple-rtmp-server/srs/issues/92
[bug #367 ]: https://github.com/simple-rtmp-server/srs/issues/367
[bug #471 ]: https://github.com/simple-rtmp-server/srs/issues/471
[bug #380 ]: https://github.com/simple-rtmp-server/srs/issues/380
[bug #454 ]: https://github.com/simple-rtmp-server/srs/issues/454
[bug #442 ]: https://github.com/simple-rtmp-server/srs/issues/442
[bug #169 ]: https://github.com/simple-rtmp-server/srs/issues/169
[bug #441 ]: https://github.com/simple-rtmp-server/srs/issues/441
[bug #433 ]: https://github.com/simple-rtmp-server/srs/issues/433
[bug #425 ]: https://github.com/simple-rtmp-server/srs/issues/425
[bug #424 ]: https://github.com/simple-rtmp-server/srs/issues/424
[bug #421 ]: https://github.com/simple-rtmp-server/srs/issues/421
[bug #435 ]: https://github.com/simple-rtmp-server/srs/issues/435
[bug #420 ]: https://github.com/simple-rtmp-server/srs/issues/420
[bug #209 ]: https://github.com/simple-rtmp-server/srs/issues/209
[bug #409 ]: https://github.com/simple-rtmp-server/srs/issues/409
[bug #404 ]: https://github.com/simple-rtmp-server/srs/issues/404
[bug #391 ]: https://github.com/simple-rtmp-server/srs/issues/391
[bug #397 ]: https://github.com/simple-rtmp-server/srs/issues/397
[bug #400 ]: https://github.com/simple-rtmp-server/srs/issues/400
[bug #383 ]: https://github.com/simple-rtmp-server/srs/issues/383
[bug #381 ]: https://github.com/simple-rtmp-server/srs/issues/381
[bug #375 ]: https://github.com/simple-rtmp-server/srs/issues/375
[bug #304 ]: https://github.com/simple-rtmp-server/srs/issues/304
[bug #372 ]: https://github.com/simple-rtmp-server/srs/issues/372
[bug #366 ]: https://github.com/simple-rtmp-server/srs/issues/366
[bug #351 ]: https://github.com/simple-rtmp-server/srs/issues/351
[bug #155 ]: https://github.com/simple-rtmp-server/srs/issues/155
[bug #324 ]: https://github.com/simple-rtmp-server/srs/issues/324
[bug #324 ]: https://github.com/simple-rtmp-server/srs/issues/324
[bug #328 ]: https://github.com/simple-rtmp-server/srs/issues/328
[bug #155 ]: https://github.com/simple-rtmp-server/srs/issues/155
[bug #316 ]: https://github.com/simple-rtmp-server/srs/issues/316
[bug #310 ]: https://github.com/simple-rtmp-server/srs/issues/310
[bug #322 ]: https://github.com/simple-rtmp-server/srs/issues/322
[bug #179 ]: https://github.com/simple-rtmp-server/srs/issues/179
[bug #304 ]: https://github.com/simple-rtmp-server/srs/issues/304
[bug #133 ]: https://github.com/simple-rtmp-server/srs/issues/133
[bug #304 ]: https://github.com/simple-rtmp-server/srs/issues/304
[bug #304 ]: https://github.com/simple-rtmp-server/srs/issues/304
[bug #304 ]: https://github.com/simple-rtmp-server/srs/issues/304
[bug #311 ]: https://github.com/simple-rtmp-server/srs/issues/311
[bug #310 ]: https://github.com/simple-rtmp-server/srs/issues/310
[bug #136 ]: https://github.com/simple-rtmp-server/srs/issues/136
[bug #250 ]: https://github.com/simple-rtmp-server/srs/issues/250
[bug #301 ]: https://github.com/simple-rtmp-server/srs/issues/301
[bug #301 ]: https://github.com/simple-rtmp-server/srs/issues/301
[bug #268 ]: https://github.com/simple-rtmp-server/srs/issues/268
[bug #151 ]: https://github.com/simple-rtmp-server/srs/issues/151
[bug #151 ]: https://github.com/simple-rtmp-server/srs/issues/151
[bug #293 ]: https://github.com/simple-rtmp-server/srs/issues/293
[bug #293 ]: https://github.com/simple-rtmp-server/srs/issues/293
[bug #293 ]: https://github.com/simple-rtmp-server/srs/issues/293
[bug #277 ]: https://github.com/simple-rtmp-server/srs/issues/277
[bug #277 ]: https://github.com/simple-rtmp-server/srs/issues/277
[bug #290 ]: https://github.com/simple-rtmp-server/srs/issues/290
[bug #281 ]: https://github.com/simple-rtmp-server/srs/issues/281
[bug #274 ]: https://github.com/simple-rtmp-server/srs/issues/274
[bug #179 ]: https://github.com/simple-rtmp-server/srs/issues/179
[bug #211 ]: https://github.com/simple-rtmp-server/srs/issues/211
[bug #207 ]: https://github.com/simple-rtmp-server/srs/issues/207
[bug #158 ]: https://github.com/simple-rtmp-server/srs/issues/158
[bug #216 ]: https://github.com/simple-rtmp-server/srs/issues/216
[bug #263 ]: https://github.com/simple-rtmp-server/srs/issues/263
[bug #270 ]: https://github.com/simple-rtmp-server/srs/issues/270
[bug #266 ]: https://github.com/simple-rtmp-server/srs/issues/266
[bug #267 ]: https://github.com/simple-rtmp-server/srs/issues/267
[bug #268 ]: https://github.com/simple-rtmp-server/srs/issues/268
[bug #264 ]: https://github.com/simple-rtmp-server/srs/issues/264
[bug #264 ]: https://github.com/simple-rtmp-server/srs/issues/264
[bug #257 ]: https://github.com/simple-rtmp-server/srs/issues/257
[bug #251 ]: https://github.com/simple-rtmp-server/srs/issues/251
[bug #251 ]: https://github.com/simple-rtmp-server/srs/issues/251
[bug #241 ]: https://github.com/simple-rtmp-server/srs/issues/241
[bug #241 ]: https://github.com/simple-rtmp-server/srs/issues/241
[bug #241 ]: https://github.com/simple-rtmp-server/srs/issues/241
[bug #248 ]: https://github.com/simple-rtmp-server/srs/issues/248
[bug #244 ]: https://github.com/simple-rtmp-server/srs/issues/244
[bug #237 ]: https://github.com/simple-rtmp-server/srs/issues/237
[bug #235 ]: https://github.com/simple-rtmp-server/srs/issues/235
[bug #215 ]: https://github.com/simple-rtmp-server/srs/issues/215
[bug #212 ]: https://github.com/simple-rtmp-server/srs/issues/212
[bug #217 ]: https://github.com/simple-rtmp-server/srs/issues/217
[bug #212 ]: https://github.com/simple-rtmp-server/srs/issues/212
[bug #213 ]: https://github.com/simple-rtmp-server/srs/issues/213
[bug #204 ]: https://github.com/simple-rtmp-server/srs/issues/204
[bug #203 ]: https://github.com/simple-rtmp-server/srs/issues/203
[bug #202 ]: https://github.com/simple-rtmp-server/srs/issues/202
[bug #200 ]: https://github.com/simple-rtmp-server/srs/issues/200
[bug #194 ]: https://github.com/simple-rtmp-server/srs/issues/194
[bug #194 ]: https://github.com/simple-rtmp-server/srs/issues/194
[bug #195 ]: https://github.com/simple-rtmp-server/srs/issues/195
[bug #191 ]: https://github.com/simple-rtmp-server/srs/issues/191
[bug #66 ]: https://github.com/simple-rtmp-server/srs/issues/66
[bug #185 ]: https://github.com/simple-rtmp-server/srs/issues/185
[bug #186 ]: https://github.com/simple-rtmp-server/srs/issues/186
[bug #184 ]: https://github.com/simple-rtmp-server/srs/issues/184
[bug #151 ]: https://github.com/simple-rtmp-server/srs/issues/151
[bug #162 ]: https://github.com/simple-rtmp-server/srs/issues/162
[bug #180 ]: https://github.com/simple-rtmp-server/srs/issues/180
[bug #177 ]: https://github.com/simple-rtmp-server/srs/issues/177
[bug #167 ]: https://github.com/simple-rtmp-server/srs/issues/167
[bug #150 ]: https://github.com/simple-rtmp-server/srs/issues/150
[bug #165 ]: https://github.com/simple-rtmp-server/srs/issues/165
[bug #160 ]: https://github.com/simple-rtmp-server/srs/issues/160
[bug #155 ]: https://github.com/simple-rtmp-server/srs/issues/155
[bug #148 ]: https://github.com/simple-rtmp-server/srs/issues/148
[bug #147 ]: https://github.com/simple-rtmp-server/srs/issues/147
[bug #79 ]: https://github.com/simple-rtmp-server/srs/issues/79
[bug #57 ]: https://github.com/simple-rtmp-server/srs/issues/57
[bug #85 ]: https://github.com/simple-rtmp-server/srs/issues/85
[bug #145 ]: https://github.com/simple-rtmp-server/srs/issues/145
[bug #143 ]: https://github.com/simple-rtmp-server/srs/issues/143
[bug #138 ]: https://github.com/simple-rtmp-server/srs/issues/138
[bug #142 ]: https://github.com/simple-rtmp-server/srs/issues/142
[bug #141 ]: https://github.com/simple-rtmp-server/srs/issues/141
[bug #124 ]: https://github.com/simple-rtmp-server/srs/issues/124
[bug #121 ]: https://github.com/simple-rtmp-server/srs/issues/121
[bug #119 ]: https://github.com/simple-rtmp-server/srs/issues/119
[bug #81 ]: https://github.com/simple-rtmp-server/srs/issues/81
[bug #103 ]: https://github.com/simple-rtmp-server/srs/issues/103
[bug #111 ]: https://github.com/simple-rtmp-server/srs/issues/111
[bug #110 ]: https://github.com/simple-rtmp-server/srs/issues/110
[bug #109 ]: https://github.com/simple-rtmp-server/srs/issues/109
[bug #108 ]: https://github.com/simple-rtmp-server/srs/issues/108
[bug #98 ]: https://github.com/simple-rtmp-server/srs/issues/98
[bug #87 ]: https://github.com/simple-rtmp-server/srs/issues/87
[bug #84 ]: https://github.com/simple-rtmp-server/srs/issues/84
[bug #89 ]: https://github.com/simple-rtmp-server/srs/issues/89
[bug #76 ]: https://github.com/simple-rtmp-server/srs/issues/76
[bug #78 ]: https://github.com/simple-rtmp-server/srs/issues/78
[bug #74 ]: https://github.com/simple-rtmp-server/srs/issues/74
[bug #72 ]: https://github.com/simple-rtmp-server/srs/issues/72
[bug #67 ]: https://github.com/simple-rtmp-server/srs/issues/67
[bug #64 ]: https://github.com/simple-rtmp-server/srs/issues/64
[bug #36 ]: https://github.com/simple-rtmp-server/srs/issues/36
[bug #60 ]: https://github.com/simple-rtmp-server/srs/issues/60
[bug #59 ]: https://github.com/simple-rtmp-server/srs/issues/59
[bug #50 ]: https://github.com/simple-rtmp-server/srs/issues/50
[bug #34 ]: https://github.com/simple-rtmp-server/srs/issues/34
[bug #257 -c0]: https://github.com/simple-rtmp-server/srs/issues/257#issuecomment-66864413
[bug #110 ]: https://github.com/simple-rtmp-server/srs/issues/110
[bug #109 ]: https://github.com/simple-rtmp-server/srs/issues/109
[bug #108 ]: https://github.com/simple-rtmp-server/srs/issues/108
[bug #104 ]: https://github.com/simple-rtmp-server/srs/issues/104
[bug #98 ]: https://github.com/simple-rtmp-server/srs/issues/98
[bug #87 ]: https://github.com/simple-rtmp-server/srs/issues/87
[bug #84 ]: https://github.com/simple-rtmp-server/srs/issues/84
[bug #89 ]: https://github.com/simple-rtmp-server/srs/issues/89
[bug #76 ]: https://github.com/simple-rtmp-server/srs/issues/76
[bug #78 ]: https://github.com/simple-rtmp-server/srs/issues/78
[bug #74 ]: https://github.com/simple-rtmp-server/srs/issues/74
[bug #72 ]: https://github.com/simple-rtmp-server/srs/issues/72
[bug #67 ]: https://github.com/simple-rtmp-server/srs/issues/67
[bug #64 ]: https://github.com/simple-rtmp-server/srs/issues/64
[bug #36 ]: https://github.com/simple-rtmp-server/srs/issues/36
[bug #60 ]: https://github.com/simple-rtmp-server/srs/issues/60
[bug #59 ]: https://github.com/simple-rtmp-server/srs/issues/59
[bug #50 ]: https://github.com/simple-rtmp-server/srs/issues/50
[bug #34 ]: https://github.com/simple-rtmp-server/srs/issues/34
[r2.0a0]: https://github.com/simple-rtmp-server/srs/releases/tag/2.0a0
[r1.0r4]: https://github.com/simple-rtmp-server/srs/releases/tag/1.0r4
@ -1033,6 +1212,7 @@ Winlin
[more0]: http://winlinvip.github.io/srs.release/releases/
[more1]: http://www.ossrs.net/srs.release/releases/
[branch1]: https://github.com/simple-rtmp-server/srs/tree/1.0release
[branch2]: https://github.com/simple-rtmp-server/srs/tree/2.0release
[release2]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Product#release20
[release3]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Product#release30