Storage configuration
100ms can upload your recordings to your preferred cloud storage location. We support the following providers:
- Amazon Simple Storage Service (AWS S3)
- Google Cloud Storage (GCP)
- Alibaba Object Storage (OSS)
By default, recordings will be stored temporarily (for 15 days) in a storage location managed by 100ms if nothing is configured. Post a successful recording, the recording assets can be accessed on the 100ms dashboard or through the REST API.
Configure recording storage
You can configure storage in your template's Recording
tab on the 100ms Dashboard. As an example, this is how you would configure a GCP location:
-
Generate your credentials; for this example, you can check out a guide from AWS. Skip this step if you already have credentials.
Note
If you are using Room Composite recording, you need to give upload permission to your key, but if you are using the SFU legacy recording, you need to give both upload and download permissions.
-
Go to 100ms Dashboard and go to template configuration by selecting 'Configure' under Templates. The below image shows two options to access template configuration.
-
Head over to the Recording tab.
-
Key in your credentials (using an example of an Google Cloud Services (GCP) bucket here):
- Access Key: Access Key generated from GCP IAM Console
- Secret Key: Secret Key generated from GCP IAM Console
- Bucket: Name of the bucket in GCP
- Region: Name of the region, for example, asia-south1
- Prefix for Upload Path: Define the directory name (optional)
-
Click on the Validate button to test your storage setup.
-
A toast with the message 'Recording upload config validated successfully' will pop-up in the top right. This confirms that the configuration is successful.
- Save your updated settings.
Fetching the asset
You can access your recordings on the sessions page in the 100ms Dashboard.
Path formats
The recording path for these respective recordings will look like:
-
Room composite recording:
s3://<location>/<prefix>/beam/<room_id>/<start_date>/Rec-<room_id>-<epoch>.mp4
-
Room composite - legacy recording (SFU recording):
-
Composite:
s3://<location>/<prefix>/<room_id>/<start_date>/<session_id>/Rec-<session_id>-<epoch>.mp4
-
Individual:
s3://<location>/<prefix>/<room_id>/<start_date>/<session_id>/<peer_id>/<stream_id>/<track_id>.webm
-
-
HLS recording - Multi-resolution layer:
s3://<location>/<prefix>/hls/<room_id>/<start_date>/<epoch>/file-recording/Rec-<room_id>-<epoch>-<layer_index>.mp4
-
HLS recording - Zipped Video-on-demand:
s3://<location>/<prefix>/hls/<room_id>/<start_date>/<epoch>/vod/Rec-<room_id>-<epoch>.zip
Name | Description |
---|---|
Location | Name of the bucket where recordings are stored |
Prefix | Prefix for upload path which is configured in storage settings of your template. If not configured, the default value for this will be your Customer ID |
Room ID | The identifier for the room which was recorded |
Start Date | Start date of the session |
Epoch | Start time of the recorder in the session |
Peer ID | Unique identifier of a peer in a room |
Stream ID | Unique identifier for a particular stream of a room (audio-video/screenshare) |
Track ID | Unique identifier for a particular track (audio or video) of a stream |
Layer Index | Layer index values show descending HLS resolutions - 0(1080p), 1(720p), 2(480p), 3(360p) and 4(240p). If highest resolution of template is 720p, then 0(720p), 1(480p), 2(360p) and 3(240p) |