diff --git a/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java b/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java index 8ca0a606..8daeb3c2 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java +++ b/openvidu-server/src/main/java/io/openvidu/server/config/OpenviduConfig.java @@ -293,8 +293,8 @@ public class OpenviduConfig { return this.openviduRecordingPath; } - public String getOpenViduRemoteRecordingPath() { - return getOpenViduRecordingPath(); + public String getOpenViduRecordingPath(String key) { + return this.openviduRecordingPath; } public boolean getOpenViduRecordingPublicAccess() { diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedQuickStartRecordingService.java b/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedQuickStartRecordingService.java index 61a29943..490b3a8f 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedQuickStartRecordingService.java +++ b/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedQuickStartRecordingService.java @@ -224,7 +224,7 @@ public class ComposedQuickStartRecordingService extends ComposedRecordingService Volume volume1 = new Volume("/recordings"); List volumes = new ArrayList<>(); volumes.add(volume1); - Bind bind1 = new Bind(openviduConfig.getOpenViduRecordingPath(), volume1); + Bind bind1 = new Bind(openviduConfig.getOpenViduRecordingPath(properties.mediaNode()), volume1); List binds = new ArrayList<>(); binds.add(bind1); containerId = dockerManager.runContainer(properties.mediaNode(), container, containerName, null, volumes, @@ -245,7 +245,7 @@ public class ComposedQuickStartRecordingService extends ComposedRecordingService private void waitForComposedQuickStartFiles(Recording recording) throws Exception { final int SECONDS_MAX_WAIT = fileManager.maxSecondsWaitForFile(); - final String PATH = this.openviduConfig.getOpenViduRecordingPath() + recording.getId() + "/"; + final String PATH = this.openviduConfig.getOpenViduRecordingPath(recording.getRecordingProperties().mediaNode()) + recording.getId() + "/"; // Waiting for the files generated at the end of the stopping process: the // ffprobe info and the thumbnail diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedRecordingService.java b/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedRecordingService.java index 11146598..7eb5b988 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedRecordingService.java +++ b/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedRecordingService.java @@ -169,7 +169,7 @@ public class ComposedRecordingService extends RecordingService { Volume volume1 = new Volume("/recordings"); List volumes = new ArrayList<>(); volumes.add(volume1); - Bind bind1 = new Bind(openviduConfig.getOpenViduRecordingPath(), volume1); + Bind bind1 = new Bind(openviduConfig.getOpenViduRecordingPath(properties.mediaNode()), volume1); List binds = new ArrayList<>(); binds.add(bind1); containerId = dockerManager.runContainer(properties.mediaNode(), container, containerName, null, volumes, @@ -205,7 +205,7 @@ public class ComposedRecordingService extends RecordingService { recording.getSessionId()); CompositeWrapper compositeWrapper = new CompositeWrapper((KurentoSession) session, - "file://" + this.openviduConfig.getOpenViduRecordingPath() + recording.getId() + "/" + properties.name() + "file://" + this.openviduConfig.getOpenViduRecordingPath(properties.mediaNode()) + recording.getId() + "/" + properties.name() + ".webm"); this.composites.put(session.getSessionId(), compositeWrapper); @@ -431,7 +431,7 @@ public class ComposedRecordingService extends RecordingService { } protected void waitForVideoFileNotEmpty(Recording recording) throws Exception { - final String VIDEO_FILE = this.openviduConfig.getOpenViduRecordingPath() + recording.getId() + "/" + final String VIDEO_FILE = this.openviduConfig.getOpenViduRecordingPath(recording.getRecordingProperties().mediaNode()) + recording.getId() + "/" + recording.getName() + RecordingService.COMPOSED_RECORDING_EXTENSION; this.fileManager.waitForFileToExistAndNotEmpty(recording.getRecordingProperties().mediaNode(), VIDEO_FILE); log.info("File {} exists and is not empty", VIDEO_FILE); diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/service/SingleStreamRecordingService.java b/openvidu-server/src/main/java/io/openvidu/server/recording/service/SingleStreamRecordingService.java index 9127a10f..d064cbd3 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/recording/service/SingleStreamRecordingService.java +++ b/openvidu-server/src/main/java/io/openvidu/server/recording/service/SingleStreamRecordingService.java @@ -249,9 +249,10 @@ public class SingleStreamRecordingService extends RecordingService { KurentoParticipant kurentoParticipant = (KurentoParticipant) participant; MediaPipeline pipeline = kurentoParticipant.getPublisher().getPipeline(); + String kmsUri = kurentoParticipant.getSession().getKms().getUri(); RecorderEndpoint recorder = new RecorderEndpoint.Builder(pipeline, - "file://" + openviduConfig.getOpenViduRemoteRecordingPath() + recordingId + "/" + fileName + "file://" + openviduConfig.getOpenViduRecordingPath(kmsUri) + recordingId + "/" + fileName + fileExtension).withMediaProfile(profile).build(); recorder.addRecordingListener(new EventListener() {