Simple GUI toolset for FFmpeg
Go to file
Jake P fa6ff5aba1 Turned GIT Converter Modular
📋 GIT Converter v2.7 - Feature Summary & Changes

🚀 Major New Features Added

🎬 Codec & Container Selection
- AV1 vs HEVC encoding - Choose between next-gen AV1 or mature HEVC
- MKV vs MP4 containers - Flexibility vs device compatibility
- User-controlled output format - Full control over final file type

⚙️ Advanced Quality Control
- Source Quality mode - Bypass quality changes unless required
- CRF options - 16 (near-lossless), 18 (recommended), 20 (balanced)
- Custom bitrate control - Exact bitrate specification for precise file sizes
- Encoder-specific optimization - Different parameters for AV1 vs HEVC

🎮 GPU/Encoder Selection
- Auto-detection - Intelligent hardware detection with benchmarking
- Manual selection - Choose specific GPU/encoder:
  - NVIDIA NVENC (HEVC/AV1)
  - AMD AMF (HEVC/AV1)
  - Intel Quick Sync (HEVC/AV1)
  - CPU encoding (SVT-AV1/x265)
  - Custom encoder selection
- Two-stage interface - Auto-detect first, then option to override

🎨 Enhanced Color Correction
- 8 specialized presets:
  - 2000s DVD Restore
  - 90s Quality Restore
  - VHS Quality Restore
  - Anime Preservation
  - Pink skin tone restoration (Topaz AI fix)
  - Warm/Cool color boosts
- Fixed filter parameters - Resolved unsharp filter matrix size issues

🔧 Technical Improvements

📦 Modular Architecture
- Separated concerns into focused modules:
  - hardware.sh - GPU detection & encoder selection
  - codec.sh - Codec & container options
  - quality.sh - Quality modes & bitrate control
  - filters.sh - Resolution, FPS, color correction
  - encode.sh - FFmpeg execution & monitoring

 Performance Optimizations
- Hardware benchmarking - Tests encoder speed before selection
- Timeout protection - Prevents hanging during encoder tests
- Better error reporting - Shows SUCCESS/FAILED/NOT AVAILABLE status
- Improved timing logic - Cross-platform compatible timing

🖥️ User Experience
- Two-stage workflow - Auto-detect → confirm/override
- Clear menu navigation - Numbered options with validation
- Real-time feedback - Shows what's being tested/selected
- Fixed input validation - Proper regex for multi-digit numbers

🐛 Bug Fixes
- Fixed unsharp filter - Corrected matrix size requirements (odd numbers only)
- Fixed hue parameter - Corrected eq filter syntax
- Fixed encoder detection - Improved hardware detection logic
- Fixed menu display - Resolved command substitution output capture issues

🎯 Key Benefits
- Full user control over encoding parameters
- Hardware optimization with automatic fallbacks
- Professional quality restoration options
- Modular design for easy maintenance
- Cross-platform compatibility (Windows/Linux)
2025-12-14 03:00:44 +00:00
assets/logo Add target file size feature and fix multiple encoding issues 2025-12-03 10:00:14 -05:00
docs Show bitrate in kbps/Mbps and expand presets 2025-12-08 23:53:40 -05:00
internal Fix thumbnail generation and add viewing capability 2025-12-13 20:56:05 -05:00
scripts Turned GIT Converter Modular 2025-12-14 03:00:44 +00:00
.gitattributes Enforce LF endings for shell scripts 2025-12-13 21:30:17 -05:00
.gitignore Turned GIT Converter Modular 2025-12-14 03:00:44 +00:00
BUILD_AND_RUN.md Show bitrate in kbps/Mbps and expand presets 2025-12-08 23:53:40 -05:00
BUILD.md Add dev14 fixes: progress tracking, AMD AMF support, DVD resolution fix, and Windows build automation 2025-12-04 17:11:15 -05:00
CHANGELOG.md Show bitrate in kbps/Mbps and expand presets 2025-12-08 23:53:40 -05:00
COMPLETION_SUMMARY.md Add comprehensive project completion summary 2025-11-29 19:33:02 -05:00
DONE.md Update documentation for completed dev13 features 2025-12-03 21:41:24 -05:00
DVD_IMPLEMENTATION_SUMMARY.md Implement DVD-NTSC encoding support with multi-region capabilities 2025-11-29 19:30:05 -05:00
DVD_USER_GUIDE.md Add comprehensive DVD User Guide for end users 2025-11-29 19:39:59 -05:00
go.mod Implement in-app playback with ffmpeg frame pump and Go audio 2025-11-20 16:11:56 -05:00
go.sum Implement in-app playback with ffmpeg frame pump and Go audio 2025-11-20 16:11:56 -05:00
install.sh Add comprehensive installation system with install.sh and INSTALLATION.md 2025-11-29 20:17:18 -05:00
INSTALLATION.md Add comprehensive installation system with install.sh and INSTALLATION.md 2025-11-29 20:17:18 -05:00
INTEGRATION_GUIDE.md Add comprehensive Integration Guide for DVD support 2025-11-29 19:32:11 -05:00
LATEST_UPDATES.md Add comprehensive update summary for latest improvements 2025-11-29 20:17:52 -05:00
main.go Add Generate Now and Add to Queue buttons 2025-12-13 21:00:43 -05:00
naming_helpers.go Add queue error copy, auto naming helper, and metadata templating 2025-12-07 12:03:21 -05:00
platform.go Hide ffmpeg console windows on Windows and fix inspect clear button 2025-12-08 11:26:14 -05:00
QUEUE_SYSTEM_GUIDE.md Add comprehensive Queue System documentation guide 2025-11-29 19:31:25 -05:00
QUICKSTART.md Add dev14 fixes: progress tracking, AMD AMF support, DVD resolution fix, and Windows build automation 2025-12-04 17:11:15 -05:00
README.md Update documentation 2025-12-08 23:33:31 -05:00
setup-windows.bat Add dev14 fixes: progress tracking, AMD AMF support, DVD resolution fix, and Windows build automation 2025-12-04 17:11:15 -05:00
TEST_DVD_CONVERSION.md Add comprehensive DVD conversion testing guide with step-by-step instructions 2025-11-29 20:22:21 -05:00
TESTING_DEV13.md Add comprehensive testing guide for dev13 features 2025-12-03 21:43:16 -05:00
TODO.md Add Files module and color-coded navigation proposals to TODO 2025-12-09 18:47:31 -05:00
WINDOWS_SETUP.md Add dev14 fixes: progress tracking, AMD AMF support, DVD resolution fix, and Windows build automation 2025-12-04 17:11:15 -05:00

