# encoderPro - Quality Settings Guide ## TL;DR - Just Use the Sweet Spot Presets! **NVIDIA GPU:** `sweetspot_gpu` **Intel Arc GPU:** `sweetspot_qsv` or `sweetspot_av1` (Arc A-Series only) **CPU:** `sweetspot_cpu` These presets are scientifically optimized for **visually transparent quality** at **excellent compression**. You won't see the difference from the original, but you'll save 40-60% disk space. --- ## The Sweet Spot Explained ### What is the "Sweet Spot"? The sweet spot is the perfect balance where: - ✅ Quality is **visually indistinguishable** from the original - ✅ File size is **significantly reduced** (40-60% smaller) - ✅ Encoding speed is **still fast** on GPU - ✅ Settings are **future-proof** for archival ### Why CRF 21? CRF (Constant Rate Factor) determines quality: - Lower numbers = higher quality = larger files - Higher numbers = lower quality = smaller files **CRF 21 is the magic number** because: 1. Human eye cannot detect quality loss at CRF 21 for most content 2. Provides excellent compression (40-60% space savings) 3. Works perfectly for 1080p, 4K, and HDR content 4. Still looks great on large displays 5. No visible artifacts or blurriness ### Comparison Chart | Profile | CRF | Quality | Size vs Original | Visual Result | |---------|-----|---------|------------------|---------------| | `quality_gpu` | 19 | Near-lossless | 80-90% | Overkill for most uses | | **`sweetspot_gpu`** | **21** | **Transparent** | **40-60%** | **⭐ Perfect!** | | `balanced_gpu` | 23 | Excellent | 35-50% | Good, slight loss possible | | `fast_gpu` | 26 | Good | 25-40% | Visible on close inspection | --- ## Sweet Spot Presets by GPU Type ### NVIDIA GPUs (NVENC) **Profile:** `sweetspot_gpu` ```yaml profiles: default: sweetspot_gpu ``` **Settings:** - Codec: H.265 (HEVC) - Preset: p5 (slower but better quality) - CRF: 21 - Speed: 150-300 fps (depending on GPU) **Expected Results:** - 2-hour 1080p movie: 4-8 minutes encoding time - File size: 40-60% of original - Quality: Visually identical to source **Alternative for older devices:** ```yaml profiles: default: sweetspot_h264 # H.264 instead of H.265 ``` ### Intel Arc GPUs (QSV) **Profile:** `sweetspot_qsv` (H.265) or `sweetspot_av1` (AV1) ```yaml profiles: default: sweetspot_qsv # For H.265 # OR default: sweetspot_av1 # For AV1 (Arc A-Series only - BEST COMPRESSION!) ``` **H.265 Settings:** - Codec: H.265 (HEVC) - Preset: slow - CRF: 21 - Speed: 100-220 fps **AV1 Settings (Recommended for Arc A-Series!):** - Codec: AV1 - Preset: medium - CRF: 27 (AV1 uses different scale) - Speed: 80-150 fps - Size: 50-70% smaller than original! **Expected Results (H.265):** - 2-hour 1080p movie: 5-10 minutes - File size: 40-60% of original **Expected Results (AV1 - BEST!):** - 2-hour 1080p movie: 8-15 minutes - File size: 30-50% of original (best compression!) - Requires newer players (2020+) ### CPU Encoding **Profile:** `sweetspot_cpu` ```yaml profiles: default: sweetspot_cpu ``` **Settings:** - Codec: H.265 (HEVC) - Preset: slow - CRF: 21 - Speed: 3-10 fps **Expected Results:** - 2-hour 1080p movie: 2-6 hours - File size: 40-60% of original - Quality: Excellent (software encoding quality) --- ## When to Use Different Profiles ### Use Sweet Spot When: - ✅ You want the best quality/size balance - ✅ Archiving your media library - ✅ You have time for proper encoding - ✅ You care about quality - ✅ You watch on large displays or projectors ### Use Fast Profile When: - ⚡ You need quick processing - ⚡ Testing the system - ⚡ Temporary transcodes - ⚡ Content you'll delete soon ### Use Quality Profile When: - 🎯 Archiving precious content (home videos, etc.) - 🎯 Professional work - 🎯 You have unlimited storage - 🎯 You want absolute maximum quality --- ## Real-World Examples ### Example 1: Movie Collection **Original:** 1000 movies @ 5GB each = 5TB **After sweet spot encoding:** ~2.5TB saved! ### Example 2: Single 4K Movie **Original:** 4K HDR movie = 50GB **After sweetspot_gpu:** 20-30GB (looks identical!) ### Example 3: TV Series **Original:** Complete series (100 episodes) = 500GB **After sweetspot_av1 (Arc):** 150-250GB (insane compression!) --- ## How to Change Your Profile ### Method 1: Edit Config File **For NVIDIA:** ```yaml # In config-nvidia.yaml or config-v3.yaml profiles: default: sweetspot_gpu ``` **For Intel Arc:** ```yaml # In config-intel.yaml profiles: default: sweetspot_qsv # OR for best compression: default: sweetspot_av1 ``` ### Method 2: Command Line Override ```bash # NVIDIA docker exec encoderpro-dashboard \ python3 /app/reencode.py -c /config/config.yaml --profile sweetspot_gpu # Intel Arc (H.265) docker exec encoderpro-dashboard-intel \ python3 /app/reencode.py -c /config/config.yaml --profile sweetspot_qsv # Intel Arc (AV1 - best compression!) docker exec encoderpro-dashboard-intel \ python3 /app/reencode.py -c /config/config.yaml --profile sweetspot_av1 ``` --- ## Quality Comparison: Visual Guide ### CRF 19 (quality_gpu) - Overkill - Visual: Pixel-perfect, indistinguishable - Size: Very large - **Verdict:** Unnecessary for most uses ### CRF 21 (sweetspot_gpu) - Perfect! ⭐ - Visual: Visually transparent, no artifacts - Size: 40-60% of original - **Verdict:** Best choice for 99% of users ### CRF 23 (balanced_gpu) - Good - Visual: Excellent, minor loss in dark scenes - Size: 35-50% of original - **Verdict:** Fine for casual viewing ### CRF 26 (fast_gpu) - Acceptable - Visual: Good, visible artifacts on close inspection - Size: 25-40% of original - **Verdict:** OK for temporary transcodes --- ## Testing the Sweet Spot Want to verify yourself? Run a test: ```bash # Encode a sample file with sweet spot docker exec python3 /app/reencode.py \ -c /config/config.yaml \ --profile sweetspot_gpu \ /movies/sample.mkv # Compare: # 1. Play both files on your biggest screen # 2. Pause on complex scenes (dark scenes, action, textures) # 3. Look for differences # You won't find any! But check the file size: ls -lh /movies/sample.mkv ls -lh /archive/sample.mkv # Original: 5GB → Encoded: 2.5GB ``` --- ## Advanced: Fine-Tuning the Sweet Spot ### If You Want Slightly Better Quality: ```yaml sweetspot_gpu: quality: 20 # Instead of 21 # Slightly larger files, imperceptibly better quality ``` ### If You Want Smaller Files: ```yaml sweetspot_gpu: quality: 22 # Instead of 21 # Smaller files, quality still excellent ``` ### If You Have Unlimited Time: ```yaml sweetspot_gpu: preset: p6 # Instead of p5 (NVIDIA) # Slightly better compression, slower encoding ``` --- ## Codec Recommendations ### H.265 (HEVC) - Best for Most Users - ✅ Excellent compression - ✅ Wide device support (2015+) - ✅ Hardware decode on most devices - ✅ HDR support - **Use:** `sweetspot_gpu` or `sweetspot_qsv` ### H.264 (AVC) - Maximum Compatibility - ✅ Universal compatibility (all devices) - ❌ Larger files than H.265 - ❌ No HDR support - **Use:** `sweetspot_h264` (if needed) ### AV1 - Future-Proof (Intel Arc Only!) - ✅ Best compression (30-50% better than H.265!) - ✅ Royalty-free - ✅ Future-proof - ❌ Requires newer devices (2020+) - ❌ Not all players support it yet - **Use:** `sweetspot_av1` (Arc A-Series only) --- ## Summary Table | GPU Type | Recommended Profile | Codec | Speed (1080p) | Compression | Quality | |----------|---------------------|-------|---------------|-------------|---------| | NVIDIA | `sweetspot_gpu` | H.265 | 150-300 fps | 40-60% | Transparent | | Intel Arc (H.265) | `sweetspot_qsv` | H.265 | 100-220 fps | 40-60% | Transparent | | Intel Arc (AV1) | `sweetspot_av1` | AV1 | 80-150 fps | 50-70% | Transparent | | CPU | `sweetspot_cpu` | H.265 | 3-10 fps | 40-60% | Excellent | --- ## Final Recommendation **Just use the sweet spot presets!** They're based on years of encoding research and testing. CRF 21 hits the perfect balance where: - You save massive amounts of disk space - Quality is indistinguishable from original - Encoding is still fast on GPU - Files are future-proof **Don't overthink it - `sweetspot_gpu`, `sweetspot_qsv`, or `sweetspot_av1` are perfect!** ⭐