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 |
--copy | Use 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) |
--copy | Use 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:
0 | Success |
1 | Encoding or processing error |
2 | Invalid arguments |
3 | File not found |
4 | Preset 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"