VideoTools/scripts/git_converter/README.md
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

6.1 KiB

GIT Converter v2.7 - Setup Instructions

Overview

GIT Converter v2.7 is a modular video conversion tool with automatic hardware detection and optimization. It supports AV1 and HEVC encoding with various quality settings, color correction options, and smart upscaling.

File Structure

git_converter/
├── git_converter.sh          # Main script
├── modules/
│   ├── hardware.sh          # GPU detection & encoder selection
│   ├── quality.sh          # Quality settings & parameters
│   ├── filters.sh          # Scaling, color, FPS options
│   └── encode.sh           # Core ffmpeg execution
└── README.md              # This file

Setup Instructions

1. File Structure Setup

  • Ensure all files remain in the same directory structure
  • The modules/ folder must be alongside the main script
  • Do not rename or move individual module files

2. Make Script Executable

Windows:

  1. Right-click on git_converter.sh
  2. Properties → Permissions → "Allow executing file"
  3. Click OK

Or in Git Bash:

chmod +x git_converter.sh

3. Dependencies

  • FFmpeg with encoder support (libx265, libsvtav1, hevc_amf, etc.)
  • Git Bash (for Windows users)
  • GPU Drivers (NVIDIA, AMD, or Intel) for hardware acceleration

Usage Methods

Method 1: Double-Click (Batch Processing)

  1. Double-click git_converter.sh
  2. Hardware detection runs automatically:
    Detecting hardware and optimal encoder...
     ✓ AMD GPU detected
     Testing hevc_amf...
        hevc_amf: 0.8s
     ✓ Selected: hevc_amf (fastest encoder)
    
  3. Follow menu prompts for resolution, FPS, quality, and color correction
  4. Processes all videos in the same directory

Method 2: Drag & Drop (Selective Processing)

  1. Select video files in Windows Explorer
  2. Drag them onto git_converter.sh
  3. Same menu flow as double-click method
  4. Processes only dragged files

Menu Options

Resolution Settings

  • Source: No upscaling (original resolution)
  • 720p/1080p/1440p/4K: Fixed resolution upscaling
  • 2X/4X: Relative upscaling (double/quadruple size)

Scaling Algorithm (when upscaling)

  • Bicubic: Fast, good quality
  • Lanczos: Best quality, slower
  • Bilinear: Fastest, basic quality

FPS Settings

  • Original FPS: Maintains source frame rate
  • 60 FPS: Converts to smooth 60fps motion

Quality Modes

  • High Quality (CRF 18): Recommended balance
  • Near-Lossless (CRF 16): Maximum quality
  • Good Quality (CRF 20): Balanced size/quality
  • Custom bitrate: Manual bitrate control

Color Correction Options

  1. No correction: Original colors
  2. Pink skin tones: Fixes Topaz AI color loss
  3. Warm boost: Increases warmth
  4. Cool boost: Increases cool tones
  5. 2000s DVD Restore: Fixes DVD degradation
  6. 90s Quality Restore: Restores 90s media
  7. VHS Quality Restore: Repairs VHS degradation
  8. Anime Preservation: Protects anime art style

Hardware Detection

The script automatically detects and tests:

  • NVIDIA GPUs: Uses NVENC encoders
  • AMD GPUs: Uses AMF encoders
  • Intel GPUs: Uses Quick Sync Video
  • No GPU: Uses optimized CPU encoders

Encoder Priority

  1. Hardware encoders (GPU acceleration)
  2. SVT-AV1 (fast CPU encoding)
  3. libx265 (fallback CPU encoding)

Output Structure

Converted Folder

  • Automatically created in script directory
  • Contains all converted files
  • Original files remain untouched

File Naming Convention

[original_name]_[fps]_[color]__cv.[extension]

Examples:
- vacation.mp4 → vacation__cv.mkv
- wedding.mp4 → wedding_60fps__cv.mkv
- old_tape.avi → old_tape_vhsrestore__cv.mkv
- anime.mkv → anime_anime__cv.mkv

Performance Features

Optimizations

  • Hardware detection: Uses fastest available encoder
  • Modular loading: Faster startup, less memory
  • CRF encoding: Consistent quality vs variable bitrate
  • Smart filter chains: Proper ffmpeg parameter ordering

Quality Settings

  • AV1: Best compression, smaller files
  • HEVC: Faster encoding, good compression
  • CRF 16-22: Near-lossless to balanced quality
  • GPU acceleration: 10x+ faster than CPU encoding

Troubleshooting

Common Issues

"No video files found"

  • Cause: Script folder contains no supported videos
  • Solution: Move script to folder with videos or drag files onto it

"No working encoder found"

  • Cause: FFmpeg missing encoder support
  • Solution: Install GPU drivers or rebuild FFmpeg with encoder support

"Failed to process"

  • Cause: Permission issues, disk space, or corrupted file
  • Solution: Check file permissions and available disk space

Slow encoding (0.1 FPS)

  • Cause: Using slow CPU encoder (libaom-av1)
  • Solution: Script auto-selects fastest encoder, ensure GPU drivers are installed

Supported Formats

  • Input: MP4, MKV, MOV, AVI, WMV, TS, M2TS
  • Output: MKV (recommended) or MP4
  • Codecs: AV1, HEVC (H.265)

Performance Tips

  • For quality: Use Lanczos scaling + CRF 16-18
  • For speed: Use Bicubic scaling + CRF 20
  • For storage: Use HEVC + CRF 20-22
  • For old content: Use appropriate color correction option

Advanced Usage

Keyboard Shortcuts

  • Enter: Confirm selections
  • Numbers: Quick menu selection
  • Ctrl+C: Cancel script

Custom Workflows

  • Topaz AI videos: Use "Pink skin tones" correction
  • DVD content: Use "2000s DVD Restore"
  • Anime: Use "Anime Preservation" mode
  • Family videos: Use "Warm color boost"

Batch Processing

  • Place multiple videos in same folder
  • Double-click script for batch conversion
  • All files processed with same settings

Version Information

  • Version: v2.7 Modular Edition
  • Author: LeakTechnologies
  • Release: December 2025
  • Architecture: Modular for performance optimization

Support

For issues or feature requests, ensure:

  1. All files in correct directory structure
  2. FFmpeg properly installed with encoder support
  3. GPU drivers up to date (if using hardware acceleration)
  4. Sufficient disk space for output files