Commit Graph

79 Commits

Author SHA1 Message Date
88bc5ad4d4 Add GStreamer preview backend 2026-01-07 02:50:27 -05:00
27ba4317a0 Add GStreamer to dev install scripts 2026-01-07 02:40:06 -05:00
Stu Leak
b13467707a Ignore vendor dir for builds without modules.txt 2026-01-04 21:27:13 -05:00
Stu Leak
175cb7d8ce Make Whisper offline setup fully automatic 2026-01-04 19:45:28 -05:00
Stu Leak
06df69c44f Auto-seed offline Whisper model 2026-01-04 19:35:24 -05:00
Stu Leak
a76035cbff Drop qrencode dependency from installers 2026-01-04 04:28:28 -05:00
Stu Leak
6c95ef07a9 Require qrencode in Windows dependency installer 2026-01-04 04:25:00 -05:00
Stu Leak
a9926dbdfc Add qrencode dependency to install script 2026-01-04 04:20:05 -05:00
c56a936fac fix: QoL improvements and cleanup
- Fix audio module initialization order (SetSelected after bitrate entry)
- Remove unused onnxruntime_go dependency from go.mod
- Improve install.sh to skip prompts for already-installed tools
  (DVDStyler, dvdauthor, xorriso, Real-ESRGAN, Whisper)
2026-01-02 04:24:47 -05:00
fec9a86f56 feat(install): Add Whisper support for automated subtitling
Added optional Whisper installation to install.sh:
- New --skip-whisper flag to disable Whisper installation
- Interactive prompt asking if user wants Whisper for subtitling
- Automatic installation of openai-whisper via pip3
- PATH configuration hints for ~/.local/bin
- Python 3 and pip3 dependency checks

Whisper enables automated subtitle generation from audio using
OpenAI's speech recognition model.
2025-12-30 22:09:25 -05:00
cfe16f19a8 Remove terminal banner from alias.sh
The banner was displaying every time a new shell was opened,
which was intrusive. Now the aliases load silently.

Commands are still available (VideoTools, VideoToolsRebuild,
VideoToolsClean) but without the banner on every terminal load.
2025-12-30 21:25:03 -05:00
4574ead2a3 Remove emojis from install script, use text indicators
Replaced all emojis with text-based indicators:
- ✓ → [OK] (with GREEN color)
- ✗ → [ERROR] (with RED color)
- ⚠ → WARNING: (with YELLOW color)

Color coding is preserved for visual distinction while remaining
accessible in all terminals and avoiding encoding issues.
2025-12-30 21:20:24 -05:00
583fb50d39 Add optional AI upscaling tools installation
Added support for installing Real-ESRGAN NCNN during setup:

**New Features:**
- Prompts user to install AI upscaling tools (Real-ESRGAN NCNN)
- Downloads and installs binary from GitHub releases
- Tries /usr/local/bin with sudo, falls back to ~/.local/bin
- Supports x86_64 architecture, warns for ARM
- Added --skip-ai flag to skip AI tools prompt

**Installation Flow:**
1. Ask: "Install DVD authoring tools?" (dvdauthor + xorriso)
2. Ask: "Install AI upscaling tools?" (Real-ESRGAN NCNN)
3. Auto-install all missing dependencies user requested

**Benefits:**
- Users get AI upscaling without manual download
- FFmpeg native upscaling still works without it
- Optional enhancement, not required
2025-12-30 21:15:47 -05:00
2ebf6704e1 Auto-install missing dependencies without additional prompt
Previously, install.sh would:
1. Ask "Install DVD authoring tools?"
2. Then ask again "Install missing dependencies now?"

Now it automatically installs any missing dependencies after the
user confirms they want DVD tools, eliminating the redundant prompt.

Changes:
- Removed second confirmation prompt for dependency installation
- Automatically installs missing deps when detected
- Shows clear message: "Missing dependencies: ... Installing..."
2025-12-30 21:11:06 -05:00
7cd7071480 Fix install script to specifically require xorriso
The dependency check was accepting any ISO tool (mkisofs, genisoimage,
or xorriso), but the install commands now specifically install xorriso.

