TAMS
Record video and audio streams into the Time Addressable Media Store (TAMS) and open a player for the recording.
Component Configuration
| Option | Description | Required | Environment override |
|---|---|---|---|
id |
A unique identifier for the component instance |
✓ |
|
displayName |
The name shown in the Studio UI of this component |
✓ |
|
storePath |
The path to which recordings will be made |
✓ |
|
cutsPath |
The path to which cuts will be made |
✗ |
|
expiryHours |
How long segments (and any cut files) are kept on local disk, in hours. This is the local retention tier; when replicating to a remote store you can set a separate, longer remote expiry. (default: 24) |
✗ |
|
audioFragmentDurationSeconds |
How long recorded audio fragments are, in seconds. Audio defaults to 11s, which sets how close to live a reader consuming both audio and video can play; a smaller value (e.g. 1) lowers that floor for near-live playback, at the cost of more, smaller objects. Leave blank to keep the 11s default. |
✗ |
|
remoteReplication |
How recorded segments are retained. `None (local only)` keeps them on local disk for the expiry above and nowhere else. Choosing a remote object store (HTTP, S3 or OCI) replicates each segment there — advertised as a `remote` get_url on the TAMS timeline — and unlocks two tiered-storage modes via the retention setting: `Local + remote` (a fast local tier plus a durable remote copy, each with its own expiry) or `Expire when replicated` (local is freed once replicated and the remote store becomes the retention tier). S3 credentials come from the Norsk container's environment; OCI is supported natively with explicit auth defaulting to the instance principal. (default: {"type":"none"}) |
✗ |
|
|
Options with an environment override can be set when Studio starts, without
editing the workflow. |
Remote Replication (HTTP)
| Option | Description | Required |
|---|---|---|
type |
"http" |
✓ |
baseUrl |
Base URL that segment objects are PUT under |
✓ |
headers |
Optional custom headers added to each PUT request (default: []) |
✗ |
localRetention |
What happens to a segment's local copy once it is safely on the remote store. "Local + remote" keeps it for the local expiry above, so the store has a fast local tier alongside the durable remote copy. "Expire when replicated" removes it, making the remote store the retention tier. Cuts and local playback need the local bytes, so choose "Local + remote" if you cut from this store. (default: "keepLocal") |
✗ |
remoteExpiryHours |
How long the remote store keeps each replicated segment, in hours. Leave blank to keep it indefinitely. Independent of the local expiry above — pair a short local expiry with a long (or blank) remote expiry for a small local cache backed by a durable remote archive. |
✗ |
Remote Replication (S3)
| Option | Description | Required |
|---|---|---|
type |
"s3" |
✓ |
bucket |
Target S3 bucket |
✓ |
region |
AWS region (defaults to the AWS_REGION environment variable) |
✗ |
keyPrefix |
Optional key prefix under which objects are uploaded |
✗ |
endpoint |
Override endpoint for S3-compatible stores (e.g. OCI Object Storage) |
✗ |
forcePathStyle |
Use path-style addressing, required by some S3-compatible stores (e.g. OCI) |
✗ |
presign |
Advertise presigned get_urls instead of plain object URLs |
✗ |
presignExpirySeconds |
Expiry, in seconds, for presigned get_urls |
✗ |
localRetention |
What happens to a segment's local copy once it is safely on the remote store. "Local + remote" keeps it for the local expiry above, so the store has a fast local tier alongside the durable remote copy. "Expire when replicated" removes it, making the remote store the retention tier. Cuts and local playback need the local bytes, so choose "Local + remote" if you cut from this store. (default: "keepLocal") |
✗ |
remoteExpiryHours |
How long the remote store keeps each replicated segment, in hours. Leave blank to keep it indefinitely. Independent of the local expiry above — pair a short local expiry with a long (or blank) remote expiry for a small local cache backed by a durable remote archive. |
✗ |
Remote Replication (OCI)
| Option | Description | Required |
|---|---|---|
type |
"oci" |
✓ |
bucket |
Target OCI Object Storage bucket |
✓ |
auth |
How Norsk authenticates to OCI. Instance principal (the default) needs no configuration when Norsk runs on a suitably-policied OCI instance; the other options supply user API-key material. (default: {"type":"instancePrincipal"}) |
✗ |
namespace |
Object Storage namespace. Discovered from the tenancy when omitted. |
✗ |
region |
Region identifier, e.g. uk-london-1. Taken from the auth profile / instance metadata when omitted. |
✗ |
keyPrefix |
Optional key prefix under which objects are uploaded |
✗ |
endpoint |
Optional scheme://host[:port] override of the regional endpoint |
✗ |
realmDomainComponent |
Realm domain (default oraclecloud.com; set for government realms) |
✗ |
presign |
Advertise presigned get_urls instead of plain object URLs |
✗ |
presignExpirySeconds |
Expiry, in seconds, for presigned get_urls |
✗ |
localRetention |
What happens to a segment's local copy once it is safely on the remote store. "Local + remote" keeps it for the local expiry above, so the store has a fast local tier alongside the durable remote copy. "Expire when replicated" removes it, making the remote store the retention tier. Cuts and local playback need the local bytes, so choose "Local + remote" if you cut from this store. (default: "keepLocal") |
✗ |
remoteExpiryHours |
How long the remote store keeps each replicated segment, in hours. Leave blank to keep it indefinitely. Independent of the local expiry above — pair a short local expiry with a long (or blank) remote expiry for a small local cache backed by a durable remote archive. |
✗ |
Tags: tams media store recorder