我正在进行webRTC视频通话 . 我已成功实施datachannel . 现在我想将视频流添加到同一个对等连接 .
我已经读过应该在回答和提供之前添加流 . 有没有办法在回答或提供后添加流?
如果我在提供或回答之前添加了流,我怎么能停止流式传输并在需要时再次启动它?
维护这么多流可能有任何问题吗?
要在创建完整信令后添加流,Peer连接应为 renegotiate with stream .
pc1.addstream(stream)
然后再次创建优惠并将其发送给其他同行 .
远程对等体将添加流并发送应答SDP .
要阻止流:
stream.stop(); pc1.removeStream(stream);
根据我的经验,Konga Raju建议不起作用 . 我无法发送“更新的优惠”并且实际上发生了视频流 .
我发现这个事件序列适用于我的情况,我希望将视频从对等体1流式传输到对等体2 .
为对等方设置了一些交换消息的方法 . (人们如何实现这一点的差异使得不同的WebRTC代码样本如此不可通约,令人遗憾 . )
在每一侧,为重要的信令事件设置处理程序 . (有些人报告说你需要在特殊时间创建这些处理程序,但我没有发现这种情况 . )有3个基本事件:
从对方发送的冰候选人==>用它来调用 addIceCandidate
addIceCandidate
报价消息==> SetRemoteDescription &做出回答并发送
SetRemoteDescription
答案留言===> SetRemoteDescription
在每一侧,使用我们关心的事件处理程序创建peerconnection对象:onicecandidate,onremovestream,onaddstream等 .
ice候选对象弹出对等连接对象===>将其发送到另一侧
当两个对等体都存在且所有处理程序都到位时,对等体1获得某种触发消息以开始视频捕获( getUserMedia 调用)
getUserMedia
一旦 getUserMedia 成功,我们就有了一个流 . 在对等连接对象上调用 addStream .
addStream
然后同伴1提出要约
由于我们之前设置的处理程序,peer 2发送了一个答案
与此同时(并且相当不透明地),对等连接对象开始产生冰候选者 . 他们在两个同伴之间来回传递并处理(上面的步骤2和3)
由于两个条件的原因,不透明地开始流式处理:
提供/回答交换
冰候选人收到,交换和处理
我还没有找到在步骤9之后添加视频的方法 . 当我想要改变某些内容时,我会回到第3步 .
首先应该将MediaStream添加到peerconnection,然后才能进行提议,答案,候选人的交换 . 如果调用onAddStream(),则表示您正在接收远程视频 .
3 回答
要在创建完整信令后添加流,Peer连接应为 renegotiate with stream .
然后再次创建优惠并将其发送给其他同行 .
远程对等体将添加流并发送应答SDP .
要阻止流:
根据我的经验,Konga Raju建议不起作用 . 我无法发送“更新的优惠”并且实际上发生了视频流 .
我发现这个事件序列适用于我的情况,我希望将视频从对等体1流式传输到对等体2 .
为对等方设置了一些交换消息的方法 . (人们如何实现这一点的差异使得不同的WebRTC代码样本如此不可通约,令人遗憾 . )
在每一侧,为重要的信令事件设置处理程序 . (有些人报告说你需要在特殊时间创建这些处理程序,但我没有发现这种情况 . )有3个基本事件:
从对方发送的冰候选人==>用它来调用
addIceCandidate
报价消息==>
SetRemoteDescription
&做出回答并发送答案留言===>
SetRemoteDescription
在每一侧,使用我们关心的事件处理程序创建peerconnection对象:onicecandidate,onremovestream,onaddstream等 .
ice候选对象弹出对等连接对象===>将其发送到另一侧
当两个对等体都存在且所有处理程序都到位时,对等体1获得某种触发消息以开始视频捕获(
getUserMedia
调用)一旦
getUserMedia
成功,我们就有了一个流 . 在对等连接对象上调用addStream
.然后同伴1提出要约
由于我们之前设置的处理程序,peer 2发送了一个答案
与此同时(并且相当不透明地),对等连接对象开始产生冰候选者 . 他们在两个同伴之间来回传递并处理(上面的步骤2和3)
由于两个条件的原因,不透明地开始流式处理:
提供/回答交换
冰候选人收到,交换和处理
我还没有找到在步骤9之后添加视频的方法 . 当我想要改变某些内容时,我会回到第3步 .
首先应该将MediaStream添加到peerconnection,然后才能进行提议,答案,候选人的交换 . 如果调用onAddStream(),则表示您正在接收远程视频 .