Updated checks to require xorriso specifically since:
- It handles both ISO9660 and UDF formats
- Required for RIP module to extract UDF DVD ISOs
- Now installed by all package managers in the script

This ensures the install script will detect and install xorriso even
if older tools like genisoimage are already present.
2025-12-30 21:10:32 -05:00
290d042ea2 Fix metadata display and improve ISO extraction support
**Metadata Panel Fix:**
- Simplified makeRow layout to properly display values
- Changed from complex Border layout to simple HBox
- Metadata values now visible in Convert module

**RIP Module Improvements:**
- Added mount-based ISO extraction for UDF ISOs
- Added 7z extraction fallback
- Prioritizes xorriso > 7z > bsdtar for ISO extraction
- Handles both ISO9660 and UDF format DVDs

**Installation Script:**
- Updated all package managers to install xorriso
- Ensures proper UDF ISO support when disc modules enabled
- apt/dnf/zypper now install xorriso instead of genisoimage
2025-12-30 21:07:50 -05:00
584835000b Fix subtitle module drag and drop and remove emojis from scripts
- Wrap entire subtitle module content in droppable container for drag and drop anywhere
- Remove all emojis from build scripts (build-linux.sh, build.sh, build-windows.sh, alias.sh)
- Subtitle module now accepts video/subtitle file drops on any part of the view
2025-12-26 20:17:24 -05:00
05087a0fe8 Update Windows build guide for Git Bash users
Git Bash Optimizations:
- Create add-defender-exclusions.ps1 automated script
- Update guide with Git Bash-first instructions
- Add command for running PowerShell from Git Bash
- Document how to run Git Bash as Administrator

New Helper Script:
- scripts/add-defender-exclusions.ps1
- Automatically adds all necessary Defender exclusions
- Shows clear success/failure messages
- Can be run from Git Bash using powershell.exe

Documentation Updates:
- Prioritize Git Bash commands (Jake's workflow)
- Add "Quick Start for Git Bash Users" section
- Provide step-by-step Git Bash instructions
- Keep PowerShell/CMD options as alternatives

For Jake:
```bash
# From Git Bash as Administrator:
powershell.exe -ExecutionPolicy Bypass -File ./scripts/add-defender-exclusions.ps1
```
2025-12-23 20:55:47 -05:00
fe75a7310e Add Windows build performance optimizations
Build Script Improvements:
- Add -p flag for parallel compilation (use all CPU cores)
- Add -trimpath for faster builds and smaller binaries
- Detect CPU core count automatically
- Show parallel process count during build

Performance Guide:
- Create WINDOWS_BUILD_PERFORMANCE.md with troubleshooting steps
- Document Windows Defender exclusion fix (saves 2-5 minutes)
- Provide PowerShell commands for adding exclusions
- Include benchmarking and troubleshooting commands

Expected Improvements:
- With Defender exclusions: 5+ min → 30-90 sec
- Parallel compilation: 30-50% faster on multi-core CPUs
- Trimpath flag: 10-20% faster linking

Scripts Updated:
- build.ps1: Added core detection and optimization flags
- build.bat: Added parallel build support

Addresses Jake's 5+ minute Windows build issue.
2025-12-23 20:53:43 -05:00
3a02cfcae1 Allow local DVDStyler ZIP install 2025-12-23 20:00:54 -05:00
8f34ee1f92 Add more DVDStyler mirrors 2025-12-23 20:00:54 -05:00
df23fee585 Add manual DVDStyler download hint 2025-12-23 20:00:54 -05:00
2840da0983 Prompt for optional DVD authoring deps 2025-12-23 20:00:54 -05:00
5f48e041d0 Harden DVDStyler download fallback 2025-12-23 18:41:44 -05:00
d9686b20ed Make install.sh dependencies-only 2025-12-23 18:41:12 -05:00
d54c61a8ab Polish menu header and Windows DVDStyler download 2025-12-23 18:30:35 -05:00
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