Возможно, вам стоит ознакомиться с базовым Kurento documentation, представляющим, что такое элемент мультимедиа, и что такое конвейер, чтобы иметь более четкое представление о том, как работает API Kurento.
Для конкретного вопроса RecorerEndpoint представляет собой только элемент мультимедиа, способный записывать в файл поток, предлагаемый в качестве его ввода. Это означает, что вы можете подключить RecorderEndpoint к любому другому исходному элементу. Например, если у вас есть B2B вызов между двумя узлами, каждый узел не связали WebRtcEndpoint так, что в результате трубопровод будет что-то вроде этого:
Peer A <--------->webRtcEndpointA<==>webRtcEndpointB<---------->Peer B
Для записи потоков, поступающих из обоих Peer A и Peer B , вам просто нужно создать два RecorderEndpoints и соединить их соответствующим образом, чтобы конечный трубопровод что-то вроде:
------>recorderEndpointA
|
Peer A <--------->webRtcEndpointA<==>webRtcEndpointB<---------->Peer B
|
--->recorderEndpointB
исходный код для этого должен включать в себя (я ommit шаблонный код, который у вас уже есть в учебниках вы цитируете):
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();