YAML Templates and Overrides
You don’t always have to build your workflows by hand in the UI. Norsk Studio lets you save workflows as YAML templates, so you can reuse, share, and version them just like code.
A YAML template describes your workflow components (inputs, processors, outputs), their configuration, and how they are connected.
Why Overrides?
Sometimes you’ll want to run the same workflow with slightly different settings — for example:
-
Different bitrates or frame rates.
-
Changing ports or credentials for inputs.
-
Switching between HD and SD ladders.
Instead of duplicating entire YAML templates, you can create a YAML override file. This file only specifies the changes, which are merged with the base template when the workflow starts.
Example
Here’s a simple workflow template with an SRT input, an ABR ladder processor, and an LL-HLS output:
components:
- type: input.srt-listener
config:
displayName: SRT Input
port: 5001
host: 0.0.0.0
id: srt_input
subscriptions: []
- type: processor.fixedLadder
config:
displayName: ABR Ladder
rungs:
- name: h264_1280x720
software:
width: 1280
height: 720
codec:
type: x264
bitrateMode:
value: 2500
mode: abr
frameRate: { frames: 25, seconds: 1 }
id: abr_ladder
subscriptions:
- source: srt_input
- type: output.autoCmaf
config:
displayName: LL-HLS
id: ll-hls
subscriptions:
- source: abr_ladder
Now let’s say we want to test at 50fps instead of 25fps, and add a 1080p rung. Instead of editing the base template, we can create an override file:
FIXEDLADDER_0_RUNGS:
- name: h264_1920x1080
software:
width: 1920
height: 1080
codec:
type: x264
bitrateMode:
value: 5000
mode: abr
frameRate: { frames: 50, seconds: 1 }
- name: h264_1280x720
software:
width: 1280
height: 720
codec:
type: x264
bitrateMode:
value: 2500
mode: abr
frameRate:
frames: 50,
seconds: 1
Running with Overrides
To launch Norsk Studio with an override, set both environment variables when starting:
STUDIO_DOCUMENT=data/studio-save-files/02-SRT-to-HLS-Ladder.yaml \
STUDIO_DOCUMENT_OVERRIDES=data/studio-save-files/srt-hls-ladder-50fps.yaml ./up.sh
Norsk Studio will load the base template, apply the overrides, and start the workflow with your updated configuration.