Does srs support single rtmp connection create multi stream? #3980
Replies: 4 comments
-
What is the context in which you require multiple RTMP streams, and why is this necessary? The support for multiple RTMP streams in players is generally very poor.
|
Beta Was this translation helpful? Give feedback.
-
Just for learning interest, because I see that the rtmp protocol is supported |
Beta Was this translation helpful? Give feedback.
-
The Real-Time Messaging Protocol (RTMP) has the capability to handle multiple streams simultaneously by using different stream IDs. However, in practical scenarios, this functionality appears to be underutilized. Even when examining tools like FFmpeg and Open Broadcaster Software (OBS), the use of this multi-stream feature is not evident. I think this is because RTMP is primarily used for stream publishing. Therefore, publishing many streams to a server consumes significant upload bandwidth, which may cause network issues, especially since upload bandwidth is often limited. Multi-streaming is very useful for video playback because different users have varying network bandwidth limitations. Thus, it allows users to select different streams based on their bandwidth or for the player to automatically adjust these streams. This is achieved through HLS's multi-stream and multi-playlist capabilities. The more common solution involves publishing a single, high-quality stream via RTMP at the highest bitrate and resolution. Then, this high-definition stream is transcoded into multiple streams on the server side. These streams are then delivered in HLS format for video playback, accommodating various bandwidths and devices. In short, RTMP mutiple streams is not used in real world.
|
Beta Was this translation helpful? Give feedback.
-
What you mean is ABR, simulcast or SVC feature. There is a OBS fork that supports simulcast already, but it never went into a release yet. If you like to stream multiple RTMP streams at once, you can use the RTMP multistream plugin. Surely the server needs to support ABR/Simulcast or SVC on playout side. The only open source server i know is ovenmediaengine (supports ABR) and Janus, which supports SVC with WHIP ingest and WHEP playout, when using the appropriate server add ons. In my case i ingest RTMP high bitrate and transcode on server side to multiple bitrates for clients. SVC or simulcast would provide this on ingestion side, so no need for the server to transcode, just pick the correct layer depending on customers network quality. But SRS doesn't support this feature yet to dynamically change resolution or framerate depending on customers network quality. That would be SVC (layer selection). |
Beta Was this translation helpful? Give feedback.
-
I see the rtmp protocol support multi call create stream and return different stream id to use send message.
I'm new to streaming media and I am writing a rtmp client and publish the stream to the srs server, but I found that multi send createStream command just the first one return a _result.
Version SRS/6.0.85(Hang)
Can anyone help me?
Thank you very much.
Beta Was this translation helpful? Give feedback.
All reactions