legacy-arrflix/playbooks/import-media/runs/johnny-harris-why-us-deporting-20251031.md
s8n c8a1305da4
Some checks are pending
secret-scan / gitleaks (HEAD + history) (push) Waiting to run
secret-scan / detect-secrets (entropy + cross-tool) (push) Waiting to run
secret-scan / summary (push) Blocked by required conditions
docs(33): import 2 YT videos to stock Jellyfin Education
Single-video imports per playbook §1d (collectionType=movies):
- Johnny Harris — Why the US is deporting so many people (20251031)
- The Guardian — NSA whistleblower Edward Snowden (20130709)

Snowden run exposed Jellyfin's single-file channel folder caveat:
MovieResolver parses folder name as item title when only one media file
exists. Worked around with PUT /Items/<id> Name + LockData=true.
Documented in the run log for future hardening into playbook §1d.
2026-05-12 15:48:24 +01:00

83 lines
3.8 KiB
Markdown

# johnny-harris-why-us-deporting-20251031
Single-video YouTube import into the **STOCK** Jellyfin at `tv.s8n.ru`
(container `jellyfin-stock`), **Education** library
(`collectionType=movies`, internet providers disabled).
Channel "Johnny Harris" folder already existed with 4 prior videos. This run
adds the 2025-10-31 release "Why the US is deporting so many people".
## Provenance
- **Source:** YouTube — `https://www.youtube.com/watch?v=aDbtrdfYqBc`
- **Channel:** Johnny Harris
- **Tool:** `yt-dlp` on onyx
- **Format selector:** `bv*[height<=1080][ext=mp4]+ba[ext=m4a]/b[height<=1080][ext=mp4]/bv*[height<=1080]+ba/b[height<=1080]/b``--merge-output-format mp4` (source available up to 2160p, capped to 1080p per playbook §1e)
- **Subs:** `--write-subs --sub-langs 'en' --embed-subs --convert-subs srt` — user-uploaded English subs present, embedded into mp4 AND written as sidecar `.en.srt`
- **Thumbnail:** `--write-thumbnail --convert-thumbnails jpg` → sidecar `.jpg` used as Primary by Local Posters plugin
- **Staging path on onyx:** `/home/admin/staging-jelly/Johnny Harris/`
## Target
- **Server:** `jellyfin-stock` on nullstone, public URL `https://tv.s8n.ru`
- **Library:** Education (`collectionType=movies`, `EnableInternetProviders=false`)
- **Path on host:** `/home/user/media/education/Johnny Harris/Why the US is deporting so many people — 20251031.mp4`
- **Container view:** `/media/education/Johnny Harris/Why the US is deporting so many people — 20251031.mp4`
- **Item ID:** `6ba95c8325213da65c2d6f3c26a35a08`
### Sidecar files
| Kind | File |
|---|---|
| Media | `Why the US is deporting so many people — 20251031.mp4` (271,042,755 B, ~258 MiB) |
| Subtitle | `Why the US is deporting so many people — 20251031.en.srt` (83,161 B) |
| Thumbnail | `Why the US is deporting so many people — 20251031.jpg` (70,137 B) — Primary image via Local Posters |
## Counts
| | Before | After | Delta |
|---|---:|---:|---:|
| Education / Johnny Harris items | 4 | 5 | +1 |
## Stream summary
```
Duration: 00:45:26.32, bitrate: 795 kb/s
Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main), yuv420p(tv, bt709), 1920x1080, 662 kb/s, 23.98 fps
Stream #0:1[0x2](eng): Audio: aac (LC), 44100 Hz, stereo, fltp, 128 kb/s
Stream #0:2[0x3](eng): Subtitle: mov_text (tx3g)
```
AV1 1080p at ~0.66 Mb/s + stereo AAC + embedded English mov_text subs.
## Subtitle status
- Embedded: yes — one English `mov_text` track from yt-dlp `--embed-subs`.
- External sidecar: yes — `.en.srt` next to the mp4 (Jellyfin will register it
as a second selectable subtitle track).
- Action: none. Plain English, no SDH/MT/AI tag per ARRFLIX subtitle style.
## Verification checks
- [x] Folder/filename canonical (`<Channel>/<Title><YYYYMMDD>.mp4`, date as suffix).
- [x] No forbidden chars in path.
- [x] Permissions `user:user` 644 / 755 (chmod safety net run server-side).
- [x] `Scan Media Library` triggered via `/ScheduledTasks/Running/<id>`,
`State` returned to `Idle`.
- [x] `/Items?searchTerm=Why+the+US+is+deporting` returns the single expected
item with `ImageTags.Primary` present, `ProviderIds` empty (expected for
Education library).
- [x] Direct-play in client browser (AV1 supported by Chromium >= 90).
- [ ] Mobile / Smart-TV direct-play not exercised.
## Notes / surprises
- Source upload available in 2160p AV1; 1080p cap per playbook §1e mandatory
for long-form (~45min) content.
- No metadata refresh needed — Local Posters picked up `<basename>.jpg` as
Primary on first scan; no Screen Grabber fallback.
- Single-file channel folder caveat does **not** apply here because the
Johnny Harris folder already contained 4 prior files; Jellyfin's
"movie-in-own-folder" heuristic only fires when there's exactly one media
file. See `the-guardian-snowden-2013-20130709.md` for the workaround when
importing the first video into a brand-new channel folder.