29 KiB
VideoTools TODO (v0.1.0-dev19+ plan)
This file tracks upcoming features, improvements, and known issues.
Current Focus: dev20+ - Feature Development
In Progress
-
AI Frame Interpolation Support (Deferred to dev20+)
- RIFE (Real-Time Intermediate Flow Estimation) - https://github.com/hzwer/ECCV2022-RIFE
- FILM (Frame Interpolation for Large Motion) - https://github.com/google-research/frame-interpolation
- DAIN (Depth-Aware Video Frame Interpolation) - https://github.com/baowenbo/DAIN
- CAIN (Channel Attention Is All You Need) - https://github.com/myungsub/CAIN
- Python-based models, need Go bindings or CLI wrappers
- Model download/management system
- UI controls for model selection
-
Color Space Preservation (Deferred to dev20+)
- Fix color space preservation in upscale module
- Ensure all conversions preserve color metadata (color_space, color_primaries, color_trc, color_range)
- Test with HDR content
Completed in dev19 (2025-12-20)
-
History Sidebar - In Progress Tab ✅ COMPLETED
- Shows running/pending jobs without opening full queue
- Animated progress bars per module color
- Real-time progress updates
-
Benchmark System Overhaul ✅ COMPLETED
- Hardware detection module (CPU, GPU, RAM, drivers)
- Hardware info displayed in progress and results views
- Settings persistence across sessions
- First-run button highlighting
- Results ranked by score with cancel confirmation
-
Bitrate Preset Simplification ✅ COMPLETED
- Codec-agnostic quality-based presets
- Removed confusing resolution references
- 6 clear presets: Manual, Low, Medium, Good, High, Very High
-
Quality Preset Codec Compatibility ✅ COMPLETED
- Lossless option only for H.265/AV1
- Dynamic dropdown based on codec
- Lossless + Target Size mode support
- Audio bitrate estimation when metadata is missing
- Target size unit selector and numeric entry
- Snippet history updates in sidebar
- Non-blocking benchmark error notifications
- Stats bar updates run on the UI thread
- Target aspect default enforced as Source unless user changes it
- Target aspect sync across simple/advanced menus
- Hide manual CRF entry when Lossless quality is active
- Upscale target dimensions recomputed from preset for 2X/4X reliability
- Manual video bitrate uses a unit selector (KB/MB/GB)
- Reset restores full default convert settings
- Reset forces resolution/frame rate back to Source
- Reset handler scope fixed for convert tabs
- Target size reduction presets restored (25/33/50/75%)
Last Updated: 2025-12-20
Priority Features for dev20+
Quality & Polish Improvements
-
UI/UX refinements
- Improve error message clarity and detail
- Add progress indicators for long operations (striped bars landed; continue refining status cues)
- Enhance drag-and-drop feedback
- Add keyboard shortcuts for common actions
-
Performance optimizations
- Optimize preview frame generation
- Reduce memory usage for large files
- Improve queue processing efficiency
- Add parallel processing options
-
Advanced Convert features
- Implement 2-pass encoding UI
- Add custom FFmpeg arguments field
- Create encoding preset save/load system
- Add file size estimator
Module Development
-
Merge module implementation
- Design UI layout for file joining
- Implement drag-and-drop reordering
- Add format conversion for mixed sources
- Create preview functionality
-
Trim module implementation
- Timeline-based editing interface
- Frame-accurate seeking
- Multiple range selection
- Smart copy mode detection
-
Filters module implementation
- Color correction controls
- Enhancement filters (sharpen, denoise)
- Creative effects (grayscale, vignette)
- Real-time preview system
Quality & Compression Improvements
-
Automatic black bar detection and cropping (v0.1.0-dev13 - COMPLETED)
- Implement ffmpeg cropdetect analysis pass
- Auto-apply detected crop values
- 15-30% file size reduction with zero quality loss
- Add manual crop override option
-
Frame rate conversion UI (v0.1.0-dev13 - COMPLETED)
- Dropdown: Source, 23.976, 24, 25, 29.97, 30, 50, 59.94, 60 fps
- Auto-suggest 60→30fps conversion with size estimate
- Show file size impact (40-50% reduction for 60→30)
-
HEVC/H.265 encoder preset options (v0.1.0-dev13 - COMPLETED)
- Preset dropdown: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow
- Show time/quality trade-off estimates
- Recommend "slow" for best quality/size balance
-
Advanced filters module
- Denoising: hqdn3d (fast), nlmeans (slow, high quality)
- Sharpening: unsharp filter with strength slider
- Deblocking: remove compression artifacts
- All with strength sliders and preview
Encoding Features
-
2-pass encoding for precise bitrate targeting
- UI for target file size
- Auto-calculate bitrate from duration + size
- Progress tracking for both passes
-
SVT-AV1 codec support
- Faster than H.265, smaller files
- Add compatibility warnings for iOS
- Preset selection (0-13)
UI & Workflow
-
Add UI controls for dev12 backend features
- H.264 profile/level dropdowns
- Deinterlace method selector (yadif/bwdif)
- Audio normalization checkbox
- Auto-crop toggle
-
Encoding presets system
- "iPhone Compatible" preset (main/4.0, stereo, 48kHz, auto-crop)
- "Maximum Compression" preset (H.265, slower, CRF 24, 10-bit, auto-crop)
- "Fast Encode" preset (medium, hardware encoding)
- Save custom presets
-
File size estimator
- Show estimated output size before encoding
- Based on source duration, target bitrate/CRF
- Update in real-time as settings change
VR & Advanced Features
-
VR video support infrastructure
- Detect VR metadata tags
- Side-by-side and over-under format detection
- Preserve VR metadata in output
- Add VR-specific presets
-
Batch folder import
- Select folder, auto-add all videos to queue
- Filter by extension
- Apply same settings to all files
- Progress indicator for folder scanning
Windows Compatibility (COMPLETED in dev14)
Build System
-
Cross-compilation setup ✅ COMPLETED
- Configure CGO for Windows cross-compilation
- Set up MinGW-w64 toolchain
- Test Fyne compilation on Windows
- Create Windows build script equivalent to build.sh
-
Platform detection system ✅ COMPLETED
- Bundle ffmpeg.exe with Windows builds
- Include all required DLLs (OpenGL, etc.)
- Create installer with dependencies
- Add ffmpeg to PATH or bundle in application directory
Platform-Specific Code
-
Path handling ✅ COMPLETED
- Replace Unix path separators with filepath.Separator
- Handle Windows drive letters (C:, D:, etc.)
- Support UNC paths (\server\share)
- Test with spaces and special characters in paths
-
Platform detection system ✅ COMPLETED
- Ensure Fyne file dialogs work on Windows
- Test drag-and-drop on Windows Explorer
- Handle Windows file associations
- Add "Open with VideoTools" context menu option
-
Process management ✅ COMPLETED
- Test ffmpeg process spawning on Windows
- Handle Windows process termination (no SIGTERM)
- Support Windows-style console output
- Test background process handling
Hardware Detection
-
Windows GPU detection ✅ COMPLETED
- Detect NVIDIA GPUs (NVENC) on Windows
- Detect Intel integrated graphics (QSV)
- Detect AMD GPUs (AMF)
- Auto-select best available encoder
-
Windows-specific encoders ✅ COMPLETED
- Add Windows Media Foundation encoders
- Test NVENC on Windows (h264_nvenc, hevc_nvenc)
- Test Intel QSV on Windows
- Add fallback to software encoding
Testing & Distribution
-
Windows testing ⏳ CORE IMPLEMENTATION COMPLETE
- Test on Windows 10 (requires Windows environment)
- Test on Windows 11 (requires Windows environment)
- Test with different GPU vendors (requires Windows environment)
- Test on systems without GPU (requires Windows environment)
-
Installation (planned for dev15)
- Create Windows installer (MSI or NSIS)
- Add to Windows Start Menu
- Create desktop shortcut option
- Auto-update mechanism
-
Documentation ✅ COMPLETED
- Windows installation guide
- Windows-specific troubleshooting
- GPU driver requirements
- Antivirus whitelist instructions
Nice-to-Have
- Windows Store submission
- Portable/USB-stick version
- Windows taskbar progress integration
- File thumbnail generation for Windows Explorer
- Windows notification system integration
Critical Issues / Polishing
- Queue polish: ensure scroll/refresh stability with 10+ jobs and long runs
- Direct+queue parity: verify label/progress/order are correct when mixing modes
- Conversion error surfacing: include stderr snippet in dialog for faster debug
- DVD author helper (optional): one-click VIDEO_TS/ISO from DVD .mpg
- Build reliability: document cgo/GL deps and avoid accidental cache wipes
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 (dev12 focus)
- 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)
Blu-ray Encoding System (dev15+ priority)
Blu-ray Standards Implementation
- Blu-ray Disc Specifications
- Resolution Support: 1920×1080 (Full HD), 1280×720 (HD), 3840×2160 (4K UHD)
- Frame Rates: 23.976, 24, 25, 29.97, 50, 59.94 fps
- Video Codecs: H.264/AVC, H.265/HEVC, VP9 (optional)
- Audio Codecs: LPCM, Dolby Digital (AC-3), Dolby Digital Plus (E-AC-3), DTS, DTS-HD
- Container: MPEG-2 Transport Stream (.m2ts) with Blu-ray compatibility
Multi-Region Blu-ray Support
-
Region A (Americas, East Asia, Southeast Asia)
- NTSC-based standards (23.976, 29.97, 59.94 fps)
- Primary audio: English, Spanish, French, Portuguese
- Subtitle support for major languages
-
Region B (Europe, Africa, Middle East, Australia, New Zealand)
- PAL/SECAM-based standards (25, 50 fps)
- Primary audio: English, French, German, Italian, Spanish
- Extensive subtitle support for European languages
-
Region C (Central Asia, South Asia, East Asia)
- Mixed standards support
- Primary audio: Mandarin, Cantonese, Korean, Japanese, Hindi
- Complex subtitle requirements (CJK character sets)
Professional Blu-ray Features
-
Advanced Video Encoding
- H.264 High Profile Level 4.1/5.1 for 1080p content
- H.265 Main 10 Profile for HDR content
- Variable Bitrate (VBR) encoding with peak bitrate management
- GOP structure optimization for Blu-ray compatibility
- Color space support: Rec. 601, Rec. 709, Rec. 2020
- HDR metadata: HDR10, Dolby Vision (optional)
-
Professional Audio System
- LPCM (Linear PCM): Uncompressed audio for maximum quality
- Dolby Digital Plus (E-AC-3): Enhanced compression with surround support
- DTS-HD Master Audio: Lossless audio compression
- Multi-channel support: 5.1, 7.1, and object-based audio
- Sample rates: 48 kHz, 96 kHz, 192 kHz
- Bit depth: 16-bit, 24-bit, 32-bit
Blu-ray Validation System
-
Comprehensive Validation
- Bitrate compliance checking (max 40 Mbps for video, 48 Mbps total)
- Resolution and framerate validation per Blu-ray spec
- Audio codec and channel validation
- Subtitle format and encoding validation
- Container format compliance checking
- HDR metadata validation for HDR content
-
Quality Assurance
- Professional authoring compatibility (Adobe Encore, Scenarist)
- Standalone Blu-ray player compatibility
- PlayStation 3/4/5 compatibility testing
- Xbox One/Series X compatibility testing
- PC software player compatibility (PowerDVD, VLC, MPC-HC)
Technical Implementation
-
Blu-ray Package Structure
internal/convert/bluray.go- Blu-ray encoding logicinternal/convert/bluray_regions.go- Regional Blu-ray standardsinternal/convert/bluray_validation.go- Compliance checkinginternal/app/bluray_adapter.go- Integration layer
-
FFmpeg Command Generation
- H.264/AVC encoding parameters for Blu-ray compliance
- H.265/HEVC encoding parameters for UHD Blu-ray
- Audio encoding pipelines for all supported formats
- Transport stream muxing with proper Blu-ray parameters
- Subtitle and metadata integration
User Interface Integration
-
Blu-ray Format Selection
- Blu-ray 1080p (H.264) - Standard Full HD
- Blu-ray 1080p (H.265) - High efficiency
- Blu-ray 4K (H.265) - Ultra HD
- Blu-ray 720p (H.264) - HD option
- Region selection (A/B/C) with auto-detection
-
Advanced Options Panel
- Video codec selection (H.264, H.265)
- Audio codec selection (LPCM, AC-3, E-AC-3, DTS-HD)
- Quality presets (Standard, High, Cinema, Archive)
- HDR options (SDR, HDR10, Dolby Vision)
- Multi-language audio and subtitle tracks
Compatibility Targets
-
Professional Authoring Software
- Adobe Encore CC compatibility
- Sony Scenarist compatibility
- DVDLogic EasyBD compatibility
- MultiAVCHD compatibility
-
Hardware Player Compatibility
- Sony PlayStation 3/4/5
- Microsoft Xbox One/Series X|S
- Standalone Blu-ray players (all major brands)
- 4K Ultra HD Blu-ray players
- Portable Blu-ray players
-
Software Player Compatibility
- CyberLink PowerDVD
- ArcSoft TotalMedia Theatre
- VLC Media Player
- MPC-HC/MPC-BE
- Windows Media Player (with codecs)
File Structure and Output
-
Output Formats
- Single M2TS files for direct burning
- BDMV folder structure for full Blu-ray authoring
- ISO image creation for disc burning
- AVCHD compatibility for DVD media
-
Metadata and Navigation
- Chapter marker support
- Menu structure preparation
- Subtitle track management
- Audio stream organization
- Thumbnail generation for menu systems
Development Phases
-
Phase 1: Basic Blu-ray Support
- H.264 1080p encoding
- AC-3 audio support
- Basic validation system
- Region A implementation
-
Phase 2: Advanced Features
- H.265/HEVC support
- Multi-region implementation
- LPCM and DTS-HD audio
- Advanced validation
-
Phase 3: Professional Features
- 4K UHD support
- HDR content handling
- Professional authoring compatibility
- Advanced audio options
Integration with Existing Systems
-
Queue System Integration
- Blu-ray job types in queue
- Progress tracking for long encodes
- Batch Blu-ray processing
- Error handling and recovery
-
Convert Module Integration
- Blu-ray presets in format selector
- Auto-resolution for Blu-ray standards
- Quality tier system
- Validation warnings before encoding
Documentation and Testing
-
Documentation Requirements
BLURAY_IMPLEMENTATION_SUMMARY.md- Technical specificationsBLURAY_USER_GUIDE.md- User workflow documentationBLURAY_COMPATIBILITY.md- Hardware/software compatibility- Updated
MODULES.mdwith Blu-ray features
-
Testing Requirements
- Compatibility testing with major Blu-ray authoring software
- Hardware player testing across different brands
- Quality validation with professional tools
- Performance benchmarking for encoding times
- Cross-platform testing (Windows, Linux)
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 (Lossless-Cut Inspired) 🔄 PLANNED
Trim provides frame-accurate cutting with lossless-first philosophy (inspired by Lossless-Cut):
Core Features
- Lossless-First Approach - Stream copy when possible, smart re-encode fallback
- Keyframe-Snapping Timeline - Visual keyframe markers with smart snapping
- Frame-Accurate Navigation - Reuse VT_Player's keyframe detection system
- Smart Export System - Automatic method selection (lossless/re-encode/hybrid)
- Multi-Segment Trimming - Multiple cuts from single source with auto-chapters
UI/UX Features
- Timeline Interface - Zoomable timeline with keyframe visibility (reuse VT_Player)
- Visual Markers - Blue (in), Red (out), Green (current position)
- Keyboard Shortcuts - I (in), O (out), X (clear), ←→ (frames), ↑↓ (keyframes)
- Preview System - Instant segment preview with loop option
- Quality Indicators - Real-time feedback on export method and quality
Technical Implementation
- Stream Analysis - Detect lossless trim possibility automatically
- Smart Export Logic - Choose optimal method based on content and markers
- Format Conversion - Handle format changes during trim operations
- Quality Validation - Verify output integrity and quality preservation
- Error Recovery - Smart suggestions when export fails
Integration Points
- VT_Player Integration - Reuse keyframe detector and timeline widget
- Queue System - Batch trim operations with progress tracking
- Chapter System - Auto-create chapters for each segment
- Convert Module - Seamless format conversion during trim
FFmpeg Features: Seeking, segment muxer, stream copying, smart re-encoding Current Status: Planning complete, implementation ready for dev15 Inspiration: Lossless-Cut's lossless-first philosophy with modern enhancements
Filters Module (Not Started)
- Design filter selection UI
- Implement color correction filters
- Brightness/Contrast
- Saturation/Hue
- LUT support (1D/3D .cube load/apply) — primary home in Filters menu; optionally expose quick apply in Convert presets
- 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 ✅ COMPLETED (v0.1.0-dev18)
- Design thumbnail generation UI
- Single thumbnail extraction
- Grid/contact sheet generation
- Customizable layouts (columns/rows 2-12)
- Batch processing (job queue integration)
- Contact sheet metadata headers
- Preview window integration
- Dual-mode settings (individual vs contact sheet)
- Dynamic total count display
- View results in-app
- Scene detection (future enhancement)
- Animated thumbnails (future enhancement)
- Template system (future enhancement)
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
Files Module (Proposed)
Built-in Video File Explorer/Manager for comprehensive file management without leaving VideoTools.
Core Features
-
File Browser Interface
- Open folder selection with hierarchical tree view
- Batch drag-and-drop support for multiple files
- Recursive folder scanning with file filtering
- Video file type detection and filtering
- Recent folders quick access
-
Metadata Table/Grid View
- Sortable columns: Filename, Size, Duration, Codec, Resolution, FPS, Bitrate, Format
- Fast metadata loading with caching
- Column customization (show/hide, reorder)
- Multi-select support for batch operations
- Search/filter capabilities
-
Integration with Existing Modules
- Seamless Compare module integration for video comparison
- Direct file loading into Convert module
- Quick access to Inspect module for file properties
- Return navigation flow after module actions
- Maintain selection state across module switches
-
File Management Tools
- Delete with confirmation dialog ("Are you sure?")
- Move/copy file operations
- Rename functionality
- File organization tools
- Recycle bin safety (platform-specific)
-
Context Menu System
- Right-click context menu for all file operations
- "Open in Player" - Launch VT_Player or internal player
- "Open in External Player" - System default or configured external player
- "File Properties" - Open in Inspect module
- "Convert" - Pre-load file into Convert module
- "Compare" - Add to Compare module
- "Delete" - Confirmation prompt before deletion
-
UI/UX Enhancements
- Grid view and list view toggle
- Thumbnail preview column (optional)
- File size/duration statistics for selections
- Batch operation progress indicators
- Drag-and-drop to other modules
Technical Implementation
-
Efficient Metadata Caching
- Background metadata scanning
- SQLite database for fast lookups
- Incremental folder scanning
- Smart cache invalidation
-
Cross-Platform File Operations
- Platform-specific delete (trash vs recycle bin)
- External player detection and configuration
- File association handling
- Permission management
Integration Architecture
-
Module Interconnection
- Files → Compare: Select 2+ files for comparison
- Files → Convert: Single-click pre-load into Convert
- Files → Inspect: Double-click or context menu
- Module → Files: "Return to Files" button in other modules
- Persistent selection state across navigation
-
Color-Coded Module Navigation
- Each module has a signature color (already established)
- Buttons/links to other modules use that module's color
- Creates visual consistency and intuitive navigation
- Example: "Compare" button in Files uses Compare module's color
- Example: "Convert" button in Files uses Convert module's color
Current Status: Proposed for VideoTools workflow integration Priority: High - Significantly improves user workflow and file management
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)
- Color-Coded Module Navigation System
- Apply module signature colors to all references/buttons pointing to that module
- Creates visual consistency and intuitive navigation loop
- Example: "Convert" button anywhere uses Convert module's color
- Example: "Compare" link uses Compare module's color
- Applies globally across all modules for unified experience
- 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, 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 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 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