Major refactoring to improve code organization and enhance UI:
Architecture:
- Split monolithic main.go into modular internal/ package structure
- Created internal/logging for centralized logging system
- Created internal/modules for module handler functions
- Created internal/ui for UI components and layouts
- Created internal/utils for shared utility functions
UI Enhancements:
- Implemented rainbow gradient across 8 module buttons (violet→red)
- Increased module button text size to 20 for better readability
- Fixed text centering on module tiles
- Converted Simple/Advanced mode toggle to tabs to save vertical space
- Added vertical scrollbars to prevent UI overflow
- Added metadata copy button (📋) to copy all metadata to clipboard
Video Processing:
- Fixed aspect ratio conversion to default to center-crop behavior
- Added 6 aspect handling modes: Auto, Crop, Letterbox, Pillarbox, Blur Fill, Stretch
- Fixed blur fill to maintain source resolution with padding (no scaling)
- Ensured all FFmpeg filters produce even-numbered dimensions for H.264
Known Issues:
- WMV files still produce FFmpeg error 234 during aspect conversions
(requires codec-specific handling in future update)
1.8 KiB
1.8 KiB
VideoTools Documentation
VideoTools is a comprehensive FFmpeg GUI wrapper that provides user-friendly interfaces for common video processing tasks.
Documentation Structure
Core Modules (Implemented/Planned)
- Convert - Video transcoding and format conversion
- Merge - Join multiple video clips
- Trim - Cut and split videos
- Filters - Video and audio effects
- Upscale - Resolution enhancement
- Audio - Audio track operations
- Thumb - Thumbnail generation
- Inspect - Metadata viewing and editing
- Rip - DVD/Blu-ray extraction
Additional Modules (Proposed)
- Subtitle - Subtitle management
- Streams - Multi-stream handling
- GIF - Animated GIF creation
- Crop - Video cropping tools
- Screenshots - Frame extraction
Design Documents
- Persistent Video Context - Cross-module video state management
- Module Overview - Complete module feature list
- Custom Video Player - Embedded playback implementation
Development
- Architecture - Application structure and design patterns (coming soon)
- FFmpeg Integration - FFmpeg command building and execution (coming soon)
- Contributing - Contribution guidelines (coming soon)
User Guides
- Getting Started - Installation and first steps (coming soon)
- Workflows - Common multi-module workflows (coming soon)
- Keyboard Shortcuts - Keyboard shortcuts reference (coming soon)