====== Unmanic – General Configuration Guide ====== **Purpose:** Unmanic is the content transcoding and media optimization engine in your automation ecosystem. Its primary goal is to convert incoming media files into formats that balance **efficient resource utilization** and **high-quality playback** across devices, while integrating seamlessly with your acquisition pipeline (Prowlarr, Jackett, Sonarr, Radarr, qbittorrent). Installed in a **Python virtual environment** on your bare-metal Plex Media Server, Unmanic handles CPU/GPU-aware video and audio transcoding, subtitle extraction, and file management, ensuring that your library stays consistent and optimized with minimal manual intervention. --- ===== Key Concepts ===== * **Plugins Stack** – Unmanic operates as a sequence of plugins applied in processing order. Plugins can manage file acceptance, transcoding, subtitle handling, and post-processing tasks. * **Hardware Utilization** – Unmanic can leverage NVIDIA GPUs (`nvenc`), Intel QuickSync (`qsv`), or CPU-based transcoding. Optimal configuration balances CPU/GPU usage with quality and throughput. * **Library Safety** – Built-in filters prevent files from being unnecessarily re-encoded, reduce duplication, and reject output larger than the original. * **Subtitle Handling** – All ASS or embedded subtitles are converted to SRT, and unwanted image-based subtitle streams are removed to maximize compatibility. --- ===== Best Practices and General Configuration ===== === 1. Library Management / Pre-Processing === These plugins determine which files are processed and how: * **Ignore Recently Modified** – Skip files modified in the last hour to avoid partial or actively written files. * **Ignore Under Size** – Minimum file size threshold of 300 MB prevents transcoding very small clips. * **Ignore Video File Under Resolution** – Default target 720p, ignoring 480p/SDTV content unless explicitly required. * **Reject File if Larger than Original** – Prevents unnecessary bloating. * **Subtitle Extraction & Conversion** – All ASS subtitles converted to SRT; image subtitles stripped or removed. * **Stream Stripping** – Remove extraneous image streams and non-essential audio/subtitle languages to optimize file size. === 2. Worker / Processing === Processing plugins handle actual transcoding and audio/video handling: * **Video Transcoding** – Default codec: `hevc_nvenc` with CRF-style quality targeting. GPU `nvenc` device 0 used, preset `p6`, tune `hq`, main profile `main`. Smart filters applied, black bar autocropping enabled. Target resolution `source` (keeps original unless otherwise specified). * **Audio Transcoding** – Main codec `aac` via standard VBR or AC3 encoder as fallback. Average bitrate 192 kbps; stereo fallback audio added to ensure device compatibility. * **Stream Cleanup** – Remove unneeded image streams, unnecessary subtitle languages, and extra audio tracks. * **Container & Output** – Output container: MKV; original container kept only if no transcoding applied. === 3. Post-Processing === Final checks and library integration: * **Reject File if Larger than Original** – Last safeguard. * **Notifications** – Radarr, Sonarr, and Plex are notified on task success or failure. * **Subtitle & Transcode Completion** – Ensure all SRT subtitles are properly extracted; verify audio/video transcodes completed. --- ===== Specific Tuning From Our Configuration ===== * **Video Transcoder (`video_transcoder`)** - `mode`: standard - `video_encoder`: `hevc_nvenc` (GPU 0) - `preset`: 4 (`p6` for NVENC) - `tune`: `hq` - `CRF` based quality: 23 - Smart filters enabled - Autocrop black bars enabled - Target resolution: source - Strip extra streams and attachments * **Audio Transcoder (`audio_transcoder`)** - Codec: AAC (VBR, 192 kbps) - AC3 fallback for compatibility - Extra stereo track added where applicable * **Subtitle Handling** - Extract all SRTs, convert any ASS to SRT - Remove image-based subtitles * **Filters** - Ignore files under 300 MB - Ignore files modified <1h ago - Ignore video under 720p by default - Remove unwanted subtitle languages (all non-English / non-primary languages) --- ===== Hardware Considerations ===== * **CPU** – Multithreaded CPU usage is supported; efficient for smaller transcodes. * **GPU** – NVIDIA NVENC preferred for HEVC hardware acceleration; ensures high throughput without overloading CPU. * **RAM** – Recommended minimum 16 GB for a moderate library, more for concurrent transcodes. * **Disk I/O** – SSD/NVMe recommended for active working folders; NFS mounts acceptable but slower. * **Python Virtual Environment** – Ensures clean dependency management without affecting system Python. --- ===== Tips for New Users ===== * Start with a small test folder to ensure your hardware, GPU, and filters behave as expected. * Always test Fallback AAC/AC3 audio to ensure device compatibility before bulk processing. * Monitor logs for skipped or rejected files; this often indicates file size, resolution, or filter mismatches. * Update Unmanic regularly; plugin improvements and bug fixes are frequent. --- This guide is designed to get a new user running **quickly with our optimized configuration**, balancing **high quality** and **efficient resource use** while minimizing library disruption. Detailed plugin tuning or per-file troubleshooting should be referenced in the official plugin documentation as needed.