VideoTools Installation Guide for Linux & WSL
This guide provides detailed instructions for installing VideoTools on Linux and Windows Subsystem for Linux (WSL) using the automated script.
One-Command Installation
The recommended method for all Unix-like systems is the scripts/linux/install.sh script.
bash scripts/linux/install.sh
This single command automates the entire setup process.
What the Installer Does
- Go Verification: Checks if Go (version 1.21 or later) is installed and available in your
PATH. - Build from Source: Cleans any previous builds, downloads all necessary Go dependencies, and compiles the
VideoToolsbinary. - Path Selection: Prompts you to choose an installation location:
- System-wide:
/usr/local/bin(Requiressudoprivileges). Recommended for multi-user systems. - User-local:
~/.local/bin(Default). Recommended for most users as it does not requiresudo.
- System-wide:
- Install Binary: Copies the compiled binary to the selected location and makes it executable.
- Configure Shell: Detects your shell (
bashorzsh) and updates the corresponding resource file (~/.bashrcor~/.zshrc) to:- Add the installation directory to your
PATH. - Source the matching alias script (
alias.shfor bash,alias.zshfor zsh).
- Add the installation directory to your
- Whisper Model Seed (Optional): Downloads the whisper.cpp small model from the Leak Technologies mirror (fallback to upstream) when missing.
- In-App Dependency Actions: Settings > Dependencies now includes FFmpeg install/uninstall actions using your detected Linux package manager.
After Installation
You must reload your shell for the changes to take effect:
# For bash users:
source ~/.bashrc
# For zsh users:
source ~/.zshrc
# For fish users (manual setup required):
source ~/.config/fish/config.fish
You can now run the application from anywhere by simply typing VideoTools.
The Player module includes a fullscreen toggle in the playback controls.
Settings and long panels use adaptive scroll speed for smoother navigation.
Settings tabs scroll independently so the tab header stays visible.
Preferences include hardware acceleration detection and module visibility toggles.
The Subtitles module can extract embedded tracks losslessly or OCR image-based tracks to SRT/ASS (requires Tesseract).
Conversion workers now catch internal panics and surface a failure dialog instead of closing the UI.
If a conversion was active when the app closed, a recovery notice appears on next launch.
Package format: Linux releases ship as the main VT package. Install runtime dependencies from Settings > Dependencies or via
scripts/linux/install.sh.
Convenience Commands
The installation script sets up a few helpful aliases:
VideoTools: Runs the main application.VideoToolsRebuild: Forces a full rebuild of the application from source.VideoToolsClean: Cleans all build artifacts and clears the Go cache for the project.
Build Artifacts
- Build packages are written to
dist/linux/<channel>/. - Each build writes a
build.jsonfile alongside the zip artifact. - Set
VT_BUILD_CHANNEL=stablefor stable artifacts; default isdev. - Forgejo dev builds also publish an AppImage (
<version>_linux.AppImage) with the VT icon embedded.
Manual Installation
If you prefer to perform the steps manually:
-
Build the Binary:
CGO_ENABLED=1 go build -o VideoTools . -
Install the Binary:
- User-local:
mkdir -p ~/.local/bin cp VideoTools ~/.local/bin/ - System-wide:
sudo cp VideoTools /usr/local/bin/
- User-local:
-
Update Shell Configuration: Add the following lines to your
~/.bashrcor~/.zshrcfile, replacing/path/to/VideoToolswith the actual absolute path to the project directory.# Add VideoTools to PATH export PATH="$HOME/.local/bin:$PATH" # Source VideoTools aliases source /path/to/VideoTools/scripts/alias.sh # bash # source /path/to/VideoTools/scripts/alias.zsh # zsh # source /path/to/VideoTools/scripts/alias.fish # fish -
Reload Your Shell:
source ~/.bashrc # Or source ~/.zshrc
Uninstallation
-
Remove the Binary:
- If installed user-locally:
rm ~/.local/bin/VideoTools - If installed system-wide:
sudo rm /usr/local/bin/VideoTools
- If installed user-locally:
-
Remove Shell Configuration: Open your
~/.bashrcor~/.zshrcfile and remove the lines that were added forVideoTools.
Platform-Specific Notes
-
Logs default to
~/Videos/VideoTools/logsand can be changed in Settings. -
WSL: The Linux instructions work without modification inside a WSL environment.
Navigation
What is VideoTools?
Project Status
Capabilities
Codecs and Frame Rates
Installation (One Command)
Alternative: Developer Setup
DVD Workflow (Optional)
Documentation
- Project Status
- Installation
- Readme
- Build And Run
- DVD User Guide
- DVD Implementation Summary
- Integration Guide
- Queue System Guide
- Localization-Policy