Auto Muxed TS

This component muxes a single audio stream into every video rendition, producing one MPEG Transport Stream per rendition (audio and video together). The generated multivariant therefore has no separate audio rendition group — unlike output.autoHls and output.autoCmaf, whose renditions reference a shared audio group. Use this when a downstream consumer (for example an ad-insertion service) expects self-contained muxed TS renditions.

Rules

  • Exactly one audio stream is required; it is muxed into each rendition.

  • One or more video renditions are required.

  • Audio is packaged onto the video segment boundaries, so the video segmentation strategy (e.g. an exact frame count) governs segment length; there is no separate audio segmentation.

Publishing

This component is push-only: it publishes to the configured destinations and does not serve local-pull playlists. Configure at least one destination.

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 playlist (default: "default")

<COMPONENT_ID>_NAME

sessionId

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

notes

Additional notes about this component

segments

Detailed segment configuration

<COMPONENT_ID>_SEGMENTS

destinations

Destination to publish to (default: [])

<COMPONENT_ID>_DESTINATIONS

local

The engine's own local (pull) copy of the playlists. Enabled by default; its retention is independent of the pushed destinations, so keep it short unless something pulls a long tail directly from the engine.

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

discontinuityHandling

What to do when a gap or discontinuity is encountered. 'Prefer Discontinuity' also aligns the audio and video onto a shared clock (required for muxing independent sources). (default: "discontinuity")

pdtSource

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

addCmsdHeaders

Add CMSD headers (default: false)

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.

Local

Option Description Required

enabled

Serve a local copy at all. Turn off for push-only delivery so the engine retains nothing locally. (default: true)

retention

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

Example Configuration

  - type: output.autoMuxedTs
    config:
      displayName: muxed
      name: default
      sessionId: true
      segments:
        retentionPeriod: 60
        defaultSegmentCount: 0
        targetSegmentDuration: 6
        videoSegmentStrategy:
          type: framecount
          count: 128
      destinations: []
      id: automuxedts