转发用于对等广播的WebRTC视频

时间:2013-11-05 23:35:05

标签: html5 html5-video p2p webrtc chord

对等方必须能够转发数据才能以对等覆盖(例如Chord)进行广播。当每个节点(对等体)接收到数据时,它将把数据转发到其路由表中的所有其他节点,然后这些节点将再次转发相同的数据,直到环中的所有节点都接收到数据。例如,结构化p2p WebRTC广播需要一种转发WebRTC视频流的方法。

根据我的理解,javascript WebRTC API旨在允许开发人员设置连接但不直接处理媒体流。将高级视频对象“插入”连接对象以使用视频流而不会对视频数据进行较低级别的访问。

问题

  1. 有没有办法在WebRTC客户端内访问原始视频流?
  2. WebRTC中是否有任何形式的原始消费者对象或转发/中继对象?

3 个答案:

答案 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)

  1. 不,客户端没有。你必须将它发送到服务器,你可以在那里做任何你想做的事情。
  2. 您必须为要转发的每个对等方打开一个单独的对等连接。
  3. 来源:http://www.youtube.com/watch?v=E8C8ouiXHHk