README.md 18 KB

SRS(Simple Realtime Server)

SRS/5.0(Bee) is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH and GB28181.

SRS Overview

Note: The single node architecture for SRS, for detail please see here.

SRS is licenced under MIT by default, and SRS is also licensed under MIT or MulanPSL-2.0. Please note that MulanPSL-2.0 is compatible with Apache-2.0, and some third-party libraries are distributed under their licenses.

Usage

Please refer to the Getting Started or 中文文档:起步 guide.

To build SRS from source:

git clone -b 5.0release 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:

Note that if convert RTMP to WebRTC, please use rtmp2rtc.conf:

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: In addition to FFmpeg or OBS, it is possible to publish by H5 via WHIP as well. To enable WebRTC to publish and convert it to RTMP, please refer to the wiki(CN, EN) documentation. It is essential to ensure the candidate(CN or EN) is set correctly for WebRTC to avoid potential issues, as it can cause significant problems.

Note: It is highly recommended to run SRS directly with docker(CN / EN), CVM(CN / EN), or K8s(CN / EN). However, compiling SRS from source code is also possible and easy. For detailed instructions, please refer to the "Getting Started"(CN / EN) guide.

Note: If you require HTTPS for WebRTC and modern browsers, please refer to the HTTPS API(CN / EN), HTTPS Callback(CN / EN), and HTTPS Live Streaming(CN / EN) documentation. Additionally, SRS works perfectly with an HTTPS proxy like Nginx.

From here, please read wikis:

  • What are the steps to deliver RTMP streaming? (CN, EN)
  • What is the process for delivering WebRTC streaming? (CN, EN)
  • What are the steps to convert RTMP to HTTP-FLV streaming? (CN, EN)
  • How can RTMP be converted to HLS streaming? (CN, EN)
  • What is the best approach for delivering low-latency streaming? (CN, EN)
  • How can an RTMP Edge-Cluster be constructed? (CN, EN)
  • What is the process for building an RTMP Origin-Cluster? (CN, EN)
  • How can an HLS Edge-Cluster be set up?(CN, EN)

Other important wiki:

  • Usage: What is the method for delivering DASH (Experimental)? (CN, EN)
  • Usage: How can an RTMP stream be transcoded using FFMPEG? (CN, EN)
  • Usage: What is the process for setting up an HTTP FLV Live Streaming Cluster? (CN, EN)
  • Usage: How can HLS be delivered using an NGINX Cluster? (CN, EN)
  • Usage: What steps are to ingest a file, stream, or device to RTMP? (CN, EN)
  • Usage: How can a stream be forwarded to other servers? (CN, EN)
  • Usage: What are the strategies for improving edge performance on multiple CPUs? (CN, EN)
  • Usage: How can bugs be reported or contact be made with us? (CN, EN)

Sponsor

Would you like additional assistance from us? By becoming a sponsor or backer of SRS, we can provide you with the support you need:

  • Backer: $5 per month, online text chat support through Discord.
  • Sponsor: $100 per month, online text chat plus online meeting support.

Please visit OpenCollective to become a backer or sponsor, and send us a direct message on Discord. We are currently providing support to the developers listed below:

We at SRS aim to establish a non-profit, open-source community that assists developers worldwide in creating your own high-quality streaming and RTC platforms to support your businesses.

AUTHORS

The TOC(Technical Oversight Committee) and contributors:

A big THANK YOU also goes to:

Contributing

We are grateful to the community for contributing bugfix and improvements, please follow the guide.

LICENSE

FOSSA Status

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

  • 2024-04-03, Release v5.0-r2, v5.0-r2, 5.0 release2, v5.0.210, 163515 lines.
  • 2024-02-15, Release v5.0-r1, v5.0-r1, 5.0 release1, v5.0.208, 163441 lines.
  • 2023-12-30, Release v5.0-r0, v5.0-r0, 5.0 release0, v5.0.205, 163363 lines.
  • 2023-11-19, Release v5.0-b7, v5.0-b7, 5.0 beta7, v5.0.200, 163305 lines.
  • 2023-10-25, Release v5.0-b6, v5.0-b6, 5.0 beta6, v5.0.195, 163303 lines.
  • 2023-09-28, Release v5.0-b5, v5.0-b5, 5.0 beta5, v5.0.185, 163254 lines.
  • 2023-08-31, Release v5.0-b4, v5.0-b4, 5.0 beta4, v5.0.176, 162919 lines.
  • 2023-08-02, Release v5.0-b3, v5.0-b3, 5.0 beta3, v5.0.170, 162704 lines.
  • 2023-07-09, Release v5.0-b2, v5.0-b2, 5.0 beta2, v5.0.166, 162520 lines.
  • 2023-06-11, Release v5.0-b1, v5.0-b1, 5.0 beta1, v5.0.157, 162494 lines.
  • 2023-05-14, Release v5.0-b0, v5.0-b0, 5.0 beta0, v5.0.155, 162600 lines.
  • 2023-03-23, Release v5.0-a5, v5.0-a5, 5.0 alpha5, v5.0.148, 162066 lines.
  • 2023-02-12, Release v5.0-a4, v5.0-a4, 5.0 alpha4, v5.0.141, 161897 lines.
  • 2023-01-02, Release v5.0-a3, v5.0-a3, 5.0 alpha3, v5.0.128, 161327 lines.
  • 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