SRS(Simple Realtime Server)
SRS/6.0 is a simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT/MPEG-DASH/GB28181, Linux/Windows/macOS, X86_64/ARMv7/AARCH64/M1/RISCV/LOONGARCH/MIPS, and essential features.
Note: The single node architecture for SRS, for detail please see here.
SRS is licenced under MIT or MulanPSL-2.0, and note that MulanPSL-2.0 is compatible with Apache-2.0, but some third-party libraries are distributed using their own licenses.
Usage
Please read guide Getting Started or 中文文档:起步.
To build SRS from source:
git clone -b develop https://gitee.com/ossrs/srs.git &&
cd srs/trunk && ./configure && make && ./objs/srs -c conf/srs.conf
Open http://localhost:8080/ to check it, then publish by FFmpeg or OBS as:
ffmpeg -re -i ./doc/source.flv -c copy -f flv -y rtmp://localhost/live/livestream
Play the following streams by players:
- RTMP (by VLC): rtmp://localhost/live/livestream
- H5(HTTP-FLV): http://localhost:8080/live/livestream.flv
- H5(HLS): http://localhost:8080/live/livestream.m3u8
Note that if convert RTMP to WebRTC, please use rtmp2rtc.conf
:
- H5(WebRTC): webrtc://localhost/live/livestream
Note: Besides of FFmpeg or OBS, it's also able to publish by H5 if WebRTC(CN, EN) is enabled, please remember to set the CANDIDATE(CN or EN) for WebRTC.
Highly recommend that directly run SRS by docker(CN / EN), Cloud Virtual Machine(CN / EN), or K8s(CN / EN), however it's also easy to build SRS from source code, for detail please see Getting Started(CN / EN).
Note: If need HTTPS, by which WebRTC and modern browsers require, please read HTTPS API(CN / EN) and HTTPS Callback(CN / EN) and HTTPS Live Streaming(CN / EN), however HTTPS proxy also works perfect with SRS such as Nginx.
- How to deliver RTMP streaming?(CN, EN)
- How to deliver WebRTC streaming? (CN, EN)
- How to covert RTMP to HTTP-FLV streaming?(CN, EN)
- How to covert RTMP to HLS streaming?(CN, EN)
- How to deliver low-latency streaming?(CN, EN)
- How to build RTMP Edge-Cluster?(CN, EN)
- How to build RTMP Origin-Cluster?(CN, EN)
- How to build HLS Edge-Cluster?(CN, EN)
Other important wiki:
- Usage: How to deliver DASH(Experimental)?(CN, EN)
- Usage: How to transode RTMP stream by FFMPEG?(CN, EN)
- Usage: How to deliver HTTP FLV Live Streaming Cluster?(CN, EN)
- Usage: How to deliver HLS by NGINX Cluster?(CN, EN)
- Usage: How to ingest file/stream/device to RTMP?(CN, EN)
- Usage: How to forward stream to other servers?(CN, EN)
- Usage: How to improve edge performance for multiple CPUs? (CN, EN)
- Usage: How to file a bug or contact us? (CN, EN)
AUTHORS
Thank you to all our contributors! 🙏
Note: You may provide financial support for this project by donating via Open Collective. Thank you for your support!
The TOC(Technical Oversight Committee), Developers and contributors:
- Winlin: Focus on ST and Issues/PR.
- ZhaoWenjie: Focus on HDS and Windows.
- ShiWei: Focus on SRT and H.265.
- XiaoZhihong: Focus on WebRTC/QUIC and SRT.
- WuPengqiang: Focus on H.265.
- XiaLixin: Focus on GB28181.
- LiPeng: Focus on WebRTC.
- ChenGuanghua: Focus on WebRTC/QoS.
- ChenHaibo: Focus on GB28181 and API.
A big THANK YOU
also goes to:
- All contributors of SRS.
- All friends of SRS for big supports.
- Genes, Mabbott and Michael Talyanksy for creating and introducing st.
Contributing
We are grateful to the community for contributing bugfix and improvements, please follow the guide.
LICENSE
SRS is licenced under MIT or MulanPSL-2.0, and note that MulanPSL-2.0 is compatible with Apache-2.0, but some third-party libraries are distributed using their own licenses.
Releases
- 2022-12-18, Release v5.0-a2, v5.0-a2, 5.0 alpha2, v5.0.112, 161233 lines.
- 2022-12-01, Release v5.0-a1, v5.0-a1, 5.0 alpha1, v5.0.100, 160817 lines.
- 2022-11-25, Release v5.0-a0, v5.0-a0, 5.0 alpha0, v5.0.98, 159813 lines.
- 2022-11-22, Release v4.0-r4, v4.0-r4, 4.0 release4, v4.0.268, 145482 lines.
- 2022-09-16, Release v4.0-r3, v4.0-r3, 4.0 release3, v4.0.265, 145328 lines.
- 2022-08-24, Release v4.0-r2, v4.0-r2, 4.0 release2, v4.0.257, 144890 lines.
- 2022-06-29, Release v4.0-r1, v4.0-r1, 4.0 release1, v4.0.253, 144680 lines.
- 2022-06-11, Release v4.0-r0, v4.0-r0, 4.0 release0, v4.0.252, 144680 lines.
- 2020-06-27, Release v3.0-r0, 3.0 release0, 3.0.141, 122674 lines.
- 2020-02-02, Release v3.0-b0, 3.0 beta0, 3.0.112, 121709 lines.
- 2019-10-04, Release v3.0-a0, 3.0 alpha0, 3.0.56, 107946 lines.
- 2017-03-03, Release v2.0-r0, 2.0 release0, 2.0.234, 86373 lines.
- 2016-08-06, Release v2.0-b0, 2.0 beta0, 2.0.210, 89704 lines.
- 2015-08-23, Release v2.0-a0, 2.0 alpha0, 2.0.185, 89022 lines.
- 2014-12-05, Release v1.0-r0, all bug fixed, 1.0.10, 59391 lines.
- 2014-10-09, Release v0.9.8, all bug fixed, 1.0.0, 59316 lines.
- 2014-04-07, Release v0.9.1, live streaming. 30000 lines.
- 2013-10-23, Release v0.1.0, rtmp. 8287 lines.
- 2013-10-17, Created.
Features
Please read FEATURES.
Changelog
Please read CHANGELOG.
Performance
Please read PERFORMANCE.
Architecture
Please read ARCHITECTURE.
Ports
Please read PORTS.
APIs
Please read APIS.
Mirrors
Please read MIRRORS.
Dockers
Please read DOCKERS.
Beijing, 2013.10
Winlin