diff --git a/openvidu-java-client/src/main/java/io/openvidu/java/client/Recording.java b/openvidu-java-client/src/main/java/io/openvidu/java/client/Recording.java index 8e0c5456..3ddfa4e3 100644 --- a/openvidu-java-client/src/main/java/io/openvidu/java/client/Recording.java +++ b/openvidu-java-client/src/main/java/io/openvidu/java/client/Recording.java @@ -190,10 +190,11 @@ public class Recording { /** * URL of the recording. You can access the file from there. It is - * null until recording is stopped or if + * null until recording is stopped. If * OpenVidu Server configuration property - * openvidu.recording.public-access is false + * openvidu.recording.public-access is false, this path will be + * secured with OpenVidu credentials */ public String getUrl() { return url; diff --git a/openvidu-node-client/src/Recording.ts b/openvidu-node-client/src/Recording.ts index 3b718695..fd2e9894 100644 --- a/openvidu-node-client/src/Recording.ts +++ b/openvidu-node-client/src/Recording.ts @@ -49,7 +49,7 @@ export class Recording { duration = 0; /** - * URL of the recording. You can access the file from there. It is `null` until recording is stopped or if OpenVidu Server configuration property `openvidu.recording.public-access` is false + * URL of the recording. You can access the file from there. It is `null` until recording is stopped. If OpenVidu Server configuration property `openvidu.recording.public-access` is false, this path will be secured with OpenVidu credentials */ url: string; diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingManager.java b/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingManager.java index 39fa8c46..9e8a5cd4 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingManager.java +++ b/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingManager.java @@ -417,11 +417,25 @@ public class RecordingManager { log.error("Exception while closing FileReader: {}", e.getMessage()); } } - return new Recording(json); + Recording recording = new Recording(json); + String recordingUrl = openviduConfig.getFinalUrl() + "recordings/" + recording.getId() + "/" + + recording.getName() + "." + this.getExtensionFromRecording(recording); + recording.setUrl(recordingUrl); + return recording; } return null; } + public String getExtensionFromRecording(Recording recording) { + if (io.openvidu.java.client.Recording.OutputMode.INDIVIDUAL.equals(recording.getOutputMode())) { + return "zip"; + } else if (recording.hasVideo()) { + return "mp4"; + } else { + return "webm"; + } + } + public void initAutomaticRecordingStopThread(final Session session) { final String recordingId = this.sessionsRecordings.get(session.getSessionId()).getId(); ScheduledFuture future = this.automaticRecordingStopExecutor.schedule(() -> {