Skip to main content

Encoder - MKV In/Out

Encoder - MKV In/Out​

This encoder allows you to run a custom command. Whatever ran should provide matroska format media back to MistServer. You can run both commandline applications as well as scripts. As long as MistServer receives matroska on it's standard input.

codec support​

TypeCodecs
AudioAny compatible with MistServer
VideoAny compatible with MistServer

Things to keep in mind​

MistServer wants matroska data, some applications like ffmpeg post a lot of header & debug data as well. While it will do its best to filter through non-matroska data it would be wise to make adjustments to the command you're running so there's as little as possible interference.

Examples​

For examples on this look at our ffmpeg matroska in/out and gstreamer matroska in/out guides.

Configuration​

Interface​

The interface offers a simple field in which you can put the command or path to script to run.

image

Configuration file / API​

The following would be an example of how to add MKV In/Out to your stream.

"processes": [
{
"exec": "command or script goes here",
"exit_unmask": false,
"inconsequential": false,
"process": "MKVExec",
"tags_inhibit": []
}

Command line​

This would be adding a command to the stream example.

MistProcMKVExec '{"exit_unmask":0,"inconsequential":false,"process":"MKVExec","exec":"command or script goes here","source":"example"}'

Required options​

KeyNameTypeHelp / DescriptionSelect OptionsDefault / Value
processprocess selectorselectSelects the specific processMKVExec
execExecutablestringWhat executable to run on the stream data

General process options​

KeyNameTypeDefault / ValueUnitHelp / DescriptionOptions (if applicable)
debugDebug leveldebug——Debug message level for process; inherits from stream setting—
exit_unmaskUndo masks on process exit/failbooleanfalse—Resets input track masks to defaults when process exits or fails—
sinkTarget streamstring——What stream the encoded track should be added to (defaults to source stream)—
sourceSource streamstring——Which stream the encoded track should pull from, defaults to the stream the process is added towards—
source_maskSource track maskselectKeep original value—Defines which internal processes have access to source tracksEverything, Processing tasks, Processing + pushing tasks, Processing + viewing tasks
target_maskOutput track maskselectKeep original value—Defines which internal processes have access to output tracksEverything, Viewer, Pushing, Processing, and combinations
track_selectSource selector(s)stringaudio=all&video=all—What tracks to select for input (defaults to all audio and video tracks)—
start_controlProcess start behaviourgroup——Controls when and how process startsSee below

start control options​

SubkeyNameTypeDefaultUnitHelp / DescriptionOptions (if applicable)
inconsequentialInconsequential processboolfalse—Process not required for stream to be considered active—
restart_delayRestart delayuint0msDelay between restarts—
restart_typeRestart behaviourselectfixed—What to do when the process exits/failsfixed, backoff, disabled
tags_inhibitTag inhibitor(s)inputlist""—List of tags preventing process start—
track_inhibitTrack inhibitor(s)stringaudio=none&video=none&subtitle=none—Which tracks inhibit process start—