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

3.8 KiB

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

  • Folder/filename canonical (<Channel>/<Title> — <YYYYMMDD>.mp4, date as suffix).
  • No forbidden chars in path.
  • Permissions user:user 644 / 755 (chmod safety net run server-side).
  • Scan Media Library triggered via /ScheduledTasks/Running/<id>, State returned to Idle.
  • /Items?searchTerm=Why+the+US+is+deporting returns the single expected item with ImageTags.Primary present, ProviderIds empty (expected for Education library).
  • 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.