forked from Leak_Technologies/VideoTools
Document completed features and improvements: - Persistent conversion stats bar - Multi-video navigation - Installation script with spinner - Error copy dialogs - Queue system improvements - Bug fixes (deadlocks, crashes, deserialization) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
310 lines
8.9 KiB
Markdown
310 lines
8.9 KiB
Markdown
# VideoTools TODO
|
|
|
|
This file tracks upcoming features, improvements, and known issues.
|
|
|
|
## Critical Issues
|
|
|
|
### Build System
|
|
- [ ] **Fix GCC 15.2.1 CGO compilation hang** - Current builds hang during OpenGL/CGO compilation
|
|
- Investigate GCC version compatibility
|
|
- Test with older GCC versions
|
|
- Consider Docker build environment
|
|
- Document workaround for development builds
|
|
|
|
## Core Features
|
|
|
|
### Persistent Video Context
|
|
- [ ] Implement video info bar UI component
|
|
- [ ] Add "Clear Video" button globally accessible
|
|
- [ ] Update all modules to check for `state.source`
|
|
- [ ] Add "Use Different Video" option in modules
|
|
- [ ] Implement auto-clear preferences
|
|
- [ ] Add recent files tracking and dropdown menu
|
|
- [ ] Test video persistence across module switches
|
|
|
|
### Convert Module Completion
|
|
- [ ] Add hardware acceleration UI controls (NVENC, QSV, VAAPI)
|
|
- [ ] Implement two-pass encoding mode
|
|
- [ ] Add bitrate-based encoding option (not just CRF)
|
|
- [ ] Implement custom FFmpeg arguments field
|
|
- [ ] Add preset save/load functionality
|
|
- [x] Add batch conversion queue (v0.1.0-dev11)
|
|
- [x] Multi-video loading and navigation (v0.1.0-dev11)
|
|
- [ ] Estimated file size calculator
|
|
- [ ] Preview/comparison mode
|
|
- [ ] Audio-only output option
|
|
- [ ] Add more codec options (AV1, VP9)
|
|
|
|
### Merge Module (Not Started)
|
|
- [ ] Design UI layout
|
|
- [ ] Implement file list/order management
|
|
- [ ] Add drag-and-drop reordering
|
|
- [ ] Preview transitions
|
|
- [ ] Handle mixed formats/resolutions
|
|
- [ ] Audio normalization across clips
|
|
- [ ] Transition effects (optional)
|
|
- [ ] Chapter markers at join points
|
|
|
|
### Trim Module (Not Started)
|
|
- [ ] Design UI with timeline
|
|
- [ ] Implement frame-accurate seeking
|
|
- [ ] Visual timeline with preview thumbnails
|
|
- [ ] Multiple trim ranges selection
|
|
- [ ] Chapter-based splitting
|
|
- [ ] Smart copy mode (no re-encode)
|
|
- [ ] Batch trim operations
|
|
- [ ] Keyboard shortcuts for marking in/out points
|
|
|
|
### Filters Module (Not Started)
|
|
- [ ] Design filter selection UI
|
|
- [ ] Implement color correction filters
|
|
- [ ] Brightness/Contrast
|
|
- [ ] Saturation/Hue
|
|
- [ ] Color balance
|
|
- [ ] Curves/Levels
|
|
- [ ] Implement enhancement filters
|
|
- [ ] Sharpen/Blur
|
|
- [ ] Denoise
|
|
- [ ] Deband
|
|
- [ ] Implement creative filters
|
|
- [ ] Grayscale/Sepia
|
|
- [ ] Vignette
|
|
- [ ] Speed adjustment
|
|
- [ ] Rotation/Flip
|
|
- [ ] Implement stabilization
|
|
- [ ] Add real-time preview
|
|
- [ ] Filter presets
|
|
- [ ] Custom filter chains
|
|
|
|
### Upscale Module (Not Started)
|
|
- [ ] Design UI for upscaling
|
|
- [ ] Implement traditional scaling (Lanczos, Bicubic)
|
|
- [ ] Integrate Waifu2x (if feasible)
|
|
- [ ] Integrate Real-ESRGAN (if feasible)
|
|
- [ ] Add resolution presets
|
|
- [ ] Quality vs. speed slider
|
|
- [ ] Before/after comparison
|
|
- [ ] Batch upscaling
|
|
|
|
### Audio Module (Not Started)
|
|
- [ ] Design audio extraction UI
|
|
- [ ] Implement audio track extraction
|
|
- [ ] Audio track replacement/addition
|
|
- [ ] Multi-track management
|
|
- [ ] Volume normalization
|
|
- [ ] Audio delay correction
|
|
- [ ] Format conversion
|
|
- [ ] Channel mapping
|
|
- [ ] Audio-only operations
|
|
|
|
### Thumb Module (Not Started)
|
|
- [ ] Design thumbnail generation UI
|
|
- [ ] Single thumbnail extraction
|
|
- [ ] Grid/contact sheet generation
|
|
- [ ] Customizable layouts
|
|
- [ ] Scene detection
|
|
- [ ] Animated thumbnails
|
|
- [ ] Batch processing
|
|
- [ ] Template system
|
|
|
|
### Inspect Module (Partial)
|
|
- [ ] Enhanced metadata display
|
|
- [ ] Stream information viewer
|
|
- [ ] Chapter viewer/editor
|
|
- [ ] Cover art viewer/extractor
|
|
- [ ] HDR metadata display
|
|
- [ ] Export reports (text/JSON)
|
|
- [ ] MediaInfo integration
|
|
- [ ] Comparison mode (before/after conversion)
|
|
|
|
### Rip Module (Not Started)
|
|
- [ ] Design disc ripping UI
|
|
- [ ] DVD drive detection and scanning
|
|
- [ ] Blu-ray drive support
|
|
- [ ] ISO file loading
|
|
- [ ] Title selection interface
|
|
- [ ] Track management (audio/subtitle)
|
|
- [ ] libdvdcss integration
|
|
- [ ] libaacs integration
|
|
- [ ] Batch ripping
|
|
- [ ] Metadata lookup integration
|
|
|
|
## Additional Modules
|
|
|
|
### Subtitle Module (Proposed)
|
|
- [ ] Requirements analysis
|
|
- [ ] UI design
|
|
- [ ] Extract subtitle tracks
|
|
- [ ] Add/replace subtitles
|
|
- [ ] Burn subtitles into video
|
|
- [ ] Format conversion
|
|
- [ ] Timing adjustment
|
|
- [ ] Multi-language support
|
|
|
|
### Streams Module (Proposed)
|
|
- [ ] Requirements analysis
|
|
- [ ] UI design
|
|
- [ ] Stream viewer/inspector
|
|
- [ ] Stream selection/removal
|
|
- [ ] Stream reordering
|
|
- [ ] Map streams to outputs
|
|
- [ ] Default flag management
|
|
|
|
### GIF Module (Proposed)
|
|
- [ ] Requirements analysis
|
|
- [ ] UI design
|
|
- [ ] Video segment to GIF
|
|
- [ ] Palette optimization
|
|
- [ ] Frame rate control
|
|
- [ ] Loop settings
|
|
- [ ] Dithering options
|
|
- [ ] Preview before export
|
|
|
|
### Crop Module (Proposed)
|
|
- [ ] Requirements analysis
|
|
- [ ] UI design
|
|
- [ ] Visual crop selector
|
|
- [ ] Auto-detect black bars
|
|
- [ ] Aspect ratio presets
|
|
- [ ] Preview with crop overlay
|
|
- [ ] Batch crop with presets
|
|
|
|
### Screenshots Module (Proposed)
|
|
- [ ] Requirements analysis
|
|
- [ ] UI design
|
|
- [ ] Single frame extraction
|
|
- [ ] Burst capture
|
|
- [ ] Scene-based capture
|
|
- [ ] Format options
|
|
- [ ] Batch processing
|
|
|
|
## UI/UX Improvements
|
|
|
|
### General Interface
|
|
- [ ] Keyboard shortcuts system
|
|
- [x] Drag-and-drop file loading (v0.1.0-dev11)
|
|
- [x] Multiple file drag-and-drop with batch processing (v0.1.0-dev11)
|
|
- [ ] Dark/light theme toggle
|
|
- [ ] Custom color schemes
|
|
- [ ] Window size/position persistence
|
|
- [ ] Multi-window support
|
|
- [ ] Responsive layout improvements
|
|
|
|
### Media Player
|
|
- [ ] Enhanced playback controls
|
|
- [ ] Frame-by-frame navigation
|
|
- [ ] Playback speed control
|
|
- [ ] A-B repeat loop
|
|
- [ ] Snapshot/screenshot button
|
|
- [ ] Audio waveform display
|
|
- [ ] Subtitle display during playback
|
|
|
|
### Queue/Batch System
|
|
- [x] Global job queue (v0.1.0-dev11)
|
|
- [x] Priority management (v0.1.0-dev11)
|
|
- [x] Pause/resume individual jobs (v0.1.0-dev11)
|
|
- [x] Queue persistence (v0.1.0-dev11)
|
|
- [x] Job history (v0.1.0-dev11)
|
|
- [x] Persistent status bar showing queue stats (v0.1.0-dev11)
|
|
- [ ] Parallel processing option
|
|
- [ ] Estimated completion time
|
|
|
|
### Settings/Preferences
|
|
- [ ] Settings dialog
|
|
- [ ] Default output directory
|
|
- [ ] FFmpeg path configuration
|
|
- [ ] Hardware acceleration preferences
|
|
- [ ] Auto-clear video behavior
|
|
- [ ] Preview quality settings
|
|
- [ ] Logging verbosity
|
|
- [ ] Update checking
|
|
|
|
## Performance & Optimization
|
|
|
|
- [ ] Optimize preview frame generation
|
|
- [ ] Cache metadata for recently opened files
|
|
- [ ] Implement progressive loading for large files
|
|
- [ ] Add GPU acceleration detection
|
|
- [ ] Optimize memory usage for long videos
|
|
- [ ] Background processing improvements
|
|
- [ ] FFmpeg process management enhancements
|
|
|
|
## Testing & Quality
|
|
|
|
- [ ] Unit tests for core functions
|
|
- [ ] Integration tests for FFmpeg commands
|
|
- [ ] UI automation tests
|
|
- [ ] Test suite for different video formats
|
|
- [ ] Regression tests
|
|
- [ ] Performance benchmarks
|
|
- [ ] Error handling improvements
|
|
- [ ] Logging system enhancements
|
|
|
|
## Documentation
|
|
|
|
### User Documentation
|
|
- [ ] Complete README.md for all modules
|
|
- [ ] Getting Started guide
|
|
- [ ] Installation instructions (Windows, macOS, Linux)
|
|
- [ ] Keyboard shortcuts reference
|
|
- [ ] Workflow examples
|
|
- [ ] FAQ section
|
|
- [ ] Troubleshooting guide
|
|
- [ ] Video tutorials (consider for future)
|
|
|
|
### Developer Documentation
|
|
- [ ] Architecture overview
|
|
- [ ] Code structure documentation
|
|
- [ ] FFmpeg integration guide
|
|
- [ ] Contributing guidelines
|
|
- [ ] Build instructions for all platforms
|
|
- [ ] Release process documentation
|
|
- [ ] API documentation (if applicable)
|
|
|
|
## Packaging & Distribution
|
|
|
|
- [ ] Create installers for Windows (.exe/.msi)
|
|
- [ ] Create macOS app bundle (.dmg)
|
|
- [ ] Create Linux packages (.deb, .rpm, AppImage)
|
|
- [ ] Set up CI/CD pipeline
|
|
- [ ] Automatic builds for releases
|
|
- [ ] Code signing (Windows/macOS)
|
|
- [ ] Update mechanism
|
|
- [ ] Crash reporting system
|
|
|
|
## Future Considerations
|
|
|
|
- [ ] Plugin system for extending functionality
|
|
- [ ] Scripting/automation support
|
|
- [ ] Command-line interface mode
|
|
- [ ] Web-based remote control
|
|
- [ ] Cloud storage integration
|
|
- [ ] Collaborative features
|
|
- [ ] AI-powered scene detection
|
|
- [ ] AI-powered quality enhancement
|
|
- [ ] Streaming output support
|
|
- [ ] Live input support (webcam, capture card)
|
|
|
|
## Known Issues
|
|
|
|
- **Build hangs on GCC 15.2.1** - CGO compilation freezes during OpenGL binding compilation
|
|
- No Windows/macOS builds tested yet
|
|
- Preview frames not cleaned up on crash
|
|
|
|
## Fixed Issues (v0.1.0-dev11)
|
|
|
|
- ✅ Limited error messages for FFmpeg failures - Added "Copy Error" button to all error dialogs
|
|
- ✅ No progress indication during metadata parsing - Added persistent stats bar showing real-time progress
|
|
- ✅ Crash when dragging multiple files - Improved error handling with detailed reporting
|
|
- ✅ Queue callback deadlocks - Fixed by running callbacks in goroutines
|
|
- ✅ Queue deserialization panic - Fixed formatOption struct handling
|
|
|
|
## Research Needed
|
|
|
|
- [ ] Best practices for FFmpeg filter chain optimization
|
|
- [ ] GPU acceleration capabilities across platforms
|
|
- [ ] AI upscaling integration options
|
|
- [ ] Disc copy protection legal landscape
|
|
- [ ] Cross-platform video codecs support
|
|
- [ ] HDR/Dolby Vision handling
|