3

我正在使用 kurento 将流记录到服务器磁盘。我在这里跟随了kurento 教程的更改, 其中 node.js 中的教程 hello-world 被更改为将流记录到磁盘。现在我要做的是更改tutorial4一对一调用,将调用者和被调用者流记录为2个文件。

据我了解, kurento 录音机与管道相连。管道是 2 个对等点之间连接的表示。如何记录管道中单个对等点的流,分别流调用者之一和被调用者之一?

我尝试了很多,但找不到解决方案。

4

1 回答 1

12

也许您应该阅读基本的Kurento 文档,介绍什么是媒体元素以及什么是管道,以便更清晰地了解 Kurento 的 API 工作原理。

对于您的具体问题,RecorerEndpoint 只是能够将流作为输入提供的文件记录到文件的媒体元素。这意味着您可以将 RecorderEndpoint 连接到任何其他源元素。例如,如果您在两个对等点之间进行 B2B 调用,则每个对等点都将关联一个 WebRtcEndpoint,因此生成的管道将如下所示:

Peer A <--------->webRtcEndpointA<==>webRtcEndpointB<---------->Peer B

要记录来自 Peer A 和 Peer B 的流,您只需要创建两个 RecorderEndpoints 并适当地连接它们,以便最终管道类似于:

                             ------>recorderEndpointA
                             |
 Peer A <--------->webRtcEndpointA<==>webRtcEndpointB<---------->Peer B
                                        |
                                        --->recorderEndpointB

源代码应包括(我省略了您引用的教程中已有的样板代码):

pipeline.create('RecorderEndpoint', {uri: "file:///tmp/fileA.webm"}, function(error, recorderEndpointA ...
...
webRtcEndpointA.connect(recorderEndpointA);
recorderEndpointA.record();

pipeline.create('RecorderEndpoint', {uri: "file:///tmp/fileB.webm"}, function(error, recoderEndpointB ...
...
webRtcEndpointB.connect(recorderEndpointB);
recorderEndpointB.record();
于 2014-12-23T15:49:35.563 回答