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(() -> {