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>
8.9 KiB
8.9 KiB
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
- Add batch conversion queue (v0.1.0-dev11)
- 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
- Drag-and-drop file loading (v0.1.0-dev11)
- 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
- Global job queue (v0.1.0-dev11)
- Priority management (v0.1.0-dev11)
- Pause/resume individual jobs (v0.1.0-dev11)
- Queue persistence (v0.1.0-dev11)
- Job history (v0.1.0-dev11)
- 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