gpt4 book ai didi

websocket - 一对多直播视频流: WebRTC or Websocket?

转载 作者:行者123 更新时间:2023-12-05 03:55:41 24 4
gpt4 key购买 nike

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

我从google得到的,如有错误请指正:

  1. WebRTC 主要用于 p2p 连接,这意味着我的“管理员”将无法拥有很多(比如 50 多个)观众 - 仅仅是因为他的 50M 互联网将开始滞后,试图流式传输 50 倍立即p2p;

  2. 我想处理来自管理员的视频(即时!)_asap_but_before_ 将其显示给观众(即制作一些叠加层或将另一个视频嵌入到主视频中)——这是 p2p 的另一个问题,不是吗是吗?

所以,在这一点上,我很确定我应该使用 Websockets 而不是 WebRTC。也许我错过了一些重要的东西?您能否为此建议我任何 NotExtremelyComplicated 解决方案?

谢谢

最佳答案

你说的都对!如果您将管理员的 P2P 连接到所有查看器,您可能会达到上限,因为您需要为每个查看器上传。您要做的是改用 SFU。您也可以在服务器上进行处理/叠加。

SFU 是位于中间的服务器,充当“转发器”,因此管理员只上传一次。拓扑看起来像

               |----> Viewer
|
Admin ---> SFU |----> Viewer
|
|----> Viewer

有很多 SFU 实现,每个都有自己的优缺点。如果您对 Pion WebRTC 有任何疑问,我很乐意为您提供帮助.它是 WebRTC 的 Go 实现,我们有一个如何构建 minimal-sfu 的示例。 .


您也可以通过 Websockets 构建它,但您可能会遇到延迟问题。我自己没有做过,但我相信可以通过 MSE API 实现。

WebRTC 的好处在于您可以获得双向媒体和数据,而且您无需进行太多编码。然后在 WebRTC 之上有一些不错的东西,比如拥塞控制(WebRTC 将缩小/增加比特率以适应您的可用带宽)。而使用 Websockets 处理这样的事情要困难得多。

关于websocket - 一对多直播视频流: WebRTC or Websocket?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60013467/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com