/srs4.0dvr

based on SRS4.0 to develop a simple, high-efficiency, real-time video recorder. cmd: start-record,B001,GB20230101ABC.mp4 stop-record,B001,GB20230101ABC.mp4

Primary LanguageC++OtherNOASSERTION

SRS-DVR

按需录像需求:1. 时延短,接收和执行录像指令的时间要快,100ms以内。2. 录像文件时长不固定,定在[3s, 1800s]这个区间。最短3s,最长30min。 用法:外部进程向redis-queue发送record-start/record-stop指令来控制录像开始和结束。 Cmd格式:start-record|stop-record,, redis-queue: {app}-{stream} //rtmp-url格式:rtmp://host:1935/{app}/{stream}

SRS Overview

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.

Usage

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 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 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)

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!

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:

A big THANK YOU goes to:

Releases

  • 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.
  • 2022-03-19, Release v4.0-b10, v4.0-b10, 4.0 beta10, v4.0.251, 144665 lines.
  • 2022-02-15, Release v4.0-b9, v4.0-b9, 4.0 beta9, v4.0.245, 144474 lines.
  • 2022-02-11, Release v4.0-b8, v4.0-b8, 4.0 beta8, v4.0.241, 144445 lines.
  • 2022-02-09, Release v4.0-b7, v4.0-b7, 4.0 beta7, v4.0.240, 144437 lines.
  • 2022-02-04, Release v4.0-b6, v4.0-b6, 4.0 beta6, v4.0.238, 144437 lines.
  • 2022-01-30, Release v4.0-b5, v4.0-b5, 4.0 beta5, v4.0.236, 144416 lines.
  • 2022-01-17, Release v4.0-b4, v4.0-b4, 4.0 beta4, v4.0.230, 144393 lines.
  • 2022-01-13, Release v4.0-b3, v4.0-b3, 4.0 beta3, v4.0.229, 144393 lines.
  • 2022-01-03, Release v4.0-b2, v4.0-b2, 4.0 beta2, v4.0.215, 144278 lines.
  • 2021-12-19, Release v4.0-b1, v4.0-b1, 4.0 beta1, v4.0.206, 144126 lines.
  • 2021-12-01, Release v4.0-b0, v4.0-b0, 4.0 beta0, v4.0.201, 144022 lines.
  • 2021-11-15, Release v4.0.198, 4.0 dev8, v4.0.198, 144010 lines.
  • 2021-11-02, Release v4.0.191, 4.0 dev7, v4.0.191, 143890 lines.
  • 2021-10-12, Release v4.0.177, 4.0 dev6, v4.0.177, 143686 lines.
  • 2021-09-05, Release v4.0.161, 4.0 dev5, v4.0.161, 145865 lines.
  • 2021-08-15, Release v4.0.156, 4.0 dev4, v4.0.156, 145490 lines.
  • 2021-08-14, Release v4.0.153, 4.0 dev3, v4.0.153, 145506 lines.
  • 2021-08-07, Release v4.0.150, 4.0 dev2, v4.0.150, 145289 lines.
  • 2021-07-25, Release v4.0.146, 4.0 dev1, v4.0.146, 144026 lines.
  • 2021-07-04, Release v4.0.139, 4.0 dev0, v4.0.139, 143245 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.

Compare

Comparing with other media servers, SRS is much better and stronger, for details please read Product(CN/EN).

Performance

Please read PERFORMANCE.

Architecture

Please read ARCHITECTURE.

Ports

Please read PORTS.

APIs

Please read APIS.

Mirrors

Please read MIRRORS.

Beijing, 2013.10
Winlin