我正在使用kurento将流记录到服务器磁盘。我跟着改变kurento tutorial here 其中node.js中的教程hello-world已更改为将流记录到磁盘。 现在我要做的是更改tutorial4 one-to-one call以将调用者和被调用者流记录到2个文件。
正如我所说,kurento记录器与管道相关联。管道是两个对等体之间连接的表示。 如何在管道中记录单个对等体的流,分别是一个调用者和一个被调用者?
我尝试了很多,但找不到溶剂。
答案 0 :(得分:11)
也许你应该阅读基本的Kurento documentation介绍什么是媒体元素,以及如何管理Kurento的API如何工作的更清晰的图像。
对于您的具体问题,RecorerEndpoint只是能够将提供的流作为输入记录到文件的媒体元素。这意味着您可以将RecorderEndpoint连接到任何其他源元素。例如,如果您在两个对等体之间进行B2B调用,则每个对等体都将关联一个WebRtcEndpoint,以便生成的管道将是这样的:
Peer A <--------->webRtcEndpointA<==>webRtcEndpointB<---------->Peer B
要记录来自对等A和对等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();