Auto HLS (TS)

Creates HLS outputs with Transport Stream segments from multiple video and audio streams

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

name

The name of the multivariant/dash playlist (default: "default")

<COMPONENT_ID>_NAME

sessionId

Generate a unique session id per run to avoid cache collisions (default: true)

allowPreview

Whether to allow the preview to be shown in the UI (default: true)

notes

Additional notes about this component

segments

Detailed segment configuration

<COMPONENT_ID>_SEGMENTS

destinations

Destination to publish to (default: [])

<COMPONENT_ID>_DESTINATIONS

pushMode

If pushing to a remote destination. include these playlist types (default: "hls_dash")

subtitleFormat

Container format for subtitle renditions. WebVTT is served as raw .vtt for HLS (CMAF for DASH); TTML is always stpp fragmented-MP4, even for the HLS-TS variant. (default: "webvtt")

pdtEverySegment

Insert Program Date Time every segment (default: true)

initialState

The publishing state of this endpoint by default on start-up (default: "enabled")

<COMPONENT_ID>_INITIALSTATE

multiplePrograms

Produce multiple multivariants if more than one program is present (default: false)

discontinuityHandling

What to do when a gap or discontinuity is encountered (default: "discontinuity")

pdtSource

What to use for Program-Date-Time - Norsk time or (where available, e.g. form SEI timecodes) source time (default: "norsk")

consistentSegments

Generate segments consistently across Norsk instances (default: false)

addCmsdHeaders

Add CMSD headers (default: false)

c2paSigning

Sign init and media segments with a C2PA Live Video manifest before delivering them. Default is disabled. (default: {"type":"disabled"})

Options with an environment override can be set when Studio starts, without editing the workflow. <COMPONENT_ID> is this component’s id in your workflow, uppercased, with spaces and dashes replaced by underscores and other punctuation removed — a component named SRT Input reads SRT_INPUT_PORT. Renaming a component changes its id, and so changes these variable names.

Segments

Option Description Required

retentionPeriod

How many seconds of data to retain for playback in media playlists (default: 60)

defaultSegmentCount

How many segments to display in a default playlist (0 means show all) (default: 0)

targetSegmentDuration

How many seconds should be in each segment (default: 4)

targetPartDuration

For low latency playlists, what size parts should be generated in seconds (default: 1)

audioSegmentStrategy

Detailed segmentation strategy. Must be configured to match segment duration (after rounding) or invalid playlists may be generated (default: {"type":"default"})

videoSegmentStrategy

Detailed segmentation strategy. Must be configured to match segment duration (after rounding) or invalid playlists may be generated (default: {"type":"default"})

integralSegmentDuration

Round segment durations in playlist to integers instead of true decimal value. Possible workaround for certain player issues. (default: true)

holdBackSegments

How many segments back should a player start

holdBackParts

How many parts back should a player start

lowLatency

Produce low-latency HLS (EXT-X-PART / blocking reload). Turn this off for standard, CDN-cacheable playlists with no parts — recommended when delivering through a caching CDN. (default: true)

Destinations (Akamai)

Option Description Required

type

"akamai"

ingest

The complete URL to be pushed to

playback

The URL from which playback can be accessed

includeAdInsertions

If ad markers are inserted, include them in this publication (default: false)

customHeaders

Optional custom headers added to every push request sent to this destination (e.g. CDN authentication tokens) (default: [])

retention

Retention override for this destination. Any field left blank uses the shared Segment retention.

Destinations (S3)

Option Description Required

type

"s3"

host

The hostname of the s3 bucket to push to

prefix

The sub directory of the bucket to place playlists and segments into

includeAdInsertions

If ad markers are inserted, include them in this publication (default: false)

retention

Retention override for this destination. Any field left blank uses the shared Segment retention.

Destinations (OCI)

Option Description Required

type

"oci"

bucket

The OCI Object Storage bucket to push to

prefix

The object-name prefix under which playlists and segments are placed

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.

endpoint

Optional scheme://host[:port] override of the regional endpoint

realmDomainComponent

Realm domain (default oraclecloud.com; set for government realms)

includeAdInsertions

If ad markers are inserted, include them in this publication (default: false)

retention

Retention override for this destination. Any field left blank uses the shared Segment retention.

C2pa Signing (Disabled)

Option Description Required

type

"disabled"

C2pa Signing (Enabled — Segment Manifest Box (§19.3))

Option Description Required

type

"segmentManifestBox"

alg

Signing algorithm. Must match the supplied certificate. (default: "es256")

privateKeyPath

Filesystem path (readable by the Norsk Media process) to the PEM-encoded private key. Not the key contents.

signCertPath

Filesystem path (readable by the Norsk Media process) to the PEM-encoded signing certificate. Not the certificate contents.

taUrl

Optional Time Authority URL for timestamping signatures. If omitted, the C2PA_TA_URL environment variable is consulted; if also unset, the manifest is signed without a timestamp token.

streamId

Identifier embedded in every signed segment's c2pa.livevideo.segment assertion. Should be unique per logical stream so downstream validators can correlate the sequence chain. (default: "auto-cmaf")

chainOfTrust

Derived-signer mode: every output segment carries a parentOf C2PA ingredient pointing back at the verified upstream segment. Requires the input to have c2paVerification enabled — when no verified parent is available the segment is signed unchained and a c2pa_chain_dropped notification fires. (default: false)

C2pa Signing (Enabled — Verifiable Segment Info (§19.4))

Option Description Required

type

"verifiableSegmentInfo"

alg

Signing algorithm. Must match the supplied certificate. (default: "es256")

privateKeyPath

Filesystem path (readable by the Norsk Media process) to the PEM-encoded private key. Not the key contents.

signCertPath

Filesystem path (readable by the Norsk Media process) to the PEM-encoded signing certificate. Not the certificate contents.

taUrl

Optional Time Authority URL for timestamping signatures. If omitted, the C2PA_TA_URL environment variable is consulted; if also unset, the manifest is signed without a timestamp token.

streamId

Identifier embedded in every signed segment's c2pa.livevideo.segment assertion. Should be unique per logical stream so downstream validators can correlate the sequence chain. (default: "auto-cmaf")

validityPeriodSecs

Validity window (seconds) advertised in the §19.4 c2pa.session-keys assertion. Leave empty to use the SDK default (86400, 24h).

Global Configuration

Ezdrm Config

Environment override: GLOBAL_EZDRM_CONFIG (sets this global option as a whole).

Option Description Required

token

Token for EZDRM

pX

The last six digits of your Widevine Profile ID

Axinom Config

Environment override: GLOBAL_AXINOM_CONFIG (sets this global option as a whole).

Option Description Required

tenantId

Tenant ID from your Axinom DRM account

managementKey

Management Key from your Axinom DRM account

comKeyId

Communication Key ID from your Axinom DRM account

comKey

Communication Key from your Axinom DRM account

Tags: hls ts transport stream abr playlist