# star-wars-maul-shadow-lord-2026-2160p Second run of `playbooks/import-media/` — first multi-episode TV import + first replace-with-comparison flow. ## Provenance - **Source path on onyx:** `/home/admin/Downloads/Star.Wars.Maul.Shadow.Lord.S01.2160p.DSNP.WEB-DL.DDP5.1.ENG.Atmos.ITA.SDR.H265-TheDarkLord/` - **Release group:** TheDarkLord - **Quality:** 2160p WEB-DL (Disney+) HEVC SDR - **Audio:** EAC3 5.1 ENG Atmos + ITA dub - **Subtitles:** 4× embedded subrip per episode (ITA forced + ITA + ENG + ENG) - **Episode count:** 10 (S01E01–E10) - **Total size:** ~21 GB ## Replace-with-comparison flow (first time) User wanted the prior 1080p upscale kept side-by-side as a quality reference rather than overwritten. Approach: 1. Renamed existing folder `Star Wars - Maul - Shadow Lord (2026)` → `Star Wars - Maul - Shadow Lord [Before Upscale] (2026)` on nullstone. 2. Renamed all 10 existing episode files to embed `[Before Upscale]` in the show name segment (canonical filename pattern preserved otherwise). 3. Dropped `tvshow.nfo` in the renamed folder with `Star Wars: Maul - Shadow Lord [Before Upscale]` and `true` to prevent Jellyfin from merging the two folders via TMDb match. 4. Imported new 2160p as the canonical `Star Wars - Maul - Shadow Lord (2026)` per playbook v1.0. Result: two distinct Series items in Jellyfin, both visible at `searchTerm=Maul`. User can compare playback between them. ## Targets | Variant | Path | Item ID | |---|---|---| | New canonical (2160p) | `/home/user/media/tv/Star Wars - Maul - Shadow Lord (2026)/Season 01/` | `e993ccc0544638a2f4973b9e9f0dfe87` | | Old [Before Upscale] | `/home/user/media/tv/Star Wars - Maul - Shadow Lord [Before Upscale] (2026)/Season 01/` | `dcc1205a6ed760e4cf21fdd2d8eaf7f8` | Container view: `/media/tv/Star Wars - Maul - Shadow Lord (2026)/...` and `/media/tv/Star Wars - Maul - Shadow Lord [Before Upscale] (2026)/...`. ## Counts | | Before | After | Delta | |---|---:|---:|---:| | SeriesCount | 10 | 11 | +1 | | EpisodeCount | 197 | 207 | +10 | The +1 series is the `[Before Upscale]` clone of an existing entry (folder-rename re-creates it as a fresh Series); the +10 episodes are the new 2160p canonical S01. ## Stream sample (E01 — Chapter 1: The Dark Revenge) ``` Duration: 00:28:18.91, bitrate: 12483 kb/s Stream #0:0: Video: hevc (Main), yuv420p(tv), 3840x2160, 23.81 fps ← TRUE 4K UHD Stream #0:1(ita): Audio: eac3, 48000 Hz, 5.1(side), 256 kb/s Stream #0:2(eng): Audio: eac3 (Dolby Digital Plus + Dolby Atmos), 48000 Hz, 5.1(side), 768 kb/s Stream #0:3(ita): Subtitle: subrip (forced) Stream #0:4(ita): Subtitle: subrip Stream #0:5(eng): Subtitle: subrip Stream #0:6(eng): Subtitle: subrip ``` 3840×2160 8-bit SDR HEVC, 12 Mbps. Direct-play candidate on capable clients. ## Subtitle status - 4× embedded text subrip per episode (ITA + ENG, plus forced ITA) — no external sidecar needed. - No action — embedded text subs work natively in browser via WebVTT. ## Verification checks - [x] Folder/filename canonical for both old + new - [x] Permissions `user:user` 644 (file) / 755 (dir) — verified post-rsync chmod - [ ] LibraryMonitor auto-fired — DID NOT (same as Lilo run). Forced manual `POST /Library/Refresh` returned 204. Per-item `Refresh?MetadataRefreshMode=FullRefresh` also fired on both series. - [x] `Items/Counts` bumped Series 10→11, Episodes 197→207 - [x] Both series enumerated as separate items - [x] New series confirmed has 10 episodes via `/Shows/{id}/Episodes` - [ ] **TMDb / TVDB providers**: NOT auto-matched on either series (`tmdb=? tvdb=?`). Likely cause: 2026 Disney+ Star Wars animated series may be too recent / non-canonical title format for the TMDb provider's auto-match. Operator can manually attach the right TMDb match via the Jellyfin UI (3-dot menu → "Identify"). - [x] 1 backdrop image fetched on new canonical (poster auto-grabbed from local artwork or default). - [x] HEVC 4K stream confirmed via ffprobe; direct-play candidate. ## Notes / surprises - LibraryMonitor failed twice in a row to detect new media (Lilo + this run). Playbook v1.0 already calls for unconditional manual `/Library/Refresh` — confirmed correct. - Inter-series merging is suppressed by `tvshow.nfo` `true` on the [Before Upscale] folder — without that, Jellyfin would merge both folders to the same TMDb match and present one collapsed Series. Tested — separation holds. - TMDb auto-match failed for both. This may also need a `[tmdbid-NNNN]` token in the folder name per `docs/05:54-56` if user wants pre-mapped IDs in the future. For now, manual UI match is the fix. - Initial rsync was interrupted by the spawning agent's session timeout — second rsync resumed from 4/10 → 10/10 successfully. `rsync -a` is idempotent so the resume worked. Playbook v1.1 should call out: "if rsync fails partway, just re-run the same command — `rsync -a` skips already-transferred files". - 21 GB transferred in two passes; second pass was the bulk (6 episodes / ~13 GB). ## Operator action 1. Open `https://arrflix.s8n.ru` → search "Maul". 2. Confirm BOTH series visible: - "Star Wars: Maul - Shadow Lord" (the new canonical 2160p — the "real" version) - "Star Wars: Maul - Shadow Lord [Before Upscale]" (the old upscaled — comparison reference) 3. If TMDb metadata desired: open each, click 3-dot → "Identify" → search TMDb manually. 4. Compare quality: play same episode (S01E01 Chapter 1) on both items — should see clear quality difference (4K vs upscaled 1080p). 5. Once happy, source download at `/home/admin/Downloads/Star.Wars.Maul.Shadow.Lord.S01.2160p.DSNP.WEB-DL.DDP5.1.ENG.Atmos.ITA.SDR.H265-TheDarkLord/` can be deleted. ## Playbook updates needed (v1.1 candidate) - Document the "replace with [Before Upscale] comparison" pattern: rename + tvshow.nfo lockdata + new canonical folder. - Document rsync resume idempotency: large multi-file transfers may interrupt; just re-run same command. - Recommend `[tmdbid-NNNN]` folder-name token for any title where auto-match historically fails (recent Disney+ animated, niche releases).