一对多视频直播:WebRTC还是Websocket?

一对多视频直播:WebRTC还是Websocket?,websocket,streaming,webrtc,live,Websocket,Streaming,Webrtc,Live,我要创建一个网站,其中一个管理员将流他的实时摄像头到多个观众。我花了几天时间在谷歌上搜索WebRTC和Websocket解决方案,但仍然感到困惑。人们说WebRTC是唯一明智的方法,但是 我从谷歌得到了什么,如果我错了,请纠正我: WebRTC主要用于p2p连接,这意味着我的“管理员”将无法拥有很多(比如说50多个)观众——仅仅是因为他的5000万互联网将开始落后,试图同时传输50倍的p2p 我想尽快处理来自管理员的视频(在运行中!),但在向观众展示之前(即制作一些叠加或在主视频中嵌入另一个视频

我要创建一个网站,其中一个管理员将流他的实时摄像头到多个观众。我花了几天时间在谷歌上搜索WebRTC和Websocket解决方案,但仍然感到困惑。人们说WebRTC是唯一明智的方法,但是

我从谷歌得到了什么,如果我错了,请纠正我:

  • WebRTC主要用于p2p连接,这意味着我的“管理员”将无法拥有很多(比如说50多个)观众——仅仅是因为他的5000万互联网将开始落后,试图同时传输50倍的p2p

  • 我想尽快处理来自管理员的视频(在运行中!),但在向观众展示之前(即制作一些叠加或在主视频中嵌入另一个视频)——这是p2p的另一个问题,不是吗

  • 因此,在这一点上,我非常确定我应该使用WebSocket而不是WebRTC。也许我错过了一些重要的事情?你能为我推荐一些特别复杂的解决方案吗


    谢谢你

    你说的一切都是对的!如果您将P2P从管理员连接到所有查看器,您可能会达到上限,因为您需要为每个查看器上载。您要做的是使用SFU。您还可以在服务器上进行处理/覆盖

    一个SFU是一个位于中间的服务器,充当“中继器”,所以管理员只上传一次。拓扑结构看起来像

                   |----> Viewer
                   |
    Admin ---> SFU |----> Viewer
                   |
                   |----> Viewer
    
    有很多SFU实现,每种实现都有自己的优缺点。如果您有任何疑问,我很乐意为您提供帮助。这是WebRTC的Go实现,我们有一个如何构建Web RTC的示例


    您也可以通过WebSocket来构建它,但可能存在延迟问题。我自己没有做过,但我相信通过MSEAPI是可能的


    WebRTC的好处在于,您可以获得双向媒体和数据,并且不需要进行太多编码。除此之外,WebRTC还有一些不错的功能,比如拥塞控制(WebRTC将收缩/增加比特率以适应可用带宽)。使用WebSocket时,处理这样的东西要困难得多。

    哇,听起来不错。我会深入研究的,非常感谢!当然如果您有任何问题,请随时提供帮助。WebRTC是一项非常有趣的技术,但很难获得关于它的真实信息。