CLI Documentation

VidControl can be used from the command line for automation and scripting. No GUI required – just pass arguments to VidControl.exe.

Quick Start

Open a terminal (PowerShell or CMD) and navigate to your VidControl folder:

cd C:\Path\To\VidControl
VidControl.exe --help

encode Encode a Video

Transcode a video file using a saved preset. Presets are created in the GUI and shared with the CLI.

VidControl.exe --encode -i input.mkv -o output.mkv --preset "Fast 1080p"
-i <file>Input video file
-o <file>Output file path (optional – auto-generated if omitted)
--preset <name>Name of the encoding preset (use --list-presets to see all)
If no preset is specified, the first available preset is used.

concat Merge Files

Join multiple video files into one. Use --copy for fast stream copy (same codec required) or omit it to re-encode.

# Stream copy (fast, same codecs required)
VidControl.exe --concat -i file1.mkv -i file2.mkv -i file3.mkv -o merged.mkv --copy

# Re-encode (works with different codecs)
VidControl.exe --concat -i file1.mkv -i file2.mp4 -o merged.mkv
-i <file>Input files (specify multiple times, order matters)
-o <file>Output file path
--copyUse stream copy instead of re-encoding (faster)

split Split by Chapters

Split a video into separate files at each chapter marker. The video must contain chapter metadata.

# Stream copy (fast)
VidControl.exe --split-chapters -i movie.mkv --output-dir ./chapters/ --copy

# Re-encode
VidControl.exe --split-chapters -i movie.mkv --output-dir ./chapters/
-i <file>Input video file with chapters
--output-dir <dir>Directory for output files (defaults to input file directory)
--copyUse stream copy instead of re-encoding

info List Presets

Show all encoding presets that have been saved in the GUI.

VidControl.exe --list-presets

Example output:

Available presets:

  Fast 1080p                     H264 Transcode
  HEVC Quality                   H265 Transcode
  AV1 Slow                       Av1 Transcode

Exit Codes

The CLI returns these codes for scripting and automation:

0Success
1Encoding or processing error
2Invalid arguments
3File not found
4Preset not found

Script Examples

PowerShell

# Encode all MKV files in a folder
Get-ChildItem *.mkv | ForEach-Object {
    .\VidControl.exe --encode -i $_.FullName --preset "HEVC Quality"
}

Batch (CMD)

@echo off
for %%f in (*.mkv) do (
    VidControl.exe --encode -i "%%f" --preset "Fast 1080p"
)
echo Done!

Good to Know

  • Presets are shared between GUI and CLI – create them once in the app, use them everywhere.
  • The CLI shows a live progress bar in the terminal.
  • When using CLI arguments, no window opens – VidControl runs fully headless.
  • Use quotes around file paths with spaces: -i "My Movie.mkv"