VideoTools - Professional Video Processing Suite

What is VideoTools?

VideoTools is a professional-grade video processing application with a modern GUI. It specializes in creating DVD-compliant videos for authoring and distribution.

Key Features

DVD-NTSC & DVD-PAL Output

  • Professional MPEG-2 encoding (720×480 @ 29.97fps for NTSC, 720×576 @ 25fps for PAL)
  • AC-3 Dolby Digital audio (192 kbps, 48 kHz)
  • DVDStyler compatible (no re-encoding warnings)
  • PS2 compatible (PS2-safe bitrate limits)
  • Region-free format (works worldwide)

Batch Processing

  • Queue multiple videos
  • Pause/resume jobs
  • Real-time progress tracking
  • Job history and persistence

Smart Features

  • Automatic framerate conversion (23.976p, 24p, 30p, 60p, VFR → 29.97fps)
  • Automatic audio resampling (any rate → 48 kHz)
  • Aspect ratio preservation with intelligent handling
  • Comprehensive validation with helpful warnings

Quick Start

Installation (One Command)

bash install.sh

The installer will build, install, and set up everything automatically with a guided wizard!

After installation:

source ~/.bashrc    # (or ~/.zshrc for zsh)
VideoTools

Alternative: Developer Setup

If you already have the repo cloned:

cd /path/to/VideoTools
source scripts/alias.sh
VideoTools

For detailed installation options, troubleshooting, and platform-specific notes, see INSTALLATION.md.

How to Create a Professional DVD

  1. Start VideoToolsVideoTools
  2. Load a video → Drag & drop into Convert module
  3. Select format → Choose "DVD-NTSC (MPEG-2)" or "DVD-PAL (MPEG-2)"
  4. Choose aspect → Select 4:3 or 16:9
  5. Name output → Enter filename (without .mpg)
  6. Queue → Click "Add to Queue"
  7. Encode → Click "View Queue" → "Start Queue"
  8. Export → Use the .mpg file in DVDStyler

Output is professional quality, ready for:

  • DVDStyler authoring (no re-encoding needed)
  • DVD menu creation
  • Burning to disc
  • PS2 playback

Documentation

Getting Started:

  • INSTALLATION.md - Comprehensive installation guide (read this first!)

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

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 encoding
  • internal/queue/ - Job queue system
  • internal/ui/ - User interface components
  • internal/player/ - Media playback
  • scripts/ - Build and run automation

Commands

Build & Run

# One-time setup
source scripts/alias.sh

# 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=1 for verbose logging

Professional Use Cases

  • Home video archival to physical media
  • Professional DVD authoring workflows
  • Multi-region video distribution
  • Content preservation on optical media
  • PS2 compatible video creation

Professional Quality Specifications

DVD-NTSC

  • Resolution: 720 × 480 pixels
  • Framerate: 29.97 fps (NTSC standard)
  • Video: MPEG-2 codec, 6000 kbps
  • Audio: AC-3 stereo, 192 kbps, 48 kHz
  • Regions: USA, Canada, Japan, Australia

DVD-PAL

  • Resolution: 720 × 576 pixels
  • Framerate: 25.00 fps (PAL standard)
  • Video: MPEG-2 codec, 8000 kbps
  • Audio: AC-3 stereo, 192 kbps, 48 kHz
  • Regions: Europe, Africa, Asia, Australia

Getting Help

  1. Read BUILD_AND_RUN.md for setup issues
  2. Read DVD_USER_GUIDE.md for how-to questions
  3. Check videotools.log for error details
  4. Review documentation in project root