Auto CMAF
The output.autoCmaf
component is designed to handle the creation of CMAF outputs from multiple video and audio streams. It supports segmenting, publishing to S3 destinations, and managing ad insertions.
Features
Some features of this component are:
-
Accepts multiple video and audio streams.
-
Configurable segment parameters (duration, retention, etc.).
-
Supports publishing to multiple S3 destinations.
-
Optionally include Ad markers in the published streams.
Component Configuration
Option | Description | Required |
---|---|---|
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") |
✗ |
sessionId |
Generate a unique session id per run to avoid cache collisions (default: false) |
✗ |
segments |
Detailed segment configuration |
✗ |
destinations |
Destination to publish to (default: []) |
✗ |
initialState |
The publishing state of this endpoint by default on start-up (default: "enabled") |
✗ |
multiplePrograms |
Produce multiple multivariants if more than one program is present (default: false) |
✗ |
drmProvider |
Encrypt with a DRM provider (if configured globally) |
✗ |
notes |
Additional notes about this component |
✗ |
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) |
✗ |
holdBackSegments |
How many segments back should a player start |
✗ |
holdBackParts |
How many parts back should a player start |
✗ |
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) |
✗ |
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) |
✗ |
Global Configuration
DRM encryption is available through EZDRM and Axinom DRM.
For both providers you need to configure authentication to enable Norsk to obtain encryption keys through the provider’s servers.
You may also configure additional settings for Studio to be able to obtain a license for local playback for the encrypted content.
After setting this global configuration, enabling on an it is as simple as setting drmProvider
to true
.
Ezdrm Config
Option | Description | Required |
---|---|---|
token |
Token for EZDRM |
✓ |
pX |
The last six digits of your Widevine Profile ID |
✗ |
Axinom Config
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 |
✗ |
Example Configuration
Here is an example of how to configure the output.autoCmaf
component in a YAML file:
- type: output.autoCmaf
config:
displayName: autoCmaf
name: default
sessionId: true
segments:
retentionPeriod: 60
defaultSegmentCount: 0
targetSegmentDuration: 4
targetPartDuration: 1
s3Destinations: []
id: autocmaf