Table of Contents
- VideoTools Installation Guide for Windows
VideoTools Installation Guide for Windows
This guide provides step-by-step instructions for installing VideoTools on Windows 10 and 11.
Method 1: Automated Installation (Recommended)
This method uses Chocolatey package manager to automatically download and configure all necessary dependencies.
Note: This dev installer uses Chocolatey for maximum reliability. The production installer plan is MSIX + WinGet. See
docs/WINDOWS_PACKAGING.md.
Step 1: Download the Project
If you haven't already, download the project files as a ZIP and extract them to a folder on your computer (e.g., C:\Users\YourUser\Documents\VideoTools).
Step 2: Run the Dependency Installer
- Open the project folder in File Explorer.
- Choose one of these entrypoints:
- Run
.\scripts\windows\install.bat(recommended). - Run
.\scripts\windows\install.ps1from PowerShell.
- Run
- A terminal window will open and run the PowerShell installer. It installs core dependencies with minimal changes:
- Go (build toolchain)
- Git (version control)
- FFmpeg (video processing)
- GStreamer (player backend)
- Python (pip for optional tooling)
- Note: GStreamer installs via MSI and requires an Administrator PowerShell window.
- Note: Build tools are optional; the installer will auto-install Go/Git via Chocolatey when missing unless -SkipBuildTools is set.
- Note: The installer will prompt for elevation when required and keep the admin window open for logs.
- Note: On success, the installer waits for a keypress before closing the window.
Support scripts are stored in scripts/windows/support/. Wrappers remain in scripts/ for convenience and documentation stability.
Optional flags:
-SkipFFmpegor-SkipGStreamerto skip those dependencies.-InstallBuildToolsto force install Go + Git via Chocolatey without a prompt.-SkipBuildToolsto skip Go + Git via Chocolatey.-InstallPythonto install Python + pip for AI tooling.-SkipPythonto skip Python + pip.-SkipDVDStylerto skip DVD authoring tools.-DVDStylerUrl,-DVDStylerExeUrl, or-DVDStylerZipto force a custom DVDStyler download.-DVDStylerExeArgsto override the DVDStyler installer arguments (default:/S).-InstallWhisperto install the Whisper small model for subtitles.-SkipWhisperto skip the Whisper model.-WhisperModelUrlto override the Whisper model download URL.-WhisperModelPathto set a custom model path. Environment overrides:VT_MIRROR_TOKENto authenticate against private Leak Technologies mirrors.VT_MIRROR_BASICto authenticate against private mirrors usinguser:pass. The installer uses curl with a progress bar when available for large downloads (DVDStyler, Whisper).-GStreamerRuntimeMsiand-GStreamerDevelMsito install from local MSI files.-GStreamerVersionto override the default MSI version (default: 1.26.10).-PreferWingetto prefer winget installs when available.
The installer will prompt before optional modules (Python + pip, build tools, DVD authoring tools, Whisper model) when they are missing. GStreamer is required and will be installed automatically (MSI) if not already present.
Build tools are provided via Chocolatey package manager for system-wide consistency and reliability.
If you opt into build tools, Go and Git will be installed automatically via Chocolatey packages.
The build script uses Chocolatey-installed toolchain for all compilation and packaging operations.
Logs default to ~/Videos/VideoTools/logs and can be changed in Settings.
The installer defaults to MSI downloads for GStreamer. If MSI downloads fail, grab the MSI files from https://gstreamer.freedesktop.org/data/pkg/windows/1.0/msvc/ and re-run the installer with -GStreamerRuntimeMsi and -GStreamerDevelMsi. Use -PreferWinget if you want the installer to try winget first.
DVDStyler defaults to the Leak Technologies mirror installer (DVDStyler-3.2.1-win64.exe). If it fails and -PreferWinget is set, the installer tries winget before skipping the optional module.
SourceForge mirrors are only used when VT_DVDSTYLER_ALLOW_SOURCEFORGE=1 is set in the environment.
Whisper uses the Leak Technologies mirror by default and can be overridden with -WhisperModelUrl.
Note: If Windows Defender SmartScreen appears, click "More info" and then "Run anyway". This is expected as the application is not yet digitally signed.
Step 3: Build and Run VideoTools
After the installer runs, a Start Menu folder named "VideoTools" is created. It includes a "Build VideoTools" shortcut and, once you build, a "VideoTools" app shortcut. The build script refreshes the app shortcut after a successful build.
- Build the app:
.\scripts\windows\build.bat(delegates tobuild.ps1and handles elevation)- If the build reports a toolchain failure, ensure Go and Git are installed via Chocolatey.
- Run the executable:
.\VideoTools.exe- The Player module includes a fullscreen toggle in the playback controls.
- The main menu adapts to window width; resize the window to change tile density.
- 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.
- If FFmpeg is missing on first launch, VideoTools will offer an in-app install to
%LOCALAPPDATA%\VideoTools\bin. - The same app-local FFmpeg install action is available in Settings > Dependencies.
Package format: Windows releases ship as the main VT package. Install runtime dependencies from Settings > Dependencies or via
scripts\windows\support\setup-windows.ps1.
Note:
scripts\windows\build.batandscripts\windows\build.ps1will prompt for elevation to ensure build tools are available. The build script pauses for a keypress on success or failure so you can review the output before the window closes. If you are running inside a VM and see an OpenGL preflight warning, enable 3D acceleration or install GPU drivers before retrying.
Optional: Chocolatey packages are automatically added to system PATH during installation.
If you want a portable FFmpeg bundle placed next to the Windows executable, run:
.\scripts\windows\support\setup-windows.ps1 -Portable
For a system-wide FFmpeg install (PATH), use:
.\scripts\windows\support\setup-windows.ps1 -System
Note: On Windows, use
scripts\windows\install.ps1orscripts\windows\install.bat. Runningscripts\linux\install.shfrom PowerShell will open Git Bash.
Uninstalling VideoTools
To completely remove VideoTools from your system:
Method 1: Automated Uninstall (Recommended)
-
Run the uninstaller from PowerShell as Administrator:
.\scripts\windows\uninstall.bat(recommended).\scripts\windows\uninstall.ps1from PowerShell
-
The uninstaller preserves shared dependencies by default:
- FFmpeg - Kept (used by many video applications)
- GStreamer - Kept (media framework for other apps)
- Go - Kept (programming language used by other tools)
- Python packages - Removed if installed specifically for VideoTools
Uninstall Options
-Force- Skip confirmation prompts-RemoveAll- Remove ALL components including shared dependencies-RemoveFFmpeg- Remove app-local FFmpeg binaries (not system-wide FFmpeg)-KeepBuildTools- Preserve Chocolatey-installed build tools-WhatIf- Show what would be removed without actually removing
Examples
# Standard uninstall (preserves shared dependencies)
.\scripts\windows\uninstall.bat
# Force uninstall without prompts
.\scripts\windows\uninstall.bat -Force
# Remove everything including app-local FFmpeg
.\scripts\windows\windows\uninstall.bat -RemoveAll -RemoveFFmpeg
# Preview what would be removed
.\scripts\windows\uninstall.ps1 -WhatIf
Manual Cleanup (if needed)
After uninstall, you may want to manually check:
- System PATH: Remove any VideoTools entries from Environment Variables
- Start Menu: Verify the VideoTools folder is removed
- Desktop: Check for any remaining shortcuts
- App Data:
C:\Users\YourUser\AppData\Local\VideoTools(should be removed automatically)
Build Artifacts
- Build packages are written to
dist/windows/<channel>/. - Each build writes a
build.jsonfile alongside the zip artifact. - Set
VT_BUILD_CHANNEL=stablefor stable artifacts; default isdev.
Method 2: Manual Installation
If you prefer to set up the dependencies yourself, follow these steps.
Step 1: Download and Install Go
- Download: Go to the official Go website: go.dev/dl/
- Install: Run the installer and follow the on-screen instructions.
- Verify: Open a Command Prompt and type
go version. You should see the installed Go version.
Step 2: Install Chocolatey
- Install: Open PowerShell as Administrator and run:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) - Verify: Close and reopen PowerShell, then run
choco --versionto verify installation.
Step 3: Download FFmpeg
FFmpeg is the engine that powers VideoTools.
- Download: Go to the recommended FFmpeg builds page: github.com/BtbN/FFmpeg-Builds/releases
- Download the file named
ffmpeg-master-latest-win64-gpl.zip.
Step 4: Place FFmpeg Files
You have two options for where to place the FFmpeg files:
Option A: Bundle with VideoTools (Portable)
This is the easiest option.
- Open the downloaded
ffmpeg-...-win64-gpl.zip. - Navigate into the
binfolder inside the zip file. - Copy
ffmpeg.exeandffprobe.exe. - Paste them into the root directory of the VideoTools project, right next to
VideoTools.exe(ormain.goif you are building from source).
Your folder should look like this:
\---VideoTools
| VideoTools.exe (or the built executable)
| ffmpeg.exe <-- Copied here
| ffprobe.exe <-- Copied here
| main.go
\---...
Option B: Install System-Wide
This makes FFmpeg available to all applications on your system.
- Extract the entire
ffmpeg-...-win64-gpl.zipto a permanent location, likeC:\Program Files\ffmpeg. - Add the FFmpeg
bindirectory to your system's PATH environment variable.- Press the Windows key and type "Edit the system environment variables".
- Click the "Environment Variables..." button.
- Under "System variables", find and select the
Pathvariable, then click "Edit...". - Click "New" and add the path to your FFmpeg
binfolder (e.g.,C:\Program Files\ffmpeg\bin).
- Verify: Open a Command Prompt and type
ffmpeg -version. You should see the version information.
Step 5: Build and Run
- Open a Command Prompt in the VideoTools project directory.
- Run the build script:
scripts\windows\build.bat - Run the application:
run.bat
Troubleshooting
- "FFmpeg not found" Error: This means VideoTools can't locate
ffmpeg.exe. Ensure it's either in the same folder asVideoTools.exeor that the system-wide installation path is correct. - Installer Parse Errors: If the setup script reports PowerShell parse errors, update the repository to the latest version and re-run
scripts\windows\support\setup-windows.bat. - Forgejo runner output errors: If a Windows Forgejo runner logs
invalid format '', expected a line with '=' or '<<', ensure the workflow writesGITHUB_OUTPUTusing UTF-8 without BOM. - Console window closes app: Windows Forgejo packages are built as GUI-only binaries; a console window should not appear when launching the packaged
.exe. - Extra files in package: Forgejo Windows packages ship only
VideoTools.exeandREADME.mdinside the zip atdist/windows/. Artifact uploads include the zip only. - Dev release pipeline: Forgejo dev release workflow builds Windows artifacts in the same run before publishing (standalone Windows workflow removed).
- Release assets: Dev/stable releases upload only the Windows zip for Windows (no build metadata files).
- Duplicate assets: Dev/stable releases delete existing assets with the same name before uploading new ones.
- Release cleanup: Dev/stable releases purge existing assets before uploading to prevent duplicates.
- Release auth: Dev/stable releases fail if asset deletion/upload is unauthorized.
- Application Doesn't Start: Make sure you have a 64-bit version of Windows 10 or 11 and that your graphics drivers are up to date.
- Antivirus Warnings: Some antivirus programs may flag the unsigned executable. This is a false positive.
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