Commit Graph

53 Commits

Author SHA1 Message Date
30479fed4a Add DVDStyler URL override for Windows installer 2025-12-23 17:16:24 -05:00
95f0300839 Improve DVDStyler download mirrors for Windows 2025-12-23 15:59:17 -05:00
f6e8e95b3e Harden DVDStyler download for Windows deps 2025-12-23 15:33:54 -05:00
a075495a8a Fix Windows deps script encoding for PowerShell 2025-12-23 15:02:38 -05:00
60fd6e93ee Finalize authoring workflow and update install docs 2025-12-23 14:24:09 -05:00
d489e0301c Add automated Real-ESRGAN setup script for Linux
Created setup-realesrgan-linux.sh for easy one-command installation:
- Downloads Real-ESRGAN ncnn Vulkan binary from GitHub releases
- Installs to ~/.local/bin/realesrgan-ncnn-vulkan
- Installs all AI models to ~/.local/share/realesrgan/models/
- Sets proper permissions
- Provides PATH setup instructions

Installation:
  ./scripts/setup-realesrgan-linux.sh

Models included (45MB):
- realesr-animevideov3 (x2, x3, x4) - Anime/illustration upscaling
- realesrgan-x4plus - General photo/video upscaling
- realesrgan-x4plus-anime - Anime-specific upscaling

Tested and working on Fedora 43. Makes AI upscaling fully automated
for Linux users - no manual downloads or configuration needed.

Next step: Add in-app "Install AI Upscaling" button to VideoTools UI
for even easier setup without using terminal.
2025-12-21 14:10:46 -05:00
Jake P
f1c56ba778 Attempted to create GUI
Attempted to create GUIs for both lt-convert and lt-gui
2025-12-17 22:50:59 +00:00
9045460dbc Update documentation for snippet system overhaul
Documents the complete snippet system redesign with dual output modes:
- "Snippet to Default Format": Stream copy mode for bit-perfect source preservation
- "Snippet to Output Format": Conversion preview using actual settings

Updates ai-speak.md with comprehensive snippet testing requirements and Jake's AI communication. Updates DONE.md with detailed feature breakdown, technical improvements, and bug fixes. Includes testing checklist for both snippet modes and batch generation.
2025-12-16 23:09:09 -05:00
0f23953ba8 Complete dev18: Thumbnail enhancements, Player/Filters/Upscale modules, and precise snippet generation
Enhances screenshot module with comprehensive technical metadata display including audio bitrate, adds 8px padding between thumbnails for professional contact sheets. Implements new Player module for video playback access. Adds complete Filters and Upscale modules with traditional FFmpeg scaling methods (Lanczos, Bicubic, Spline, Bilinear) and resolution presets (720p-8K). Introduces configurable snippet length (5-60s, default 20s) with batch generation capability for all loaded videos. Fixes snippet duration precision by re-encoding instead of stream copy to ensure frame-accurate cutting at configured length.
2025-12-15 15:36:24 -05:00
Jake P
277d46859b Optimizations to framerates
Optimizations to framerates, attempt at making a GUI. Hardware detection compatibility moved into dedicated benchmarking tool.
2025-12-14 18:18:44 +00:00
43eae3d17e Note color looks for filters/upscale 2025-12-13 23:05:08 -05:00
c85031887b Add lt-convert presets mapping for VT 2025-12-13 23:04:48 -05:00
3aad613167 Note roles for Jake and Stu in ai-speak 2025-12-13 23:00:41 -05:00
f548e56c83 Add Jake to partners 2025-12-13 22:55:40 -05:00
07fe498e7f Document VT overview and workflow rules 2025-12-13 22:54:22 -05:00
61806ef2d2 Update ai-speak priorities and notes 2025-12-13 22:53:04 -05:00
4c3b76c54f Clean ai-speak doc 2025-12-13 22:49:47 -05:00
Jake P
69d14a306f Created AI Speak
Created AI Speak, a cross communication with Jake's AI to Stu's AI to contribute to the project.
2025-12-14 03:46:06 +00:00
Jake P
aad706c733 Merge branch 'master' of https://git.leaktechnologies.dev/Leak_Technologies/VideoTools 2025-12-14 03:21:19 +00:00
Jake P
ca65ad85a8 Attempt to fix Linux compatibility
🔧 File Detection
- Replaced nullglob with explicit file scanning
- Added more video formats (flv, webm, m4v, 3gp, mpg, mpeg)
- Better error reporting showing supported formats
 Hardware Detection
- Added lshw support for Linux hardware detection
- Conditional Windows commands - only run wmic on Windows
- Improved GPU detection for Linux systems
⏱️ Timeout Handling
- Cross-platform timeout support:
  - Linux: timeout
  - macOS: gtimeout
  - Windows: Background process with manual kill
