对等方必须能够转发数据才能以对等覆盖(例如Chord)进行广播。当每个节点(对等体)接收到数据时,它将把数据转发到其路由表中的所有其他节点,然后这些节点将再次转发相同的数据,直到环中的所有节点都接收到数据。例如,结构化p2p WebRTC广播需要一种转发WebRTC视频流的方法。
根据我的理解,javascript WebRTC API旨在允许开发人员设置连接但不直接处理媒体流。将高级视频对象“插入”连接对象以使用视频流而不会对视频数据进行较低级别的访问。
问题
答案 0 :(得分:3)
将传入的流从一个RTCPeerConnection转发到另一个RTCPeerConnection当然是可能的。这是一个例子:http://googlechrome.github.io/webrtc/samples/web/content/peerconnection/multiple-relay/
但是,在这种情况下,您无法获得对帧的低级访问,并且内容将被解码和重新编码,而不是按原样传递。
答案 1 :(得分:2)
首先,我想我已经设法将A的视频转发给C. 由于我只使用一台PC(笔记本电脑)和两台不同的相机进行测试,我不是100%肯定,但我认为我已经完成了它,看起来RTCPeerconnection能够采用远程流。
是的,我正在使用easyrtc库,因为我找不到任何可行的简单代码来测试。所以基本的想法应该是,
抓住事件视频。 B连接到A,
B保存从A收到的远程流引用;
C连接到B,
B而不是传递本地媒体流,将远程媒体流交给C;
C将保存该远程媒体流;
当D连接到C时,C会将从B收到的远程媒体流(实际上是从A收到的)传递给D
并且同样明智地说,流程继续......即A的媒体流像波浪一样通过B,C,D,E ....
请注意,连接流应如下所示: A - B - C - D - E ...每个节点与前一个节点和下一个节点只有两个连接..
然而,长话短说 - 是的,您可以访问媒体流并将其交给另一个远程连接
我只需要一位专家,他可以给我一个基于JS的原始webrtc代码,其中A与B连接,反之亦然..我会尝试编写C连接B和D连接C代码进行正确测试。< / p>
答案 2 :(得分:0)