Simple-RTMP-Server
SRS/2.0, [ZhouGuowen][release2]
SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。
SRS is an industrial-strength live streaming cluster, with the best conceptual integrity and the simplest implementation.
Download from github.io: [Centos6-x86_64][centos0], [more...][more0]
Download from ossrs.net: [Centos6-x86_64][centos1], [more...][more1]
Website for SRS/2.0, read SRS 2.0 [Chinese][srs_CN] or [English][srs_EN].
Why SRS?
We completely rewrote HLS following m3u8/ts spec, and HLS support h.264+aac/mp3.
Highly efficient RTMP streaming, supporting 7k+ clients concurrency, vhost based, both origin and edge.
Embedded simplified media HTTP server for HLS, api and HTTP flv/ts/mp3/aac streaming.
Variety input: RTMP, pull by ingest file or stream(HTTP/RTMP/RTSP), push by stream caster
RTSP/MPEGTS-over-UDP.
Popular internet delivery: RTMP/HDS for flash, HLS for mobile(IOS/IPad/MAC/Android), HTTP
flv/ts/mp3/aac streaming for user prefered.
Enhanced DVR and hstrs: segment/session/append plan, customer path and HTTP callback.
the hstrs(http stream trigger rtmp source) enable the http-flv stream standby util encoder
start publish, similar to rtmp, which will trigger edge to fetch from origin.
Multiple feature: transcode, forward, ingest, http hooks, dvr, hls, rtsp, http streaming,
http api, refer, log, bandwith test and srs-librtmp.
Best maintainess: simple arch over state-threads(coroutine), single thread, single process
and for linux/osx platform, common server x86-64/i386/arm/mips cpus, rich comments, strictly
follows RTMP/HLS/RTSP spec.
Easy to use: both English and Chinese wiki, typically config files in trunk/conf, traceable
and session based log, linux service script and install script.
MIT license, open source with product management and evolution.
Enjoy it!
About
SRS(Simple RTMP Server) over state-threads created on 2013.10.
SRS delivers rtmp/hls/http/hds live on x86/x64/arm/mips linux/osx,
supports origin/edge/vhost and transcode/ingest and dvr/forward
and http-api/http-callback/reload, introduces tracable
session-oriented log, exports client srs-librtmp,
with stream caster to push MPEGTS-over-UDP/RTSP to SRS,
provides EN/CN wiki and the most simple architecture.
AUTHORS
There are two types of people that have contributed to the SRS project:
AUTHORS: Contribute important features. Names of all
PRIMARY response in NetConnection.connect and metadata.
CONTRIBUTORS: Submit patches, report bugs, add translations, help answer
newbie questions, and generally make SRS that much better.
About all PRIMARY, AUTHORS and CONTRIBUTORS, read [AUTHORS.txt][authors].
A big THANK YOU goes to:
All friends of SRS for [big supports][bigthanks].
Genes amd Mabbott for creating [st]st .
Michael Talyanksy for introducing us to use st.
Roman Arutyunyan for creating [nginx-rtmp][nginx-rtmp] for SRS to refer to.
Joyent for creating [http-parser][http-parser] for http-api for SRS.
Igor Sysoev for creating [nginx][nginx] for SRS to refer to.
[FFMPEG][FFMPEG] and [libx264][libx264] group for SRS to use to transcode.
Guido van Rossum for creating Python for api-server for SRS.
Mirrors
Github: [https://github.com/ossrs/srs][srs ], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git])
git clone https://github.com/ossrs/srs.git
Copy
OSChina: [http://git.oschina.net/winlinvip/srs.oschina][oschina ], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git])
git clone https://git.oschina.net/winlinvip/srs.oschina.git
Copy
Gitlab: [https://gitlab.com/winlinvip/srs-gitlab][gitlab ], the GIT usage([CN][v1_CN_Git], [EN][v1_EN_Git])
git clone https://gitlab.com/winlinvip/srs-gitlab.git
Copy
Usage
Step 1: get SRS
git clone https://github.com/ossrs/srs &&
cd srs/trunk
Copy
Step 2: build SRS,
Requires Centos6.x/Ubuntu12 32/64bits, for others OS recommend [docker][docker], see Build([CN][v2_CN_Build],[EN][v2_EN_Build]).
Step 3: start SRS
./objs/srs -c conf/srs.conf
Copy
See also:
Usage: How to delivery RTMP?([CN][v1_CN_SampleRTMP], [EN][v1_EN_SampleRTMP])
Usage: How to delivery RTMP Cluster?([CN][v1_CN_SampleRTMPCluster], [EN][v1_EN_SampleRTMPCluster])
Usage: How to delivery HTTP FLV Live Streaming?([CN][v2_CN_SampleHttpFlv], [EN][v2_EN_SampleHttpFlv])
Usage: How to delivery HTTP FLV Live Streaming Cluster?([CN][v2_CN_SampleHttpFlvCluster], [EN][v2_EN_SampleHttpFlvCluster])
Usage: How to delivery HLS?([CN][v2_CN_SampleHLS], [EN][v2_EN_SampleHLS])
Usage: How to delivery HLS for other codec?([CN][v2_CN_SampleTranscode2HLS], [EN][v2_EN_SampleTranscode2HLS])
Usage: How to transode RTMP stream by SRS?([CN][v2_CN_SampleFFMPEG], [EN][v2_EN_SampleFFMPEG])
Usage: How to forward stream to other server?([CN][v1_CN_SampleForward], [EN][v1_EN_SampleForward])
Usage: How to deploy low lantency application?([CN][v2_CN_SampleRealtime], [EN][v2_EN_SampleRealtime])
Usage: How to deploy SRS on ARM?([CN][v1_CN_SampleARM], [EN][v1_EN_SampleARM])
Usage: How to ingest file/stream/device to SRS?([CN][v1_CN_SampleIngest], [EN][v1_EN_SampleIngest])
Usage: How to use SRS-HTTP-server to delivery HTTP/HLS stream?([CN][v2_CN_SampleHTTP], [EN][v2_EN_SampleHTTP])
Usage: How to show the demo of ([CN][v1_CN_SampleDemo], [EN][v1_EN_SampleDemo])
Usage: How to publish h.264 raw stream to [CN][v2_CN_SrsLibrtmp2], [EN][v2_EN_SrsLibrtmp2])
Usage: Solution using SRS?([CN][v1_CN_Sample], [EN][v1_EN_Sample])
Usage: Why SRS?([CN][v1_CN_Product], [EN][v1_EN_Product])
Wiki
SRS 1.0 wiki
Please select your language:
[SRS 1.0 English][v1_EN_Home]
[SRS 1.0 Chinese][v1_CN_Home]
SRS 2.0 wiki
Please select your language:
[SRS 2.0 English][v2_EN_Home]
[SRS 2.0 Chinese][v2_CN_Home]
System Requirements
Supported operating systems and hardware:
All Linux , both 32 and 64 bits
Apple OSX(Darwin), both 32 and 64bits.
All hardware with x86/x86_64/arm/mips cpu.
Features
Simple, also stable enough.
High-performance([CN][v1_CN_Performance], [EN][v1_EN_Performance]): single-thread, async socket, event/st-thread driven.
High-concurrency([CN][v1_CN_Performance], [EN][v1_EN_Performance]), 6000+ connections(500kbps), 900Mbps, CPU 90.2%, 41MB
Support RTMP Origin Server([CN][v1_CN_DeliveryRTMP],[EN][v1_EN_DeliveryRTMP])
Support RTMP Edge Server([CN][v2_CN_Edge], [EN][v2_EN_Edge]) for CDN, push/pull stream from any RTMP server
Support single process; no multiple processes.
Support Vhost([CN][v1_CN_RtmpUrlVhost], [EN][v1_EN_RtmpUrlVhost]), support __defaultVhost__.
Support RTMP([CN][v1_CN_DeliveryRTMP], [EN][v1_EN_DeliveryRTMP]) live streaming; no vod streaming.
Support Apple HLS(m3u8)([CN][v2_CN_DeliveryHLS], [EN][v2_EN_DeliveryHLS]) live streaming.
Support HLS audio-only([CN][v2_CN_DeliveryHLS2], [EN][v2_EN_DeliveryHLS2]) live streaming.
Support Reload([CN][v1_CN_Reload], [EN][v1_EN_Reload]) config to enable changes.
Support cache last gop([CN][v2_CN_LowLatency2], [EN][v2_EN_LowLatency2]) for flash player to fast startup.
Support listen at multiple ports.
Support long time(>4.6hours) publish/play.
Support Forward([CN][v1_CN_Forward], [EN][v1_EN_Forward]) in master-slave mode.
Support live stream Transcoding([CN][v2_CN_FFMPEG], [EN][v2_EN_FFMPEG]) by ffmpeg.
Support ffmpeg([CN][v2_CN_FFMPEG], [EN][v2_EN_FFMPEG]) filters(logo/overlay/crop), x264 params, copy/vn/an.
Support audio transcode([CN][v2_CN_FFMPEG], [EN][v2_EN_FFMPEG]) only, speex/mp3 to aac
Support http callback api hooks([CN][v2_CN_HTTPCallback], [EN][v2_EN_HTTPCallback])(for authentication and injection).
Support bandwidth test([CN][v1_CN_BandwidthTestTool], [EN][v1_EN_BandwidthTestTool]) api and flash client.
Player, publisher(encoder), and demo pages(jquery+bootstrap)([CN][v1_CN_SampleDemo],[EN][v1_EN_SampleDemo]).
Demo([CN][v1_CN_SampleDemo], [EN][v1_EN_SampleDemo]) video meeting or chat(SRS+cherrypy+jquery+bootstrap).
Full documents in wiki([CN][v2_CN_Home], [EN][v2_EN_Home]), both Chinese and English.
Support RTMP(play-publish) library: srs-librtmp([CN][v2_CN_SrsLibrtmp], [EN][v2_EN_SrsLibrtmp])
Support ARM cpu arch([CN][v1_CN_SrsLinuxArm], [EN][v1_EN_SrsLinuxArm]) with rtmp/ssl/hls/librtmp.
Support init.d([CN][v1_CN_LinuxService], [EN][v1_EN_LinuxService]) and packge script, log to file.
Support RTMP ATC([CN][v1_CN_RTMP-ATC], [EN][v1_EN_RTMP-ATC]) for HLS/HDS to support backup(failover)
Support HTTP RESTful management api([CN][v2_CN_HTTPApi], [EN][v2_EN_HTTPApi]).
Support Ingest([CN][v1_CN_Ingest], [EN][v1_EN_Ingest]) FILE/HTTP/RTMP/RTSP(RTP, SDP) to RTMP using external tools(e.g ffmepg).
Support DVR([CN][v2_CN_DVR], [EN][v2_EN_DVR]), record live to flv file for vod.
Support tracable log, session based log([CN][v1_CN_SrsLog], [EN][v1_EN_SrsLog]).
Support DRM token traverse([CN][v1_CN_DRM2], [EN][v1_EN_DRM2]) for fms origin authenticate.
Support system full utest on gtest.
Support embeded HTTP server([CN][v2_CN_SampleHTTP], [EN][v2_EN_SampleHTTP]) for hls(live/vod)
Support vod stream(http flv/hls vod stream)([CN][v2_CN_FlvVodStream], [EN][v2_EN_FlvVodStream]).
Stable [1.0release branch][branch1].
Support publish h264 raw stream([CN][v2_CN_SrsLibrtmp2], [EN][v2_EN_SrsLibrtmp2]) by srs-librtmp.
Support [6k+ clients][bug #194], 3Gbps per process.
Suppport [English wiki][v2_EN_Home].
Research and simplify st, [bug #182][bug #182].
Support compile [srs-librtmp on windows][srs-librtmp], [bug #213][bug #213].
Support [10k+ clients][bug #251], 4Gbps per process.
Support publish aac adts raw stream([CN][v2_CN_SrsLibrtmp3], [EN][v2_EN_SrsLibrtmp3]) by srs-librtmp.
Support 0.1s+ latency, read [bug #257][bug #257].
Support allow/deny publish/play for all or specified ip([CN][v2_CN_Security], [EN][v2_EN_Security]).
Support custom dvr path and http callback, read [bug #179][bug #179] and [bug #274][bug #274].
Support rtmp remux to http flv/mp3/aac/ts live stream, read [bug #293][bug #293]([CN][v2_CN_DeliveryHttpStream], [EN][v2_CN_DeliveryHttpStream]).
Support HLS(h.264+mp3) streaming, read [bug #301][bug #301].
Rewrite HLS(h.264+aac/mp3) streaming, read [bug #304][bug #304].
[dev] Realease [2.0release branch][branch2].
[experiment] Support Adobe HDS(f4m)([CN][v2_CN_DeliveryHDS], [EN][v2_EN_DeliveryHDS]) dynamic streaming.
[experiment] Support push MPEG-TS over UDP to SRS, read [bug #250][bug #250].
[experiment] Support push RTSP to SRS, read [bug #133][bug #133].
[experiment] Support push flv stream over HTTP POST to SRS, read [wiki]([CN][v2_CN_Streamer2], [EN][v2_EN_Streamer2]).
[experiment] Support [srs-dolphin][srs-dolphin], the multiple-process SRS.
[experiment] Support [remote console][console], read [srs-ngb][srs-ngb].
Compare
Compare SRS with other media server.
Stream Delivery
Feature SRS NGINX CRTMPD FMS WOWZA RTMP Stable Stable Stable Stable Stable HLS Stable Stable X Stable Stable HDS Experiment X X Stable Stable HTTP FLV Stable X X X X HLS(aonly) Stable X X Stable Stable HTTP Server Stable Stable X X Stable
Cluster
Feature SRS NGINX CRTMPD FMS WOWZA RTMP Edge Stable X X Stable X RTMP Backup Stable X X X X VHOST Stable X X Stable Stable Reload Stable X X X X Forward Stable X X X X ATC Stable X X X X
Stream Service
Feature SRS NGINX CRTMPD FMS WOWZA DVR Stable Stable X X Stable Transcode Stable X X X Stable HTTP API Stable Stable X X Stable HTTP hooks Stable X X X X GopCache Stable X X Stable X Security Stable Stable X X Stable Token Traverse Stable X X Stable X
Efficiency
Feature SRS NGINX CRTMPD FMS WOWZA Concurrency 7.5k 3k 2k 2k 3k MultipleProcess Experiment Stable X X X RTMP Latency 0.1s 3s 3s 3s 3s HLS Latency 10s 30s X 30s 30s
Stream Caster
Feature SRS NGINX CRTMPD FMS WOWZA Ingest Stable X X X X Push MPEGTS Experiment X X X Stable Push RTSP Experiment X Stable X Stable Push HTTP FLV Experiment X X X X
Debug System
Feature SRS NGINX CRTMPD FMS WOWZA BW check Stable X X X X Tracable Log Stable X X X X
Docs
Feature SRS NGINX CRTMPD FMS WOWZA Demos Stable X X X X WIKI(EN+CN) Stable EN only X X Stable
Others
Feature SRS NGINX CRTMPD FMS WOWZA ARM/MIPS Stable Stable X X X Client Library Stable X X X X
Remark:
Concurrency: The concurrency of single process.
MultipleProcess: SRS is single process, while [srs-dolphin][srs-dolphin] is a MultipleProcess SRS.
HLS aonly: The HLS audio only streaming delivery.
BW check: The bandwidth check.
Security: To allow or deny stream publish or play.
Reload: Nginx supports reload, but not nginx-rtmp.
Releases
2018-10-28, [Release v2.0-r6][r2.0r6], 2.0 release5, 2.0.263, 86994 lines.
2018-10-28, [Release v2.0-r5][r2.0r5], 2.0 release5, 2.0.258, 86916 lines.
2018-08-12, [Release v2.0-r4][r2.0r4], 2.0 release4, 2.0.255, 86915 lines.
2018-07-18, [Release v2.0-r3][r2.0r3], 2.0 release3, 2.0.248, 86775 lines.
2017-06-10, [Release v2.0-r2][r2.0r2], 2.0 release2, 2.0.243, 86670 lines.
2017-04-18, [Release v2.0-r1][r2.0r1], 2.0 release1, 2.0.239, 86515 lines.
2017-03-03, [Release v2.0-r0][r2.0r0], 2.0 release0, 2.0.234, 86373 lines.
2017-01-18, [Release v2.0-b4][r2.0b4], 2.0 beta4, 2.0.230, 86334 lines.
2016-11-13, [Release v2.0-b3][r2.0b3], 2.0 beta3, 2.0.223, 86685 lines.
2016-11-09, [Release v2.0-b2][r2.0b2], 2.0 beta2, 2.0.221, 86691 lines.
2016-09-09, [Release v2.0-b1][r2.0b1], 2.0 beta1, 2.0.215, 89941 lines.
2016-08-06, [Release v2.0-b0][r2.0b0], 2.0 beta0, 2.0.210, 89704 lines.
2015-12-23, [Release v2.0-a3][r2.0a3], 2.0 alpha3, 2.0.205, 89544 lines.
2015-10-08, [Release v2.0-a2][r2.0a2], 2.0 alpha2, 2.0.195, 89358 lines.
2015-09-14, [Release v2.0-a1][r2.0a1], 2.0 alpha1, 2.0.189, 89269 lines.
2015-08-23, [Release v2.0-a0][r2.0a0], 2.0 alpha0, 2.0.185, 89022 lines.
2015-05-23, [Release v1.0-r4][r1.0r4], bug fixed, 1.0.32, 59509 lines.
2015-03-19, [Release v1.0-r3][r1.0r3], bug fixed, 1.0.30, 59511 lines.
2015-02-12, [Release v1.0-r2][r1.0r2], bug fixed, 1.0.27, 59507 lines.
2015-01-15, [Release v1.0-r1][r1.0r1], bug fixed, 1.0.21, 59472 lines.
2014-12-05, [Release v1.0-r0][r1.0r0], all bug fixed, 1.0.10, 59391 lines.
2014-10-09, [Release v0.9.8][r1.0b0], all bug fixed, 1.0.0, 59316 lines.
2014-08-03, [Release v0.9.7][r1.0a7], config utest, all bug fixed. 57432 lines.
2014-07-13, [Release v0.9.6][r1.0a6], core/kernel/rtmp utest, refine bandwidth(as/js/srslibrtmp library). 50029 lines.
2014-06-27, [Release v0.9.5][r1.0a5], refine perf 3k+ clients, edge token traverse, srs monitor , 30days online. 41573 lines.
2014-05-28, [Release v0.9.4][r1.0a4], support heartbeat, tracable log, fix mem leak and bugs. 39200 lines.
2014-05-18, [Release v0.9.3][r1.0a3], support mips, fms origin, json(http-api). 37594 lines.
2014-04-28, [Release v0.9.2][r1.0a2], support [dvr][v2_CN_DVR], android, [edge][v2_CN_Edge]. 35255 lines.
2014-04-07, [Release v0.9.1][r1.0a0], support [arm][v1_CN_SrsLinuxArm], [init.d][v1_CN_LinuxService], http [server][v2_CN_HTTPServer]/[api][v2_CN_HTTPApi], [ingest][v1_CN_SampleIngest]. 30000 lines.
2013-12-25, [Release v0.9.0][r0.9], support bandwidth test, player/encoder/chat [demos][v1_CN_SampleDemo]. 20926 lines.
2013-12-08, [Release v0.8.0][r0.8], support [http hooks callback][v2_CN_HTTPCallback], update [SB][srs-bench]. 19186 lines.
2013-12-03, [Release v0.7.0][r0.7], support [live stream transcoding][v2_CN_FFMPEG]. 17605 lines.
2013-11-29, [Release v0.6.0][r0.6], support [forward][v1_CN_Forward] stream to origin/edge. 16094 lines.
2013-11-26, [Release v0.5.0][r0.5], support [HLS(m3u8)][v2_CN_DeliveryHLS], fragment and window. 14449 lines.
2013-11-10, [Release v0.4.0][r0.4], support [reload][v1_CN_Reload] config, pause, longtime publish/play. 12500 lines.
2013-11-04, [Release v0.3.0][r0.3], support [vhost][v1_CN_RtmpUrlVhost], refer, gop cache, listen multiple ports. 11773 lines.
2013-10-25, [Release v0.2.0][r0.2], support [rtmp][v1_CN_RTMPHandshake] flash publish, h264, time jitter correct. 10125 lines.
2013-10-23, [Release v0.1.0][r0.1], support [rtmp FMLE/FFMPEG publish][v1_CN_DeliveryRTMP], vp6. 8287 lines.
2013-10-17, Created.
History
v2.0, 2019-04-05, [2.0 release5(2.0.263)][r2.0r6] released. 86994 lines.
v2.0, 2019-04-05, Merge [#1312][bug #1312], Fix GCC7 build error, this statement may fall through. 2.0.263
v2.0, 2019-04-05, Merge [#1339][bug #1339], Support HTTP-FLV params. 2.0.262
v2.0, 2018-12-01, Merge [#1274][bug #1274], Upgrade to FFMPEG 4.1 and X264 157. 2.0.261
v2.0, 2018-11-11, Merge [#1261][bug #1261], Support _definst_ for Wowza. 2.0.260
v2.0, 2018-11-11, Merge [#1263][bug #1263], Fix string trim bug. 2.0.259
v2.0, 2018-10-28, [2.0 release5(2.0.258)][r2.0r5] released. 86916 lines.
v2.0, 2018-10-28, Fix [#1250][bug #1250], Support build on OSX10.14 Mojave. 2.0.258
v2.0, 2018-10-08, Merge [#1236][bug #1236], Fix sleep bug in us. 2.0.257
v2.0, 2018-10-08, Merge [#1237][bug #1237], Support param for transcoder. 2.0.256
v2.0, 2018-08-12, [2.0 release4(2.0.255)][r2.0r4] released. 86915 lines.
v2.0, 2018-08-12, For [#1202][bug #1202], Support edge/forward to Aliyun CDN. 2.0.255
v2.0, 2018-08-11, For [#910][bug #910], Support HTTP FLV with HTTP callback. 2.0.254
v2.0, 2018-08-11, For [#1110][bug #1110], Refine params in http callback. 2.0.253
v2.0, 2018-08-05, Refine HTTP-FLV latency, support realtime mode. 2.0.252
v2.0, 2018-08-04, For [#1110][bug #1110], Support params in http callback. 2.0.251
v2.0, 2018-08-02, For [#1031][bug #1031], SRS edge support douyu.com. 2.0.250
v2.0, 2018-07-21, Merge [#1119][bug #1119], fix memory leak. 2.0.249
v2.0, 2018-07-18, [2.0 release3(2.0.248)][r2.0r3] released. 86775 lines.
v2.0, 2018-07-17, Merge [#1176][bug #1176], fix scaned issues. 2.0.248
v2.0, 2018-02-28, Merge [#1077][bug #1077], fix crash for edge HLS. 2.0.247
v2.0, 2018-02-13, Fix [#1059][bug #1059], support vhost in stream parameters. 2.0.246
v2.0, 2018-01-07, Merge [#1045][bug #1045], fix [#1044][bug #1044], TCP connection alive detection. 2.0.245
v2.0, 2018-01-04, Merge [#1039][bug #1039], fix bug of init.d script.
v2.0, 2018-01-01, Merge [#1033][bug #1033], allow user to add some specific flags. 2.0.244
v2.0, 2017-06-10, [2.0 release2(2.0.243)][r2.0r2] released. 86670 lines.
v2.0, 2017-05-29, Merge [#899][bug #899] to fix [#893][bug #893], ts PES ext length. 2.0.243
v2.0, 2017-05-01, Fix [#865][bug #865], shouldn't remove ts/m3u8 when hls_dispose disabled. 2.0.242
v2.0, 2017-04-30, Fix [#636][bug #636], FD leak for requesting empty HTTP stream. 2.0.241
v2.0, 2017-04-23, Fix [#851][bug #851], HTTP API support number of video frames for FPS. 2.0.240
v2.0, 2017-04-18, [2.0 release1(2.0.239)][r2.0r1] released. 86515 lines.
v2.0, 2017-04-18, Fix [#848][bug #848], crash at HTTP fast buffer grow. 2.0.239
v2.0, 2017-04-15, Fix [#844][bug #844], support Haivision encoder. 2.0.238
v2.0, 2017-04-15, Merge [#846][bug #846], fix fd leak for FLV stream caster. 2.0.237
v2.0, 2017-04-15, Merge [#841][bug #841], avoid the duplicated sps/pps in ts. 2.0.236
v2.0, 2017-04-09, Fix [#834][bug #834], crash for TS context corrupt. 2.0.235
v2.0, 2017-03-03, [2.0 release0(2.0.234)][r2.0r0] released. 86373 lines.
v2.0, 2017-02-25, for [#730][bug #730], remove the test code. 2.0.234
v2.0, 2017-02-09, fix [#503][bug #503] disable utilities when reload a source. 2.0.233
v2.0, 2017-01-22, for [#752][bug #752] release the io then free it for kbps. 2.0.232
v2.0, 2017-01-18, fix [#750][bug #750] use specific error code for dns resolve. 2.0.231
v2.0, 2017-01-18, [2.0 beta4(2.0.230)][r2.0b4] released. 86334 lines.
v2.0, 2017-01-18, fix [#749][bug #749], timestamp overflow for ATC. 2.0.230
v2.0, 2017-01-11, fix [#740][bug #740], convert ts aac audio private stream 1 to common. 2.0.229
v2.0, 2017-01-11, fix [#588][bug #588], kbps interface error. 2.0.228
v2.0, 2017-01-11, fix [#736][bug #736], recovery the hls dispose. 2.0.227
v2.0, 2017-01-10, refine hls html5 video template.
v2.0, 2017-01-10, fix [#635][bug #635], hls support NonIDR(open gop). 2.0.226
v2.0, 2017-01-06, for [#730][bug #730], reset ack follow flash player rules. 2.0.225
v2.0, 2016-12-15, for [#513][bug #513], remove hls ram from srs2 to srs3+. 2.0.224
v2.0, 2016-12-13, [2.0 beta3(2.0.223)][r2.0b3] released. 86685 lines.
v2.0, 2016-12-13, fix [#713][bug #713], disable the source cleanup. 2.0.223
v2.0, 2016-12-13, fix [#713][bug #713], refine source to avoid critical fetch and create. 2.0.222
v2.0, 2016-11-09, [2.0 beta2(2.0.221)][r2.0b2] released. 86691 lines.
v2.0, 2016-11-05, fix [#654][bug #654], crash when source cleanup for edge. 2.0.221
v2.0, 2016-10-26, fix [#666][bug #666], crash when source cleanup for http-flv. 2.0.220
v2.0, 2016-10-10, fix [#661][bug #661], close fd after thread stopped. 2.0.219
v2.0, 2016-09-23, support asprocess for oryx. 2.0.218
v2.0, 2016-09-23, support change work_dir for oryx.
v2.0, 2016-09-15, fix [#640][bug #640], typo for rtmp type. 2.0.217
v2.0, 2016-09-12, fix fast stream error bug. 2.0.216
v2.0, 2016-09-09, [2.0 beta1(2.0.215)][r2.0b1] released. 89941 lines.
v2.0, 2016-09-09, refine librtmp comments about NALUs. 2.0.215
v2.0, 2016-09-05, fix memory leak at source. 2.0.214
v2.0, 2016-09-05, fix memory leak at handshake. 2.0.213
v2.0, 2016-09-04, support valgrind for [patched st](https://github.com/ossrs/state-th