legacy-arrflix/playbooks/import-media/runs/star-wars-maul-shadow-lord-2026-2160p.md
s8n 520f0fbee3 maul s01 2160p import + variant 1 detail-page skin
Saved variant 1 "Netflix-cinema" detail-page redesign to
web-overrides/skins/detail-variant-01-netflix-cinema.html for
future reference. Not applied to dev/prod.

Imported Star Wars: Maul - Shadow Lord S01 2160p WEB-DL HEVC SDR
(10 episodes, ~21 GB) per playbooks/import-media/ v1.0. First
"replace-with-comparison" run:

- Existing 1080p upscale renamed in-place to
  "Star Wars - Maul - Shadow Lord [Before Upscale] (2026)/"
  with tvshow.nfo <lockdata>true</lockdata> to suppress Jellyfin
  TMDb auto-merge with the new canonical.
- New 2160p staged on onyx, rsync'd to nullstone canonical path
  /home/user/media/tv/Star Wars - Maul - Shadow Lord (2026)/Season 01/
- Both series live as separate items; Items/Counts bumped
  Series 10->11, Episodes 197->207.

Run log at playbooks/import-media/runs/star-wars-maul-shadow-lord-
2026-2160p.md flags v1.1 follow-ups: document the
[Before Upscale] pattern, rsync resume idempotency, and
[tmdbid-NNNN] folder token for titles that fail auto-match.

ffprobe confirmed E01 = HEVC Main 8-bit 3840x2160 SDR @ 12 Mbps,
EAC3 5.1 ENG Atmos + ITA dub, 4x embedded subrip per episode.
Direct-play on capable clients.

TMDb match failed auto on both folders (recent Disney+ release);
operator to manually identify via UI.
2026-05-10 03:34:34 +01:00

98 lines
6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 (S01E01E10)
- **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 `<title>Star Wars: Maul - Shadow Lord [Before Upscale]</title>` and `<lockdata>true</lockdata>` 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` `<lockdata>true</lockdata>` 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).