Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

WebRTC:Support Cluster over QUIC. #2091

Closed
yzw607 opened this issue Dec 14, 2020 · 17 comments
Closed

WebRTC:Support Cluster over QUIC. #2091

yzw607 opened this issue Dec 14, 2020 · 17 comments
Assignees
Labels
TransByAI Translated by AI/GPT. WebRTC WebRTC, RTC2RTMP or RTMP2RTC.
Milestone

Comments

@yzw607
Copy link

yzw607 commented Dec 14, 2020

Two questions:

  1. Does WebRTC not function on an Edge server?
  2. Does WebRTC also not function on an Origin server?

How can WebRTC be supported in a cluster configuration?

@winlinvip winlinvip changed the title WebRTC是否支持回源? WebRTC是否支持级联? Dec 24, 2020
@winlinvip
Copy link
Member

winlinvip commented Dec 24, 2020

The Edge is just designed for live streaming, that is RTMP, so the Edge only supports RTMP/HTTP-FLV. Neither WebRTC nor HLS is not supported by Edge, it's the features of Origin.

The cluster for HLS is regular HTTP file-based server, like Nginx or ATS. And cluster for WebRTC is called Cascading over QUIC, it's actually an OriginCluster connected with QUIC not RTMP.

Right now, most of WebRTC server does not support cluster, or does not work well, because WebRTC is too complex. We need time to design the arch carefully, especially we support both live streaming and WebRTC.

Note that TURN server is also could use as "Edge-like" for WebRTC origin server, but it does not support stream aggregation, which means it by-pass all connections and streams to SRS, so it won't help to extend the capability, it only works as a "by-pass proxy" over TCP or UDP. In one word, TURN is not a WebRTC cluster, it's a proxy near user to improve the network quality.

We may support WebRTC cluster, the OriginCluster over QUIC, in SRS 5.0 or later. It depends on our time resource, and whether we get a stable and simple enough arch.

The arch for WebRTC Cluster

WebRTC Cluster

  • No edge for WebRTC.
  • Origin works for LiveStreaming and WebRTC, it holds the stream.
  • The OriginCluster for LiveStreaming is based on RTMP302, while OriginCluster for WebRTC is based on QUIC.

@yzw607

This comment has been minimized.

@winlinvip

This comment has been minimized.

@winlinvip winlinvip added the WebRTC WebRTC, RTC2RTMP or RTMP2RTC. label Jan 18, 2021
@yzw607

This comment has been minimized.

@winlinvip winlinvip changed the title WebRTC是否支持级联? WebRTC:支持级联和集群,横向扩展 Apr 2, 2021
@winlinvip
Copy link
Member

winlinvip commented Apr 2, 2021

Moved to #2091 (comment)

@wangjin

This comment has been minimized.

@Lshan523

This comment has been minimized.

@dsyuanqiang

This comment has been minimized.

@winlinvip winlinvip changed the title WebRTC:支持级联和集群,横向扩展 WebRTC:支持QUIC,支持级联和集群,横向扩展 Oct 16, 2021
@phusinh

This comment was marked as off-topic.

@ossrs ossrs deleted a comment from dsyuanqiang Dec 29, 2021
@winlinvip
Copy link
Member

winlinvip commented Dec 29, 2021

@wangjin TURN is not used for clustering, but for traversing firewalls, such as using the TCP protocol or as an exit gateway. Since TURN only forwards traffic and does not aggregate, it cannot be expanded. Therefore, the traffic after TURN will not decrease, and with SFU, clients do not need to have so many uplinks, and the same is true for clusters.

@phusinh Clusters often have a service discovery mechanism. Simply put, you can use configuration files to discover each other and define the worker network within the cluster. You can also use a separate backend service for service discovery. You can refer to this article StackOverflow

@phusinh

This comment was marked as off-topic.

@winlinvip winlinvip changed the title WebRTC:支持QUIC,支持级联和集群,横向扩展 WebRTC:Support Cluster over QUIC. 支持QUIC,支持级联和集群,横向扩展 Jan 19, 2022
@winlinvip winlinvip changed the title WebRTC:Support Cluster over QUIC. 支持QUIC,支持级联和集群,横向扩展 WebRTC:Support Cluster over QUIC. 支持级联和集群,基于QUIC Jan 19, 2022
@lovetian0910
Copy link

lovetian0910 commented Apr 18, 2022

How is the current development progress of RTC cascading?
Is there a separate branch for joint development now?

@zxk69809
Copy link

zxk69809 commented Sep 13, 2022

There hasn't been much progress on RTC clustering lately. It would be great if you could first outline the ideas and architecture, and everyone can participate.

@winlinvip
Copy link
Member

winlinvip commented Nov 24, 2022

Update: I think we should support proxy for origin servers, which is much more useful than WebRTC cascading. Proxy is designed for origin server and all protocols, so we can use proxy to build RTMP/FLV cluster, or SRT cluster, or WebRTC cluster, or GB28181 cluster.

@jeckee
Copy link

jeckee commented Apr 26, 2023

@winlinvip SRS5 has been released now, does it support WebRTC clustering?

@andyzheung
Copy link

andyzheung commented Jul 10, 2023

Does this mean that RTC does not support the Origin and Edge mode? I saw an article before that said WebRTC can also expand the streaming capability through Edge.
https://mp.weixin.qq.com/s/pd9YQS0WR3hSuHybkm1F7Q
image

@winlinvip winlinvip changed the title WebRTC:Support Cluster over QUIC. 支持级联和集群,基于QUIC WebRTC:Support Cluster over QUIC. Jul 18, 2023
@winlinvip
Copy link
Member

Update as of 2023.07.18:

  1. SRS Edge is designed for live streaming and not for WebRTC. Although some articles suggest that Edge can be modified to support WebRTC, it is not currently supported and there are no plans to implement it.

  2. There are no current plans for a WebRTC cluster that cascades between origin servers using the QUIC protocol. This is because it is highly complex and will not be supported.

  3. We will support a proxy cluster, which will also serve as a cluster for all protocols. The proxy cluster is not cascading and does not use QUIC. It is significantly simpler in comparison.

@ossrs ossrs locked and limited conversation to collaborators Jul 18, 2023
@winlinvip winlinvip converted this issue into discussion #3688 Jul 18, 2023
@winlinvip winlinvip added EnglishNative This issue is conveyed exclusively in English. TransByAI Translated by AI/GPT. and removed EnglishNative This issue is conveyed exclusively in English. labels Jul 27, 2023

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
TransByAI Translated by AI/GPT. WebRTC WebRTC, RTC2RTMP or RTMP2RTC.
Projects
None yet
Development

No branches or pull requests