simple-rtmp-server
simple rtmp origin live server over state-threads, which can be used as origin server, or rtmp-server for encoder.
srs is a simple, high-performance, running in single process, origin live server, with single vhost(like FMS __defaultVhost__).
blog: http://blog.csdn.net/win_lin
see also: https://github.com/winlinvip/simple-rtmp-server
see also: http://winlinvip.github.io/simple-rtmp-server
Usage
step 1: build srs
tar xf srs.*.*.tar.gz cd srs.*.* ./configure make ./objs/simple_rtmp_server 1935
step 2: publish live stream
FMS URL: rtmp://127.0.0.1:1935/live Stream: livestream
step 3: play live stream
url: rtmp://127.0.0.1:1935/live/livestream
Summary
- simple: also stable enough.
- high-performance: single-thread, async socket, event/st-thread driven.
- no edge server, origin server only.
- no vod streaming, live streaming only.
- no vhost, __defaultVhost__ only.
- no multiple processes, single process only.
Releases
- 2013-10-25, release v0.2, support flash publish, h264 codec, time jitter correct. 10125 lines.
- 2013-10-23, release v0.1, support FMLE/FFMPEG publish, vp6 codec live streaming. 8287 lines.
- 2013-10-17, created.
Compare
- srs v0.2: 10125 lines.
- srs v0.1: 8287 lines.
- nginx-rtmp v1.0.4: 26786 lines
- nginx v1.5.0: 139524 lines
History
- v0.3, 2013-11-02, support listen multiple ports.
- v0.3, 2013-11-02, support config file in nginx-conf style.
- v0.3, 2013-10-29, support pithy print log message specified by stage.
- v0.3, 2013-10-28, support librtmp without extended-timestamp in 0xCX chunk packet.
- v0.3, 2013-10-27, support cache last gop for client fast startup.
- v0.2, 2013-10-25, v0.2 released. 10125 lines.
- v0.2, 2013-10-25, support flash publish.
- v0.2, 2013-10-25, support h264/avc codec by rtmp complex handshake(SrsComplexHandshake).
- v0.2, 2013-10-24, support time jitter detect and correct algorithm(SrsConsumer::jitter_correct).
- v0.2, 2013-10-24, support decode codec type(SrsCodec) to cache the h264/avc sequence header.
- v0.1, 2013-10-23, v0.1 released. 8287 lines.
- v0.1, 2013-10-23, support basic amf0 codec, simplify the api using c-style api.
- v0.1, 2013-10-23, support shared ptr msg(SrsSharedPtrMessage) for zero memory copy.
- v0.1, 2013-10-22, support vp6 codec with rtmp protocol specified simple handshake.
- v0.1, 2013-10-20, support multiple flash client play live streaming.
- v0.1, 2013-10-20, support FMLE/FFMPEG publish live streaming.
- v0.1, 2013-10-18, support rtmp message2chunk protocol(send_message).
- v0.1, 2013-10-17, support rtmp chunk2message protocol(recv_message).
Winlin