Video streaming webrtc重新协商的向下兼容性

Video streaming webrtc重新协商的向下兼容性,video-streaming,webrtc,Video Streaming,Webrtc,我想知道如何实现屏幕共享(或任何其他任务,在初始报价/应答完成后,将曲目添加到对等连接中)。我认为有两种可能性: 在“现代webrtc”中,这似乎是通过pc.onGotiationNeeded完成的,如果两个对等方试图同时提供服务,则可能会回滚(请参阅)。但是,回滚只是最近才在chrome和firefox中得到了适当的支持,而在其他浏览器中根本不受支持,而且adapter.js似乎也没有涵盖它 我猜旧的方法是,一个对等方总是提供服务(“提供服务对等方”),如果另一个对等方稍后添加了曲目,则需要请

我想知道如何实现屏幕共享(或任何其他任务,在初始报价/应答完成后,将曲目添加到对等连接中)。我认为有两种可能性:

  • 在“现代webrtc”中,这似乎是通过pc.onGotiationNeeded完成的,如果两个对等方试图同时提供服务,则可能会回滚(请参阅)。但是,回滚只是最近才在chrome和firefox中得到了适当的支持,而在其他浏览器中根本不受支持,而且adapter.js似乎也没有涵盖它
  • 我猜旧的方法是,一个对等方总是提供服务(“提供服务对等方”),如果另一个对等方稍后添加了曲目,则需要请求提供服务的对等方(例如通过信令)发送新的服务(以防止比赛)。这似乎过于复杂,如果需要通过信令“请求”提供,也会增加延迟
  • 所以我的问题是:是否有第三种选择我错过了,或者我能以某种方式使可能性1)向下兼容


    p.S.我知道您可以使用replaceTrack,无需重新协商,但这只适用于您之前已经有视频曲目可以替换的情况。

    这称为信号眩光。完美的谈判试图避免它,但正如你所说,它不是到处都能实现的,也不是可以多重填充的。 第三种选择是,创建新要约的一方不立即将其设置为本地描述,而是等待 1/收到答复 2/收到冲突报价时,眩光处理(通常是一个数字作为平局断路器)决定该报价是否具有更高的优先级