📁 Path Handling
- Robust script directory detection for different shells
- Absolute module sourcing using SCRIPT_DIR
🖥️ Drag & Drop
- Better argument handling for Wayland desktop environments
- Comprehensive file extension support
Now works on:
-  Windows x64 (Git Bash, WSL)
-  Linux (Wayland, X11)
-  macOS (Terminal)
2025-12-14 03:20:36 +00:00
bb76e602b0 Update lt-convert.sh 2025-12-13 22:10:34 -05:00
Jake P
b7ab943fbb Updated lt-convert.sh
Amended correct file
2025-12-14 03:07:21 +00:00
Jake P
6de1f4126a 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
20e09aaad1 Fix droppable signature and dependency handling 2025-12-11 06:53:49 -05:00
f0d4814465 Add runtime encoder fallback to git_converter 2025-12-10 15:37:03 -05:00
ed77400fb7 Ignore git_converter outputs and media 2025-12-10 15:32:47 -05:00
Jake P
51dca1dbce Add GIT Converter Script
Working version (as of v2.5)
2025-12-10 20:05:49 +00:00
cfccd300b0 Set local GOMODCACHE alongside GOCACHE for builds 2025-12-09 12:41:54 -05:00
1be4fa6a64 Use project-local GOCACHE to avoid system cache perms 2025-12-09 12:39:24 -05:00
7818d55a53 Clean Go cache automatically at build start 2025-12-09 12:05:27 -05:00
e4c09b15b3 Add VT helper scripts for 4K/1440p 60fps and smoothing 2025-12-09 00:57:48 -05:00
d9fa6f77f6 Add one-click AV1/HEVC helper scripts (sh/bat) 2025-12-09 00:53:56 -05:00
6ce55ec638 Add Windows clear-go-cache.bat helper 2025-12-09 00:51:11 -05:00
9dac96e7c7 Fix quoting in build-linux help line 2025-12-09 00:48:06 -05:00
7fea0da127 Mention clear-go-cache helper in build scripts 2025-12-09 00:43:00 -05:00
44795b6951 Show bitrate in kbps/Mbps and expand presets 2025-12-08 23:53:40 -05:00
35a90bdcd6 Add simple bitrate/resolution/aspect controls and cache helper 2025-12-08 23:22:28 -05:00
ffecea253f Remove regex warning in build script version detection 2025-12-08 20:51:40 -05:00
8b75158923 Fix feedback bundler export and use utils.NewFeedbackBundler 2025-12-08 16:06:58 -05:00
e0f5c1fca3 Show app version and diagnostics in build scripts 2025-12-08 16:00:02 -05:00
04fc954be9 Make Windows build skip ffmpeg download when already on PATH 2025-12-07 12:41:46 -05:00
9015ad7bab Add Windows helper scripts and conversion questionnaire 2025-12-07 11:37:45 -05:00
41158765c9 Handle already-installed MSYS2 in build script
Check if MSYS2 is already present by looking for the bash executable,
even if winget reports it's already installed. This allows the script
to continue with GCC installation instead of failing.
2025-12-04 17:50:58 -05:00
76efd14768 Replace all emojis with ASCII status indicators
Replaced all emoji characters with standard ASCII status prefixes
to prevent encoding issues on Windows systems:
- ✓/ → [OK]/[ERROR]
- ⚠️ → [WARN]
- 📦/🔨/🧹/⬇️/📥 → [INFO]

This ensures the script works correctly on all Windows configurations
regardless of console encoding settings.
2025-12-04 17:29:33 -05:00
7f8f700c8a Escape parentheses in echo statements within if blocks
Batch files interpret unescaped parentheses as block delimiters,
causing "was unexpected at this time" errors and improper branch
execution. All parentheses in echo statements are now escaped with ^.
2025-12-04 17:28:26 -05:00
699d51189d Fix ERRORLEVEL evaluation in all conditional checks
Capture ERRORLEVEL values immediately after each command execution
to prevent delayed expansion issues in nested conditionals. This
fixes the "was unexpected at this time" error and ensures proper
branch execution.
2025-12-04 17:24:12 -05:00
57f902ee24 Improve Windows build script with comprehensive dependency checking
Enhanced build.bat to automatically detect and offer to install all
required dependencies for users with minimal Windows dev environment:

- Check for winget availability (required for auto-installation)
- Detect and offer to install Git (recommended for development)
- Improved GCC/MinGW detection with fallback instructions
- Better error messages for users without winget
- Graceful degradation when automatic installation is not available

This ensures Jake and other users with just Go installed can run the
build script and get prompted to install everything needed automatically.
2025-12-04 17:19:43 -05:00
1d27a0fc5c Fix batch file ERRORLEVEL syntax in nested conditionals
Fixed "was unexpected at this time" error by capturing ERRORLEVEL
values into variables before using them in nested if statements.
This is required due to how batch file delayed expansion works.
2025-12-04 17:17:46 -05:00
6e6e8f1c74 Add dev14 fixes: progress tracking, AMD AMF support, DVD resolution fix, and Windows build automation
This commit includes three critical bug fixes and Windows build improvements:

**Bug Fixes:**

1. **Queue Conversion Progress Tracking** (main.go:1471-1534)
   - Enhanced executeConvertJob() to parse FPS, speed, and ETA from FFmpeg output
   - Queue jobs now show detailed progress metrics matching direct conversions
   - Stats stored in job.Config for display in the conversion stats bar

2. **AMD AMF Hardware Acceleration** (main.go)
   - Added "amf" to hardware acceleration options
   - Support for h264_amf, hevc_amf, and av1_amf encoders
   - Added AMF-specific error detection in FFmpeg output parsing

3. **DVD Format Resolution Forcing** (main.go:1080-1103, 4504-4517)
   - Removed automatic resolution forcing when DVD format is selected
   - Removed -target parameter usage which was forcing 720×480/720×576
   - Resolution now defaults to "Source" unless explicitly changed
   - DVD compliance maintained through manual bitrate/GOP/codec parameters

**Windows Build Improvements:**

- Updated build.bat to enable CGO (required for Fyne/OpenGL)
- Added automatic GCC/MinGW-w64 detection and installation
- Automated setup via winget for one-command Windows builds
- Improved error messages with fallback manual instructions

**Documentation:**

- Added comprehensive Windows setup guides
- Created platform.go for future platform-specific code
- Updated .gitignore for Windows build artifacts

All changes tested and working. Ready for production use.
2025-12-04 17:11:15 -05:00
b67490013e add build.bat script for Windows installation 2025-12-04 17:05:52 -05:00