【问题标题】:WebRTC: removeStream and then re- addStream after negotiation: Safe?WebRTC:removeStream,然后在协商后重新 addStream:安全吗?
【发布时间】:2017-02-16 21:44:22
【问题描述】:

在建立 WebRTC 会话后,我想在某个时间停止向对等方发送流,然后再继续发送。

如果我调用 removeStream,它确实会停止发送数据。如果我然后调用 addStream (使用先前删除的流),它会恢复。太好了!

但是,这样安全吗?或者我是否需要在删除和/或重新添加后重新协商/交换 SDP?我在几个地方看到它提到在此类更改后需要重新协商 SDP,但我想知道在删除并重新添加相同流的这种简单情况下是否可以?

PS:以防万一有人想建议:我不想更改轨道的启用状态,因为我仍然需要本地流播放,即使它没有被发送到对等方。

【问题讨论】:

  • 你能解释一下你所说的“安全”是什么意思吗?不知道你在问什么。
  • 根据您的回答,您知道我在问什么。 :) 安全,例如,它是合法的还是它起作用的侥幸。

标签: webrtc


【解决方案1】:

它只能在 Chrome 中运行,并且是非规范的,因此它既不兼容网络,也不面向未来。

spec 已从流媒体转向赛道,体育运动addTrackremoveTrack 而不是addStreamremoveStream。因此在 Firefox 中是后者isn't even implemented

很遗憾,由于 Chrome 没有赶上,这意味着重新协商目前在不同浏览器中的工作方式不同。 It is possible 不过要付出一些努力。

新模型在流和 RTCPeerConnection 中发送的内容之间有更清晰的分离。

设置track.enabled = false 是一个好主意,而不是重新协商。您仍然可以通过cloning 播放视频的本地视图。

【讨论】:

  • 感谢您的详尽回答!这说明了一切。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-01
  • 1970-01-01
  • 2014-07-30
  • 2014-12-06
  • 2011-05-15
  • 2014-09-01
  • 1970-01-01
相关资源
最近更新 更多