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
Type | Codecs |
---|---|
Audio | Any compatible with MistServer |
Video | Any 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.
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
Key | Name | Type | Help / Description | Select Options | Default / Value |
---|---|---|---|---|---|
process | process selector | select | Selects the specific process | MKVExec | |
exec | Executable | string | What executable to run on the stream data |
General process options
Key | Name | Type | Default / Value | Unit | Help / Description | Options (if applicable) |
---|---|---|---|---|---|---|
debug | Debug level | debug | — | — | Debug message level for process; inherits from stream setting | — |
exit_unmask | Undo masks on process exit/fail | boolean | false | — | Resets input track masks to defaults when process exits or fails | — |
sink | Target stream | string | — | — | What stream the encoded track should be added to (defaults to source stream) | — |
source | Source stream | string | — | — | Which stream the encoded track should pull from, defaults to the stream the process is added towards | — |
source_mask | Source track mask | select | Keep original value | — | Defines which internal processes have access to source tracks | Everything, Processing tasks, Processing + pushing tasks, Processing + viewing tasks |
target_mask | Output track mask | select | Keep original value | — | Defines which internal processes have access to output tracks | Everything, Viewer, Pushing, Processing, and combinations |
track_select | Source selector(s) | string | audio=all&video=all | — | What tracks to select for input (defaults to all audio and video tracks) | — |
start_control | Process start behaviour | group | — | — | Controls when and how process starts | See below |
start control options
Subkey | Name | Type | Default | Unit | Help / Description | Options (if applicable) |
---|---|---|---|---|---|---|
inconsequential | Inconsequential process | bool | false | — | Process not required for stream to be considered active | — |
restart_delay | Restart delay | uint | 0 | ms | Delay between restarts | — |
restart_type | Restart behaviour | select | fixed | — | What to do when the process exits/fails | fixed, backoff, disabled |
tags_inhibit | Tag inhibitor(s) | inputlist | "" | — | List of tags preventing process start | — |
track_inhibit | Track inhibitor(s) | string | audio=none&video=none&subtitle=none | — | Which tracks inhibit process start | — |