查看器可以在webrtc中更改传入视频的质量吗?



让我们考虑一个使用WebRTC的P2P视频会议,其中发布者以高清1024x768进行流式传输,而观众加入该会话并希望以320×240观看视频以节省带宽。

要给出一个anology,它必须像youtube的Quality选项一样。

  1. 在WebRTC中是否可能
  2. 如果是,此功能是否在(agora|tokbox|vidyo|twilio(中的任何一个中实现

在WebRTC中可能吗?

每个对等端在接收任何流之前都会有一个协商进度。已经在此频道中的发件人将知道,在此过程中,他们必须更改流配置文件。

如果碰巧有人已经在这个信道上没有足够的带宽,发送器MediaOptimization模块会通过RTCP接收器知道发送,并调整比特率。

如果是,此功能是否在任何(agora|tokbox|vidyo|twilio(中实现

据我所知,他们在网络上所做的一切都是基于WebRTC的(显然他们很少有选择(。

他们的原生SDK在分辨率切换方面可能有更好的质量,因为他们可以使用SVC、多流等技术

我在TokBox工作。

就用OpenTok实现这一点而言,是的,这是可能的。我们支持通过SFU的"路由"会话的可扩展视频(联播(。这意味着你可以从发行商发送高清分辨率,然后用户可以根据带宽以不同的分辨率订阅。您还可以使用setPreferredResolution API指定首选分辨率,这将允许您强制使用较低的分辨率,例如,如果您知道您只显示较小的订阅服务器。

  • 在p2p模式下更改分辨率的唯一方法是(a(断开对等连接,更改约束条件以向cam请求不同的分辨率,并建立新的连接,(b(重新协商或(c(替换发送方的轨道。(c( 通常是首选,因为它不会强制进行新的握手,这可能会在更改分辨率时导致明显的故障。

  • 实现这一点的好方法是使用媒体服务器,该媒体服务器接收源流的多个分辨率,并且根据接收器的容量仅中继一个。它可以通过两种方式实现:使用SVC编解码器,如VP9、AV1。。。。或者,如果没有可用的SVC编解码器,则使用联播,即多次使用具有不同输出分辨率的相同简单编解码器。现在并不是每个浏览器都支持这一点。

  • 如果您在循环中使用他们的媒体服务器,大多数供应商都会提供此选项。这将在他们的原生SDK中开箱即用,他们在其中控制整个堆栈,而对web的支持将反过来取决于浏览器本身的支持。

  • agora并没有真正使用webrtc。

  • Vidyo是SVC编解码器专家,但被浏览器实现阻止。我最近没有测试。

  • 亚当告诉过你关于tokbox的事情,他们已经有很多可能的选择了很长一段时间了。

  • 我不了解twillio的最新报价。

相关内容

  • 没有找到相关文章

最新更新