Recording Delivery
When a video session ends and recording processing completes, EnableX stores the resulting files — individual stream recordings, transcoded video, live recordings, chat transcripts, and metadata — on its servers. By default, these files are accessible via authenticated HTTPS URLs.
The Recording Delivery service takes this further: it automatically pushes those files to a storage location you own — an FTP/SFTP server, an AWS S3 bucket, Google Drive, or Microsoft Azure Blob Storage — so recordings land in your infrastructure without any manual download step.
You choose which file types are transferred. The available types are:
- Individual Recording — One file per participant stream. These are the raw recordings captured from each participant's outgoing video track during the session.
- Live Recording — A recording captured in real time during the session using the Custom UI live-recording feature.
- Transcoded — A single re-playable video file produced by merging and transcoding the individual stream recordings. This is typically the file you surface to end users for playback.
- Metadata — A structured log file of in-session activity: participant join/leave events, stream state changes, and session telemetry.
- Chat Data — The full text chat transcript from the session.
EnableX organises transferred files into sub-folders at the destination using the following structure:
<destination-root>/
<room_id>/
<conf_num>/
individual_recording_1.mov
individual_recording_2.mov
transcoded.mov
chat.json
metadata.json
Every file is placed under a folder named after the room_id, then a subfolder
named after the conf_num (conference number). This structure means you can
identify recordings by room and session directly from the file path, without needing a
separate index.
Configure via the Portal
Recording Delivery is configured per project. To set it up:
- Log in to the EnableX Portal.
- Navigate to My Projects and select your project.
- Click the Settings tab, then open the Recording & Delivery tab.
- Under Deliver File Types, select which file types you want transferred.
- Under Deliver Files To, choose your destination and fill in the connection details.
- Click Save.
From this point on, whenever a session in this project produces recordings, EnableX will automatically push the selected file types to your configured destination.
FTP / SFTP
Select FTP to my server from the Deliver files to dropdown. Provide:
- FTP Server — Hostname or IP address of your FTP server.
- Username — FTP account username.
- Password — FTP account password.
- Port — Optional. Defaults to the standard FTP port if left blank.
SCP (Secure Copy)
Select Secure copy to my server. This uses SCP over SSH to securely transfer files to your server. Provide your SSH host, username, and authentication credentials in the SFTP Settings section that appears.
AWS S3
Select Save on AWS S3. Provide your AWS Access Key ID, Secret Access Key,
bucket name, and region. EnableX uses these credentials to write directly to your S3 bucket
under the room_id/conf_num prefix.
Google Drive
Select Save on Google Drive. Connect your Google account and specify the
target Drive folder. EnableX will upload files into the designated folder using the
room_id/conf_num organisation.
Microsoft Azure
Select Save on Microsoft Azure. Provide your Azure Blob Storage account
name, account key, and target container. Files are uploaded using the standard
room_id/conf_num blob prefix.
Once recording files are successfully transferred to your destination, EnableX posts a
file_transfer webhook notification to your configured Webhook URL. This
notification includes the final paths of the transferred files at your destination, allowing
your application to immediately update its database to reference the new locations.
For the full payload format and integration guidance, see Webhooks — Files Transferred.
If you do not need automatic file delivery, recordings remain accessible on the EnableX server for a period after the session. You can access them in two ways.
Video API — Archive Route
The Video API provides an Archive route that returns a list of recording files for a given room, session, or date range. Issue an HTTP GET request to the archive route with the relevant filters:
- Date range (start and end date)
- Room ID
- Room ID within a date range
- Specific session by Conference Number (
conf_num)
The response is a JSON array of recording file records, each containing the URL and metadata for the file. Use the URLs to download individual files as needed.
Do not poll the Archive API on a timer. The right approach is reactive: wait for the
recording, transcoded, or live_recording webhook
notification, then call the Archive API if you need additional metadata. Alternatively,
the notification itself already contains the download URLs — so for simple download-and-store
workflows, you may not need to call the Archive API at all.
Portal — Recordings Report
The EnableX Portal provides a Recordings report with filter options for project, date range, and room. The report lists all sessions and includes direct download links for individual recordings, live recordings, and transcoded files.
To access the report:
- Log in to the EnableX Portal.
- Navigate to Video → Recordings.
- Apply the desired filters and click the Download link for any session.
Portal download links expire after 72 hours. Use the Video API Archive route or Recording Delivery for programmatic or automated access.
Recording files stored on the EnableX server are protected by HTTP Basic Authentication. Every URL pointing to a recording file — whether received via webhook, returned by the Archive API, or shown in the Portal — requires credentials to access.
This applies to all session file types: individual recordings, transcoded files, live recordings, chat scripts, and metadata files.
Accessing Files Programmatically
When your application code fetches a recording URL, the EnableX server returns an
HTTP 403 Forbidden response if no credentials are provided. To authenticate,
embed the username and password directly in the URL using the standard HTTP Basic Auth
URL format:
https://username:[email protected]/path/file.mov
Use this credential-embedded URL wherever your application needs to download or stream a recording file. The same pattern applies to transcoded files, chat scripts, and metadata.
Accessing Files via Browser
When you open a recording URL in a browser, the browser presents a username and password prompt (HTTP Basic Auth challenge). Enter the recording access credentials to proceed. Once authenticated in the browser session, all subsequent recording URLs can be accessed without being prompted again.
Getting Your Recording Credentials
EnableX provides default credentials for accessing recording files. To retrieve them:
- Log in to the EnableX Portal.
- Navigate to Video → Recordings.
- Select the Video Project and click Apply.
The default username and password for recording file access are displayed at the top of the report. Once you have changed the password (see below), the default credentials are no longer shown.
Resetting Your Recording Password
You can replace the default password with one of your own choosing:
- Log in to the EnableX Portal.
- Navigate to My Projects and select the desired Video Project.
- Open the Settings tab, then select the Recording Access Control tab.
- Enter your existing account password to authorise the change.
- Enter and confirm your new password. Minimum length: 10 characters.
- Click Save.
The Recording Access Control tab is only displayed if your project has at least one session recording available.
Updating Your Application
If you have an existing application that accesses recording URLs without credentials (using unauthenticated public URLs from before May 2022), you must update it:
-
If accessing via webhook or API response URLs — Update the code that
constructs or uses those URLs to prepend
username:password@before the hostname, as shown in the format above. - If accessing via the Portal report — No code change needed; the browser handles the authentication challenge interactively.
Unauthenticated requests to recording URLs now return HTTP 403. Ensure your application is updated to include credentials before attempting to download or stream any recording files.