Table of Contents
VideoTools - Video Processing Suite
What is VideoTools?
VideoTools is a desktop video processing application built on FFmpeg. It provides a graphical interface for converting, inspecting, and preparing video.
It includes tools for video conversion, batch processing, media inspection, merging, filtering, audio extraction, thumbnail generation, ripping, DVD-compliant output, and upscaling where supported.
Project Status
This project is under active development, and many documented features are not yet implemented.
For a clear, up-to-date overview of what is complete, in progress, and planned, please see our Project Status Page. This document provides the most accurate reflection of the project's current state.
Builds
- Daily (dev): https://git.leaktechnologies.dev/Leak_Technologies/VideoTools
- Stable (public): https://github.com/LeakTechnologies/VideoTools
Capabilities
- Video conversion via FFmpeg
- Queue-based batch processing
- Media inspection and analysis
- Merge, filters, and audio extraction
- Thumbnail generation
- Compare playback
- DVD authoring, encoding, and ripping tools
- Settings for language and hardware acceleration
- Optional AI-assisted upscaling (where supported)
Codecs and Frame Rates
Preset output formats:
- MP4: H.264, H.265, AV1
- MOV: H.264, H.265, ProRes
- MKV: Remux (copy), H.265, AV1
- WebM: VP9, AV1
- DVD: NTSC/PAL (MPEG-2)
Frame rate targets:
- Source, 23.976, 24, 25, 29.97, 30, 50, 59.94, 60
- Optional motion interpolation for frame-rate changes
- DVD presets lock to NTSC (29.97) or PAL (25) frame rates
Quick Start
Installation (One Command)
bash scripts/linux/install.sh
The installer will build, install, and set up shell aliases.
After installation:
source ~/.bashrc # (or ~/.zshrc, or ~/.config/fish/config.fish)
VideoTools
Alternative: Developer Setup
If you already have the repo cloned (dev workflow):
cd /path/to/VideoTools
bash scripts/linux/build.sh
bash scripts/linux/run.sh
For detailed installation options, troubleshooting, and platform-specific notes, see INSTALLATION.md. For upcoming work and priorities, see docs/ROADMAP.md.
DVD Workflow (Optional)
- Start VideoTools →
VideoTools - Load a video → Drag & drop into Convert module
- Select format → Choose "DVD-NTSC (MPEG-2)" or "DVD-PAL (MPEG-2)"
- Choose aspect → Select 4:3 or 16:9
- Name output → Enter filename (without .mpg)
- Queue → Click "Add to Queue"
- Encode → Click "View Queue" → "Start Queue"
- Export → Use the .mpg file in DVDStyler
Documentation
Getting Started:
- PROJECT_STATUS.md - Current implementation status
- INSTALLATION.md - Comprehensive installation guide (read this first!)
- docs/Documentation.md - Documentation index
- Forgejo Wiki - https://git.leaktechnologies.dev/leak_technologies/VideoTools/wiki
For Users:
- BUILD_AND_RUN.md - How to build and run VideoTools
- DVD_USER_GUIDE.md - Complete guide to DVD encoding
For Developers:
- DVD_IMPLEMENTATION_SUMMARY.md - Technical specifications
- INTEGRATION_GUIDE.md - System architecture and integration
- QUEUE_SYSTEM_GUIDE.md - Queue system reference
- localization-policy.md - Localization strategy and implementation guide
Requirements
- Go 1.21+ (for building)
- FFmpeg (for video encoding)
- X11 or Wayland display server (for GUI)
System Architecture
VideoTools has a modular architecture:
internal/convert/- DVD and video encodinginternal/queue/- Job queue systeminternal/ui/- User interface componentsinternal/player/- Media playbackscripts/- Build and run automation
Commands
Build & Run
# One-time setup
source scripts/alias.sh # bash
# source scripts/alias.zsh # zsh
# source scripts/alias.fish # fish
# Run the application
VideoTools
# Force rebuild
VideoToolsRebuild
# Clean build artifacts
VideoToolsClean
Legacy (Direct commands)
# Build
go build -o VideoTools .
# Run
./VideoTools
# Run with debug logging
VIDEOTOOLS_DEBUG=1 ./VideoTools
# View logs
go run . logs
Troubleshooting
- See BUILD_AND_RUN.md for detailed troubleshooting
- Check videotools.log for detailed error messages
- Use
VIDEOTOOLS_DEBUG=1for verbose logging
Getting Help
- Read BUILD_AND_RUN.md for setup issues
- Read docs/Documentation.md for module and guide links
- Read DVD_USER_GUIDE.md for DVD-specific workflows
- Check videotools.log for error details
- Review documentation in project root
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