SRS/4.0,Leo,是一个简单高效的实时视频服务器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT。
SRS is a simple, high efficiency and realtime video server, supports RTMP/WebRTC/HLS/HTTP-FLV/SRT.
Note: The single node architecture for SRS, for detail please see here.
SRS is licenced under MIT, but some depended libraries are distributed using their own licenses.
Build SRS from source:
git clone -b 4.0release https://gitee.com/ossrs/srs.git &&
cd srs/trunk && ./configure && make && ./objs/srs -c conf/srs.conf
Open https://localhost:8080/ to check it, then publish by FFmpeg or OBS as:
ffmpeg -re -i ./doc/source.flv -c copy -f flv -y rtmp:https://localhost/live/livestream
Play the following streams by players:
- RTMP (by VLC): rtmp:https://localhost/live/livestream
- H5(HTTP-FLV): https://localhost:8080/live/livestream.flv
- H5(HLS): https://localhost:8080/live/livestream.m3u8
Note that if convert RTMP to WebRTC, please use rtmp2rtc.conf
:
- H5(WebRTC): webrtc:https://localhost/live/livestream
Note: Besides of FFmpeg or OBS, it's also able to publish by H5 if WebRTC is enabled.
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.
From here, please read wikis:
- Getting Started, please read Wiki first.
- 中文文档:起步,不读Wiki一定扑街,不读文档请不要提Issue,不读文档请不要提问题,任何文档中明确说过的疑问都不会解答。
Fast index for Wikis:
- Overview? (CN, EN)
- How to deliver RTMP streaming?(CN, EN)
- How to build RTMP Edge-Cluster?(CN, EN)
- How to build RTMP Origin-Cluster?(CN, EN)
- How to deliver HTTP-FLV streaming?(CN, EN)
- How to deliver HLS streaming?(CN, EN)
- How to deliver low-latency streaming?(CN, EN)
- How to use WebRTC? (CN, EN)
Other important wiki:
- Usage: How to delivery DASH(Experimental)?(CN, EN)
- Usage: How to transode RTMP stream by FFMPEG?(CN, EN)
- Usage: How to delivery HTTP FLV Live Streaming 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)
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!
There are two types of people that have contributed code to the SRS project:
- Maintainers: Contribute and maintain important features. SRS always remembers and thanks you by writing your names in stream metadata.
- Contributors: Submit patches, report bugs, add translations, help answer newbie questions, and generally make SRS much better.
Maintainers of SRS project:
- Winlin: Focus on issues/PR and tests now.
- ZhaoWenjie: Focus on