11 KiB
Enhanced Dashboard with Configuration UI - Complete Guide
🎉 What's New
The dashboard now includes full configuration management:
✨ New Features
-
Configuration Editor
- Edit directory paths (movies, archive, work)
- Adjust parallel processing settings
- Toggle processing options
- Real-time validation
-
Profile Management
- Create custom encoding profiles
- Edit existing profiles
- Set default profile
- Delete unused profiles
-
Enhanced Job Control
- Dry Run Mode - Test without encoding
- Profile selection per job
- Visual status indicators
-
Three-Tab Interface
- Dashboard - Monitoring and control
- Configuration - System settings
- Profiles - Encoding presets
🚀 Quick Start
# Start dashboard
docker-compose up -d dashboard
# Access at
http://YOUR-SERVER:5000
📋 Dashboard Tab (Monitoring & Control)
Job Control Panel
- Profile Selector: Choose encoding profile for this run
- Dry Run Checkbox: Enable to scan only (no encoding)
- Start Button: Begin processing with selected options
- Stop Button: Gracefully stop current jobs
- Refresh Button: Manual data refresh
- Status Badge: Shows Idle or Processing
Statistics Cards
- Pending: Files waiting to process
- Processing: Currently encoding
- Completed: Successfully processed
- Failed: Encoding errors
- Skipped: Files without subtitles
Progress Overview
- Visual progress bar
- Original vs encoded sizes
- Space saved with percentage
- Average encoding FPS
System Monitoring
- GPU utilization, memory, temperature
- CPU load average
- Real-time updates every 5 seconds
Recent Activity
- Last 10 processed files
- Success/failure indicators
- Encoder used and FPS
Live Logs
- Streaming log output
- Color-coded messages
- Auto-scrolls to latest
⚙️ Configuration Tab
Directory Settings
Movies Directory
/mnt/user/movies
- Source directory containing your movie library
- Must exist and be readable
Archive Directory
/mnt/user/archive/movies
- Where original files are stored after re-encoding
- Will be created if doesn't exist
Work Directory
/mnt/user/temp/encoderpro-work
- Temporary encoding directory
- Should be on fast storage (SSD preferred)
- Needs space for largest movie file
Parallel Processing Settings
Max Workers (1-10)
- Number of concurrent encoding jobs
- Recommended: 1-2 for GPU, 2-4 for CPU
GPU Slots (0-5)
- How many jobs can use GPU simultaneously
- Recommended: 1 for single GPU, 2 for high-end GPUs
CPU Slots (1-32)
- CPU threads available per job
- Recommended: Half of physical cores
Processing Options
✓ Skip files without subtitles
- Automatically skip files that don't have subtitle streams
- Saves time by not processing unnecessary files
✓ Cleanup stale work files
- Remove abandoned work files on startup
- Keeps work directory clean
✓ Prefer GPU encoders
- Use GPU encoding when available
- Much faster than CPU
✓ Fallback to CPU
- Use CPU encoding if GPU fails
- Ensures processing continues
Configuration Actions
✓ Validate
- Check configuration for errors
- Shows warnings and suggestions
- Always validate before saving
💾 Save
- Write configuration to file
- Creates backup of existing config
- Takes effect immediately
🔄 Reload
- Discard changes and reload from file
- Useful to undo modifications
🎯 Profiles Tab
What are Profiles?
Profiles define encoding settings:
- Encoder: Hardware (NVENC, QSV) or software (CPU)
- Preset: Speed vs quality trade-off
- Quality: CRF/CQ value (lower = better)
- Audio: Copy or re-encode
Built-in Profiles
| Profile | Encoder | Use Case |
|---|---|---|
| balanced_gpu | NVENC H.265 | Best for most users |
| fast_gpu | NVENC H.264 | Quick processing |
| quality_gpu | NVENC H.265 | Archival quality |
| balanced_cpu | CPU H.265 | No GPU available |
Managing Profiles
Add Profile
- Click "➕ Add" button
- Enter profile name (e.g., "my_profile")
- Select encoder type
- Set preset (p1-p7 for NVENC, ultrafast-veryslow for CPU)
- Set quality (18-28 recommended)
- Choose audio codec
- Click "💾 Save"
Edit Profile
- Click "✏️ Edit" on existing profile
- Modify settings
- Click "💾 Save"
Delete Profile
- Click "🗑️ Delete"
- Confirm deletion
Set Default Profile
- Select profile from "Default Profile" dropdown
- Click "💾 Save All Profiles"
Encoder Options
NVIDIA NVENC
nvidia_nvenc_h265- H.265 (recommended)nvidia_nvenc_h264- H.264 (faster, larger)- Presets: p1 (fastest) to p7 (slowest)
- Quality: 20-25 recommended
CPU Encoders
cpu_x265- H.265 (best compression)cpu_x264- H.264 (faster)- Presets: ultrafast, fast, medium, slow, veryslow
- Quality: 18-24 recommended
Intel QSV
intel_qsv_h265- H.265intel_qsv_h264- H.264- Presets: fast, medium, slow
AMD VAAPI
amd_vaapi_h265- H.265amd_vaapi_h264- H.264
🎮 Using Dry Run Mode
What is Dry Run?
Dry run scans your library without encoding:
- Detects subtitle streams
- Updates database
- Shows what would be processed
- No files are modified
When to Use Dry Run
-
Initial Setup
- Test configuration before processing
- See how many files need processing
- Verify directory paths
-
After Adding Movies
- Scan for new files
- Update database
- Plan processing time
-
Testing Settings
- Check if subtitles detected correctly
- Verify file extensions recognized
How to Use
- Go to Dashboard tab
- Check "Dry Run (Scan Only)"
- Select profile (optional)
- Click "▶ Start"
- Watch statistics update
- Review results in activity log
After Dry Run
- Check Pending count - files that will be processed
- Check Skipped count - files without subtitles
- Review Statistics to plan processing time
- Uncheck "Dry Run" and run for real
🔧 Common Workflows
First-Time Setup
1. Open http://YOUR-SERVER:5000
2. Go to Configuration tab
3. Set directory paths
4. Click "✓ Validate"
5. Fix any errors shown
6. Click "💾 Save"
7. Go to Profiles tab
8. Review default profiles
9. Go to Dashboard tab
10. Enable "Dry Run"
11. Click "▶ Start"
12. Review results
13. Disable "Dry Run"
14. Click "▶ Start" to process
Adding Custom Profile
1. Go to Profiles tab
2. Click "➕ Add"
3. Name: "my_quality"
4. Encoder: nvidia_nvenc_h265
5. Preset: p6
6. Quality: 20
7. Audio: copy
8. Click "💾 Save"
9. Set as default if desired
10. Click "💾 Save All Profiles"
Processing with Custom Settings
1. Go to Dashboard tab
2. Select profile from dropdown
3. Optionally enable "Dry Run" first
4. Click "▶ Start"
5. Monitor progress in real-time
6. Click "⏹ Stop" if needed
Changing Parallel Workers
1. Go to Configuration tab
2. Adjust "Max Workers" (try 1 first)
3. Adjust "GPU Slots" (1 for most GPUs)
4. Click "✓ Validate"
5. Click "💾 Save"
6. Restart dashboard container if needed
📊 Configuration Examples
Conservative (Safe for all systems)
Max Workers: 1
GPU Slots: 1
CPU Slots: 4
Profile: balanced_gpu
Balanced (Recommended)
Max Workers: 2
GPU Slots: 1
CPU Slots: 4
Profile: balanced_gpu
High Throughput (Powerful systems)
Max Workers: 3
GPU Slots: 2
CPU Slots: 8
Profile: fast_gpu
CPU Only (No GPU)
Max Workers: 2
GPU Slots: 0
CPU Slots: 4
Profile: balanced_cpu
🔍 Validation Messages
✓ Success
Configuration is valid!
All settings are correct, safe to save.
⚠️ Warnings
Warning: Movies directory does not exist
Warning: max_workers=5 is very high
Not critical but should be reviewed.
✗ Errors
Error: Missing required field: movies_dir
Error: max_workers must be at least 1
Must be fixed before saving.
🎨 UI Tips
Color Coding
- Green - Completed, success, active
- Blue - Processing, info
- Yellow - Pending, warnings
- Red - Failed, errors
- Gray - Skipped, idle
Keyboard Shortcuts
- Ctrl+R - Refresh page
- Tab - Navigate between fields
- Enter - Submit forms (in modals)
- Esc - Close modals
Mobile Access
- Dashboard is fully responsive
- Works on tablets and phones
- All features available
- Touch-friendly buttons
🐛 Troubleshooting
Configuration Won't Save
Check:
- All required fields filled
- Paths exist or can be created
- No validation errors
- Dashboard has write permissions
Profiles Not Appearing
Solution:
- Go to Profiles tab
- Check if profiles list is empty
- Click "🔄 Reload" in Configuration
- Profiles may be in config file but not loaded
Dry Run Doesn't Update Stats
Wait:
- Dry run takes time to scan
- Refresh happens every 5 seconds
- Check logs for progress
- May take minutes for large libraries
GPU Not Available in Profiles
Check:
- Go to browser console (F12)
- Check for encoder detection errors
- Verify nvidia-smi works in container
- May need to restart dashboard
Changes Not Taking Effect
Solution:
- Save configuration
- Stop any active processing
- Restart dashboard container:
docker-compose restart dashboard
📱 API Access
The dashboard provides REST API for automation:
Get Configuration
curl http://localhost:5000/api/config
Save Configuration
curl -X POST http://localhost:5000/api/config \
-H "Content-Type: application/json" \
-d @config.json
Start with Dry Run
curl -X POST http://localhost:5000/api/jobs/start \
-H "Content-Type: application/json" \
-d '{"profile": "balanced_gpu", "dry_run": true}'
Get Profiles
curl http://localhost:5000/api/profiles
Validate Config
curl -X POST http://localhost:5000/api/config/validate \
-H "Content-Type: application/json" \
-d @config.json
🎓 Best Practices
- Always validate before saving
- Use dry run for new configurations
- Start with max_workers=1
- Create custom profiles for different quality needs
- Monitor first few files closely
- Keep original config as backup
- Test profile on one file before batch
- Check logs for errors regularly
🚀 Next Steps
- ✓ Configure directories
- ✓ Validate configuration
- ✓ Test with dry run
- ✓ Create custom profiles if needed
- ✓ Process a few test files
- ✓ Review quality and speed
- ✓ Adjust settings as needed
- ✓ Set up scheduled processing
- ✓ Bookmark dashboard URL
- ✓ Enjoy automated encoding!
📚 Summary
You now have a complete web-based management system for your media encoding:
- ✅ Real-time monitoring
- ✅ Configuration editor
- ✅ Profile management
- ✅ Dry run mode
- ✅ Job control
- ✅ Live system stats
- ✅ Activity tracking
- ✅ Log streaming
Access: http://YOUR-SERVER:5000
No more editing YAML files manually!