In this issue, we recommend a simple and efficient real-time video server, SRS.
SRS is a simple and efficient real-time video server that can be scaled into clusters and supports multiple protocols and scenarios
RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181。 For novices, the threshold for audio and video is really very high, and the goal of SRS is to lower (but not eliminate) the threshold for audio and video.
Overview of features
The image below is a large overview map of SRS:
Let’s take a look at the big picture above from a few typical application scenarios, please refer to more scenarios:
https://github.com/ossrs/srs/wiki/v4_CN_Sample
Live streaming on all platforms: Only the Encoders (FFmpeg/OBS) shown above need to push RTMP to SRS; An SRS Origin (no cluster required) can be transencapsulated into HTTP-FLV streams and HLS. Players can choose HTTP-FLV or HLS streaming depending on the platform player
WebRTC calling: one-to-one calls, multi-person calls, conference rooms, etc. WebRTC is the key and core capability introduced by SRS4, from 1 to 3 seconds of latency, to 100 to 300 milliseconds of latency, definitely not a change in numbers, but a change in essence
Monitoring and broadcasting to the cloud: In addition to using FFmpeg to actively pull streams to SRS, you can also push streams using the SRT protocol of the broadcast and television industry, or push streams using the GB28181 protocol of the monitoring industry, and convert SRS to the Internet protocol for viewing
Low latency and interaction for live streaming: RTMP to WebRTC playback reduces playback latency, and can also be used for live streaming or WebRTC streaming, and WebTransport live streaming will be supported in the future
Large-scale services: If your business grows rapidly, you can use Edge Cluster to support a large number of players, or Origin Cluster to support a large number of Encoders, and of course, you can directly migrate to the video cloud. In the future, it will also support RTC cascading and clustering
Scenario Deployment Reference:
https://github.com/ossrs/srs/wiki/v4_CN_K8s#srs-edge-cluster-for-high-concurrency-streaming
Each scenario may use some common capabilities, such as:
Generally, it needs to be recorded to FLV/MP4, transcoded in RTMP, and screenshotted
It also needs to be integrated with existing business systems, such as HTTP callbacks, or query stream and client information through HTTP API interfaces
You can use FFmpeg to actively pull streams to SRS, forward the streams and forward them to other services, or push RTSP/UDP/FLV to SRS
In terms of security, you can use the security policy to set access, or use the HTTP API to kick streams
Use VHOST virtual servers to isolate different services, use domain names as scheduling units, and apply different configurations
If you prefer to watch videos, you can check out the video column below:
Bilibili column (video): SRS open source server
srs-server’s personal space_Bilibili_Bilibili
Zero Sound Academy (Video): SRS4.0 Starter Series
[Free]
FFmpeg/WebRTC/RTMP/NDK/Android Audio and Video Streaming Advanced Development-Learning Video Tutorials-Tencent Classroom
Zero Sound Academy (video): SRS streaming server in action
SRS Streaming Media Server Actual Combat (Part I)_Bilibili_bilibili