initial comment
This commit is contained in:
324
config.yaml
Normal file
324
config.yaml
Normal file
@@ -0,0 +1,324 @@
|
||||
# =============================================================================
|
||||
# ENCODERPRO CONFIGURATION - PHASE 3
|
||||
# =============================================================================
|
||||
# Enhanced configuration with GPU acceleration and parallel processing
|
||||
|
||||
# =============================================================================
|
||||
# DIRECTORY PATHS (same as Phase 2)
|
||||
# =============================================================================
|
||||
|
||||
movies_dir: /mnt/user/movies
|
||||
archive_dir: /mnt/user/archive/movies
|
||||
work_dir: /mnt/user/temp/encoderpro-work
|
||||
state_db: /var/lib/encoderpro/state.db
|
||||
log_dir: /var/log/encoderpro
|
||||
|
||||
# =============================================================================
|
||||
# PARALLEL PROCESSING (NEW IN PHASE 3)
|
||||
# =============================================================================
|
||||
|
||||
parallel:
|
||||
# Maximum number of concurrent encoding jobs
|
||||
# Recommended: 1-2 for GPU, 2-4 for CPU (depending on cores)
|
||||
max_workers: 2
|
||||
|
||||
# GPU slots (how many encodes can use GPU simultaneously)
|
||||
# Most GPUs: 1-2 concurrent encodes
|
||||
# High-end GPUs: 2-3 concurrent encodes
|
||||
gpu_slots: 1
|
||||
|
||||
# CPU slots (for CPU encoding fallback)
|
||||
# Set to number of physical cores divided by 2
|
||||
cpu_slots: 4
|
||||
|
||||
# =============================================================================
|
||||
# ENCODING PROFILES (NEW IN PHASE 3)
|
||||
# =============================================================================
|
||||
|
||||
profiles:
|
||||
# Default profile to use if none specified
|
||||
default: balanced_gpu
|
||||
|
||||
# Profile definitions
|
||||
definitions:
|
||||
# --- GPU PROFILES (NVIDIA NVENC) ---
|
||||
|
||||
# RECOMMENDED: Sweet spot for quality/size/speed balance
|
||||
sweetspot_gpu:
|
||||
encoder: nvidia_nvenc_h265
|
||||
preset: p5 # Slower preset for better quality
|
||||
quality: 21 # CRF 21 = transparent quality for most content
|
||||
audio_codec: copy
|
||||
hdr_handling: preserve
|
||||
description: "Perfect balance - visually transparent quality at good compression"
|
||||
|
||||
balanced_gpu:
|
||||
encoder: nvidia_nvenc_h265
|
||||
preset: p4 # p1 (fastest) to p7 (slowest)
|
||||
quality: 23 # Lower = better quality
|
||||
audio_codec: copy
|
||||
hdr_handling: preserve
|
||||
description: "Good quality/speed balance for general use"
|
||||
|
||||
fast_gpu:
|
||||
encoder: nvidia_nvenc_h264
|
||||
preset: p1 # Fastest preset
|
||||
quality: 26
|
||||
audio_codec: copy
|
||||
description: "Fast processing, larger files, universal compatibility"
|
||||
|
||||
quality_gpu:
|
||||
encoder: nvidia_nvenc_h265
|
||||
preset: p7 # Highest quality preset
|
||||
quality: 19 # Near-lossless
|
||||
audio_codec: copy
|
||||
hdr_handling: preserve
|
||||
description: "Maximum quality for archival (slower, larger files)"
|
||||
|
||||
# --- CPU PROFILES (FALLBACK) ---
|
||||
|
||||
sweetspot_cpu:
|
||||
encoder: cpu_x265
|
||||
preset: slow
|
||||
quality: 21
|
||||
audio_codec: copy
|
||||
description: "CPU sweet spot - excellent quality at good compression (slow)"
|
||||
|
||||
balanced_cpu:
|
||||
encoder: cpu_x265
|
||||
preset: medium
|
||||
quality: 23
|
||||
audio_codec: copy
|
||||
description: "Balanced CPU encoding"
|
||||
|
||||
fast_cpu:
|
||||
encoder: cpu_x264
|
||||
preset: fast
|
||||
quality: 26
|
||||
audio_codec: copy
|
||||
description: "Fast CPU encoding with H.264"
|
||||
|
||||
quality_cpu:
|
||||
encoder: cpu_x265
|
||||
preset: veryslow
|
||||
quality: 19
|
||||
audio_codec: copy
|
||||
description: "Maximum CPU quality (very slow)"
|
||||
|
||||
# --- INTEL QSV PROFILES (Arc A-Series & Integrated Graphics) ---
|
||||
|
||||
# RECOMMENDED: Sweet spot for Intel Arc
|
||||
sweetspot_qsv:
|
||||
encoder: intel_qsv_h265
|
||||
preset: slow
|
||||
quality: 21
|
||||
audio_codec: copy
|
||||
hdr_handling: preserve
|
||||
description: "Intel sweet spot - visually transparent quality"
|
||||
|
||||
# RECOMMENDED: AV1 sweet spot (Arc A-Series only - best compression!)
|
||||
sweetspot_av1:
|
||||
encoder: intel_qsv_av1
|
||||
preset: medium
|
||||
quality: 27 # AV1 uses different scale (higher values still good)
|
||||
audio_codec: copy
|
||||
hdr_handling: preserve
|
||||
description: "AV1 sweet spot - best compression with excellent quality"
|
||||
|
||||
balanced_qsv:
|
||||
encoder: intel_qsv_h265
|
||||
preset: medium
|
||||
quality: 23
|
||||
audio_codec: copy
|
||||
hdr_handling: preserve
|
||||
description: "Balanced H.265 for general use"
|
||||
|
||||
fast_qsv:
|
||||
encoder: intel_qsv_h264
|
||||
preset: veryfast
|
||||
quality: 26
|
||||
audio_codec: copy
|
||||
description: "Fast H.264 encoding"
|
||||
|
||||
quality_qsv:
|
||||
encoder: intel_qsv_h265
|
||||
preset: slower
|
||||
quality: 19
|
||||
audio_codec: copy
|
||||
hdr_handling: preserve
|
||||
description: "Maximum H.265 quality"
|
||||
|
||||
# Intel Arc A-Series supports AV1!
|
||||
av1_qsv:
|
||||
encoder: intel_qsv_av1
|
||||
preset: medium
|
||||
quality: 30
|
||||
audio_codec: copy
|
||||
hdr_handling: preserve
|
||||
description: "Balanced AV1 encoding"
|
||||
|
||||
av1_quality:
|
||||
encoder: intel_qsv_av1
|
||||
preset: slow
|
||||
quality: 24
|
||||
audio_codec: copy
|
||||
hdr_handling: preserve
|
||||
description: "High quality AV1 encoding"
|
||||
|
||||
# --- AMD VAAPI PROFILES ---
|
||||
|
||||
balanced_vaapi:
|
||||
encoder: amd_vaapi_h265
|
||||
preset: medium
|
||||
quality: 23
|
||||
audio_codec: copy
|
||||
|
||||
# =============================================================================
|
||||
# PROCESSING SETTINGS
|
||||
# =============================================================================
|
||||
|
||||
processing:
|
||||
file_extensions:
|
||||
- mkv
|
||||
- mp4
|
||||
- avi
|
||||
- m4v
|
||||
|
||||
# Note: skip_without_subtitles is deprecated - all files are now scanned and marked as "discovered"
|
||||
# Use the dashboard filters to select files with/without subtitles for encoding
|
||||
skip_without_subtitles: false # Deprecated - kept for backward compatibility
|
||||
cleanup_stale_work: true
|
||||
|
||||
# =============================================================================
|
||||
# QUALITY CHECKING
|
||||
# =============================================================================
|
||||
|
||||
quality_check:
|
||||
# Enable pre-encoding quality analysis
|
||||
enabled: true
|
||||
|
||||
# Warning threshold - warn if quality will drop by this many points
|
||||
warn_threshold: 10.0
|
||||
|
||||
# Error threshold - fail if quality will drop by this many points
|
||||
error_threshold: 20.0
|
||||
|
||||
# Skip encoding if quality degradation detected
|
||||
skip_on_degradation: false
|
||||
|
||||
# Prompt user for confirmation on warnings
|
||||
prompt_on_warning: true
|
||||
|
||||
# =============================================================================
|
||||
# ADVANCED OPTIONS (NEW IN PHASE 3)
|
||||
# =============================================================================
|
||||
|
||||
advanced:
|
||||
# Automatically detect available encoders on startup
|
||||
auto_detect_encoders: true
|
||||
|
||||
# Prefer GPU encoders over CPU when available
|
||||
prefer_gpu: true
|
||||
|
||||
# Fallback to CPU if GPU encoder fails or unavailable
|
||||
fallback_to_cpu: true
|
||||
|
||||
# Progress update interval (seconds)
|
||||
progress_interval: 10
|
||||
|
||||
# =============================================================================
|
||||
# PRESET CONFIGURATIONS
|
||||
# =============================================================================
|
||||
# Uncomment one of these sections to quickly switch between common setups
|
||||
|
||||
# --- NVIDIA GPU SETUP (Recommended for Unraid with NVIDIA GPU) ---
|
||||
# parallel:
|
||||
# max_workers: 2
|
||||
# gpu_slots: 1
|
||||
# cpu_slots: 4
|
||||
# profiles:
|
||||
# default: balanced_gpu
|
||||
|
||||
# --- CPU ONLY SETUP (No GPU) ---
|
||||
# parallel:
|
||||
# max_workers: 2
|
||||
# gpu_slots: 0
|
||||
# cpu_slots: 4
|
||||
# profiles:
|
||||
# default: balanced_cpu
|
||||
# advanced:
|
||||
# prefer_gpu: false
|
||||
|
||||
# --- HIGH THROUGHPUT SETUP (Multiple workers) ---
|
||||
# parallel:
|
||||
# max_workers: 4
|
||||
# gpu_slots: 2
|
||||
# cpu_slots: 8
|
||||
# profiles:
|
||||
# default: fast_gpu
|
||||
|
||||
# --- QUALITY FOCUSED SETUP (Single worker, slow encode) ---
|
||||
# parallel:
|
||||
# max_workers: 1
|
||||
# gpu_slots: 1
|
||||
# cpu_slots: 1
|
||||
# profiles:
|
||||
# default: quality_gpu
|
||||
|
||||
# =============================================================================
|
||||
# ENCODER PRESET REFERENCE
|
||||
# =============================================================================
|
||||
|
||||
# NVIDIA NVENC PRESETS:
|
||||
# p1 = fastest (lower quality, smallest file)
|
||||
# p2, p3, p4 = balanced
|
||||
# p5, p6, p7 = slowest (higher quality, larger file)
|
||||
#
|
||||
# NVIDIA NVENC QUALITY (CQ):
|
||||
# 0-51, lower = better quality
|
||||
# Recommended: 20-25
|
||||
|
||||
# CPU (libx265/libx264) PRESETS:
|
||||
# ultrafast, superfast, veryfast, faster, fast
|
||||
# medium (balanced)
|
||||
# slow, slower, veryslow (higher quality)
|
||||
#
|
||||
# CPU CRF:
|
||||
# 0-51, lower = better quality
|
||||
# Recommended: 18-24
|
||||
|
||||
# INTEL QSV PRESETS:
|
||||
# veryfast, faster, fast, medium, slow, slower, veryslow
|
||||
#
|
||||
# INTEL QSV QUALITY:
|
||||
# Use global_quality: 18-30
|
||||
|
||||
# AMD VAAPI:
|
||||
# Similar to CPU presets
|
||||
# Quality controlled by QP value
|
||||
|
||||
# =============================================================================
|
||||
# NOTES
|
||||
# =============================================================================
|
||||
|
||||
# GPU Memory Usage:
|
||||
# - Each concurrent encode uses GPU VRAM
|
||||
# - 1080p: ~1-2 GB VRAM per encode
|
||||
# - 4K: ~3-4 GB VRAM per encode
|
||||
# - Adjust gpu_slots based on available VRAM
|
||||
|
||||
# CPU Usage:
|
||||
# - CPU encoding is highly CPU-intensive
|
||||
# - max_workers * cpu_slots should not exceed physical cores
|
||||
# - Leave some cores for system operations
|
||||
|
||||
# Encoding Speed Expectations:
|
||||
# - NVENC H.265: 100-300+ fps (1080p)
|
||||
# - NVENC H.264: 150-400+ fps (1080p)
|
||||
# - CPU H.265: 2-20 fps (1080p, depends on preset/CPU)
|
||||
# - CPU H.264: 5-50 fps (1080p, depends on preset/CPU)
|
||||
|
||||
# Quality Trade-offs:
|
||||
# - GPU encoders are faster but slightly lower quality at same bitrate
|
||||
# - For archival quality, consider CPU with slow/slower preset
|
||||
# - For daily viewing, GPU quality is excellent and much faster
|
||||
Reference in New Issue
Block a user