-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhance the handling of the returned result from the API hook. #507
Comments
This is RTMP302, but what you mentioned about the master-master cluster requires more than just 302.
|
I am not very familiar with the RTMP protocol. If RTMP302 is similar to HTTP redirect, it is different from the redirect in NRM. The redirect in NRM API response is more like a reverse proxy in HTTP. It is the current video server that pulls the target video and returns it to the client, instead of letting the client pull the target video.
|
If the server is used for relay, SRS's edge can be used, which can perform source merging and reduce the pressure on the origin server.
|
origin/edge mode is not very suitable for live show mode because the host and the audience are both dispersed. We hope that the host can connect to any node for uploading and the audience can connect to any node for viewing. I have previously used NRM+ to implement a web application with NRM HTTP API to achieve this effect. It can be easily implemented with a simple program, thanks to the flexible HTTP API of NRM.
|
If the API could be more flexible, even if you don't want to do master-master, just want to do multi-origin like #464, it would be better to leave this choice to the user (SRS user) instead of making SRS itself too complicated.
|
edge can support multiple origin + multiple edge clusters, and it can also support live streaming shows. SRS is widely used in many CDNs, and this is a basic function. Multiple origin + multiple edge, this is what #464 needs to do for multiple origin.
|
The switching strategy of multiple source stations is reasonable and makes sense. I will consider this when I am working on it.
|
Maybe I didn't make it clear in my writing. The pattern I'm referring to is where each node simultaneously acts as both an origin and an edge. In this context, the node represents an SRS process. The edge can support both an origin and multiple edge clusters, and it can also support live streaming. SRS is widely used in many CDNs, and this is a basic functionality. Multiple origin + multiple edge, this is what #464 is going to do for multiple origins.
|
No, you wrote it very clearly. It is about the design differences between the handling solution of NRM and the solution of SRS. Let me reiterate:
Is that correct? If there are no network issues between Node A and B, it's actually quite good because it serves as both the source and the edge. For a general CDN:
For the SRS solution, it is done as follows:
The benefits of this solution are:
I don't know if what I said is correct or not?
|
So I think what you said is just different ideas for two different solutions, namely NRM and SRS, regarding load balancing and hot backup.
|
Understood, thank you for clarifying.
|
Refer to nginx-rtmp-module at https://github.com/arut/nginx-rtmp-module/wiki/Directives#on_play
'
Please ensure to preserve the markdown structure.
HTTP 3xx is very useful. With support for this, on_play/on_publish can be used in conjunction with the application system to create a master-master cluster.
'
Please ensure to preserve the markdown structure.
TRANS_BY_GPT3
The text was updated successfully, but these errors were encountered: