29,436
stars
+14+22+111
5,707
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions
README
SRS(Simple Realtime Server)
!
SRS/8.0 (Free) is a simple, high-performance, AI-driven real-time media server.
It supports RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH, and GB28181 on Linux and macOS across
x86_64, ARMv7, AArch64, Apple M1, RISC-V, LoongArch, and MIPS architectures, and natively on
Windows x64. Supported codecs include
H.264, H.265, AV1, VP9, AAC, Opus, and G.711. See the complete list of features.
Note: For more details on the single-node architecture for SRS, please visit the following link.
SRS is licenced under MIT, and some third-party libraries are
distributed under their licenses.
Usage
Please check the Getting Started guide in English
or Chinese. We highly recommend using SRS with docker:
bash
docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 \
-p 8000:8000/udp -p 10080:10080/udp ossrs/srs:6
Open http://localhost:8080/ to verify, and then stream using the following
FFmpeg command:
bash
ffmpeg -re -i ./doc/source.flv -c copy -f flv -y rtmp://localhost/live/livestream
Alternatively, stream by OBS using the following configuration:
Service: Custom
Server: rtmp://localhost/live
Stream Key: livestream
Play the following streams using media players:
To play an RTMP stream with URL rtmp://localhost/live/livestream on VLC player, open the player, go to Media Open Network Stream, enter the URL and click Play.
You can play HTTP-FLV stream URL http://localhost:8080/live/livestream.flv on a webpage using the srs-player, an HTML5-based player.
Use srs-player for playing HLS stream with URL http://localhost:8080/live/livestream.m3u8.
If you'd like to use WebRTC, convert RTMP to WebRTC, or convert WebRTC to RTMP, please check out
the wiki documentation in either English or
Chinese.
To learn more about RTMP, HLS, HTTP-FLV, SRT, MPEG-DASH, WebRTC protocols, clustering,
HTTP API, DVR, and transcoding, please check the documents in English
or Chinese.
AI Agent
I recommend to use AI to understand and maintain your SRS, please follow the wiki
AI Agent for details.
Contributing
The maintainers, and contributors are listed here. The maintainers
who made significant contributions and maintained parts of SRS are listed below, ranked by the number of commits:
Winlin: Founder of the project, focusing on ST and Issues/PR. Responsible for architecture and maintenance.
XiaoZhihong: Concentrates on WebRTC/QUIC and SRT, with expertise in network QoS. Contributed to ARM on ST and was the original contributor for WebRTC.
ChenHaibo: Specializes in GB28181 and HTTP API, contributing to patches for FFmpeg with WHIP.
ZhangJunqin: Focused on H.265, Prometheus Exporter, and API module.
XiaLixin: Specializes in GB28181, with expertise in live streaming and WebRTC.
Jacob Su: Jacob Su has contributed to various modules of SRS.
ShiWei: Specializes in SRT and H.265, maintaining SRT and FLV patches for FFmpeg. An expert in codecs and FFmpeg.
ChenGuanghua: Focused on WebRTC/QoS and introduce