legacy-arrflix/playbooks/import-media/runs/benn-jordan-s01-yt-import.md
s8n 6e336d1798
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(31): import benn-jordan s01 (4 eps) to stock Jellyfin Educational
2026-05-11 15:28:42 +01:00

6.1 KiB

benn-jordan-s01-yt-import

First import into the STOCK Jellyfin at tv.s8n.ru (container jellyfin-stock), Educational library. YouTube videos from channel "Benn Jordan" — treated as one Series (Benn Jordan) on Season 01.

Independent from arrflix prod (arrflix.s8n.ru) and arrflix dev. Stock Jellyfin's Educational library has EnableInternetProviders=false — files land with filename/folder-only metadata. No TMDb/TVDB matching is expected or attempted.

Provenance

  • Source: YouTube channel "Benn Jordan" (2026 uploads)
  • Tool: yt-dlp 2026.03.17 on onyx
  • Format selector: bv*[ext=mp4]+ba[ext=m4a]/b[ext=mp4]/bv*+ba/b--merge-output-format mp4
  • Subs: --write-subs --sub-langs "en.*" --embed-subs --convert-subs srt (no en subs available on these uploads — only auto-generated; not embedded)
  • Staging path on onyx: /home/admin/staging-jelly/Benn Jordan/Season 01/

Source URLs

Episode Video ID URL
S01E01 n/a (pre-staged) already downloaded before this run
S01E02 UMIwNiwQewQ https://www.youtube.com/watch?v=UMIwNiwQewQ
S01E03 _bP80DEAbuo https://www.youtube.com/watch?v=_bP80DEAbuo
S01E04 lA8WuXDXfcI https://www.youtube.com/watch?v=lA8WuXDXfcI

Target

  • Server: jellyfin-stock (container) on nullstone, exposed at https://tv.s8n.ru
  • Library: Educational (tvshows-type, internet providers disabled)
  • Path on host: /home/user/media/educational/Benn Jordan/Season 01/
  • Container view: /media/educational/Benn Jordan/Season 01/
  • Series Item ID: 3da50e01252c1463cb23f7b9499dfc8a

Per-episode landing

Episode File size Duration (spec) Duration (Jellyfin) Item ID
S01E01 — Gadgets For People Who Don't Trust The Government 1,570,389,432 B (~1.46 GiB) n/a (pre-staged) 2337 s 962cd81a9b2b80979a4ea10d6b12b922
S01E02 — It's Time to Take Down your Smart Cameras 834,026,444 B (~795 MiB) 1769 s 1769 s fd24b71285bd5d8586687ba666988088
S01E03 — Datacenters Behaving Like Acoustic Weapons 1,446,732,628 B (~1.35 GiB) 1744 s 1744 s 6dca7b57158f37acd8d821f585501998
S01E04 — Robot Dogs Are A Security Nightmare 772,469,473 B (~737 MiB) 1432 s 1432 s 6ed3fab3c2b34c4718a0f836a638eea0

S01E02 title had the emoji 😬 stripped before download (per filename rules). All apostrophes preserved. No forbidden chars (< > : " / \ | ? *) introduced.

Counts

Before After Delta
SeriesCount (Educational) 0 1 +1
EpisodeCount (Educational) 0 4 +4

(First import into this library; pre-state is empty.)

Stream sample (S01E02)

Duration: 00:29:28.66, bitrate: 3772 kb/s
Stream #0:0(und): Video: av1 (libdav1d) (Main), yuv420p(tv, bt709), 3840x2160, 3639 kb/s, 23.98 fps
Stream #0:1(und): Audio: aac (LC), 44100 Hz, stereo, fltp, 127 kb/s

AV1 2160p at ~3.6 Mb/s, stereo AAC. Source is YouTube best mp4/m4a combo. No DRM, no encryption. AV1 direct-play requires a recent client (Chromium >= 90, Firefox >= 100, Apple Silicon Safari, Android 12+, modern smart-TVs).

Subtitle status

  • Embedded: no (YouTube auto-CC not requested via en.* glob; user-uploaded subs do not exist on these uploads).
  • External sidecar: no.
  • Action: none. Per Educational library convention these are short-form videos with on-screen text. Re-run with --write-auto-subs --sub-langs "en.*" later if subs become required.

Verification checks

  • Folder/filename canonical (Benn Jordan/Season 01/Benn Jordan - S01E<NN> - <Title>.mp4)
  • Permissions user:user 644 / 755 on nullstone
  • Scan Media Library task triggered via /ScheduledTasks/Running/$SCAN_ID — completed
  • Per-series query returns 4 episodes with correct durations (1769/1744/1432 s for E02/E03/E04)
  • No /Items/Counts reliance — used /Shows/<id>/Episodes as authoritative
  • [n/a] ProviderIds populated — expected empty, library has internet providers OFF
  • [n/a] Image artwork — none auto-fetched; folder-level posters may be added manually

Scan task

  • Task ID: 7738148ffcd07979c7ceb148e06b3aed
  • POST result: HTTP 204
  • LastExecutionResult.EndTimeUtc: 2026-05-11T14:27:49.205Z
  • State after run: Idle

Notes / surprises

  • Stock Jellyfin's Educational library is configured tvshows-type with EnableInternetProviders=false. This is intentional — these are per-channel YouTube videos, not broadcast TV. Names and durations come from the filename and the container itself. Do not try to TMDb-identify Benn Jordan; there is no matching entry.
  • All 3 downloads ran in parallel from onyx and completed in well under one rsync window. Combined nullstone delivery via single rsync -a of the whole Benn Jordan/ dir (E01 was already on disk from a prior staging — rsync no-op for that file thanks to size+mtime match).
  • AV1 codec is the default YouTube best-quality video stream as of 2026. None of the recipient devices (onyx, nullstone clients, etc.) have a problem direct-playing AV1 — but if a friend on a 2018 laptop reports playback issues, Jellyfin will transcode (CPU only — jellyfin-stock has no GPU mount per SYSTEM.md).
  • Educational library uses tvshows scheme, so episodes nest under one parent Series named exactly "Benn Jordan" with no year suffix (matches the folder name). Filename pattern is the same <Series> - S<NN>E<MM> - <Title> shape arrflix uses — no special-case required.
  • Source staging dir on onyx (/home/admin/staging-jelly/Benn Jordan/) is intentionally left in place — do not delete until owner confirms playback.

Operator action

  1. Open https://tv.s8n.ru → Educational library → confirm "Benn Jordan" series shows 4 episodes.
  2. Play any episode → confirm direct-play (no transcode line in docker logs jellyfin-stock).
  3. Optional: upload custom series + episode artwork via the Jellyfin web UI (no TMDb fallback, so artwork has to be manual or absent).
  4. Source dir on onyx retained per cleanup policy.