如何在通话期间更改动态视频分辨率(在WebRTC中)

时间:2015-05-07 10:24:38

标签: webrtc resolution

我一直在为我的项目使用SimpleWebRTC lib。

  1. 如何在通话期间更改动态远程视频分辨率(例如调整浏览器大小时的Google视频群聊)
  2. 视频群聊浏览器调整大小会改变远程视频分辨率大小(.videoWidth .videoHeight)
  3. 这与webrtc plan b
  4. 相关联

    我想知道它是如何为许多对等连接实现的。

1 个答案:

答案 0 :(得分:3)

告诉发送端(比如通过DataChannels)将分辨率更改为NxM。在发送端,直到新的API可用于动态更改getUserMedia / MediaStream捕获大小,您可以请求第二个摄像机/麦克风流并用它们替换现有的流。 (注意:这将导致需要协商,即重新协商,远端会看到新的输出流。)

更顺畅(但迄今为止仅在Firefox中 - 在标准化过程中)将使用RTPSender.replaceTrack()来更改视频轨道而不触及音频或重新协商。

将存在的另一个选项(虽然在任一浏览器中都没有)是使用RTPSender.width / height(或任何语法得到同意)在编码之前缩放传出视频。

未采用多流/ BUNDLE(Chrome实施)的B计划; Firefox现在已经(在Fx38中出现了几天)实施了统一计划;期待很快就能看到一篇关于如何强迫两者合作的博客文章(直到Chrome开始实施统一计划)