89 lines
3.5 KiB
Markdown
89 lines
3.5 KiB
Markdown
# johnny-harris-assange-guilty-plea-20220510
|
|
|
|
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 had 5 files before this run, so
|
|
Jellyfin's single-file-folder caveat (`feedback_jellyfin_single_file_channel`)
|
|
does not apply — file resolves with its own filename as title.
|
|
|
|
## Provenance
|
|
|
|
- **Source:** YouTube — `https://www.youtube.com/watch?v=P6bVl47kdNk`
|
|
- **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 2160p, capped to 1080p per playbook §1e)
|
|
- **Subs:** `--write-subs --sub-langs 'en' --embed-subs --convert-subs srt` — English user-uploaded subs embedded AND sidecar `.en.srt`
|
|
- **Thumbnail:** `--write-thumbnail --convert-thumbnails jpg` → sidecar `.jpg`, Primary via Local Posters
|
|
- **Staging path on onyx:** `/home/admin/staging-jelly/Johnny Harris/`
|
|
|
|
### Filename normalisation
|
|
|
|
Raw YouTube title:
|
|
> `Why Julian Assange's guilty plea will change journalism forever`
|
|
|
|
Apostrophe is the smart quote `'` (U+2019). Playbook §1f passes smart quotes
|
|
through unchanged — no rename needed. Final filename:
|
|
|
|
`Why Julian Assange's guilty plea will change journalism forever — 20220510.mp4`
|
|
|
|
## Target
|
|
|
|
- **Server:** `jellyfin-stock` on nullstone, `https://tv.s8n.ru`
|
|
- **Library:** Education
|
|
- **Path on host:** `/home/user/media/education/Johnny Harris/Why Julian Assange's guilty plea will change journalism forever — 20220510.mp4`
|
|
- **Container view:** same under `/media/education/`
|
|
- **Item ID:** `6d2f161823995d547795615245dbdf94`
|
|
|
|
### Sidecar files
|
|
|
|
| Kind | File |
|
|
|---|---|
|
|
| Media | `… — 20220510.mp4` (207,130,253 B, ~197 MiB) |
|
|
| Subtitle | `… — 20220510.en.srt` (57,288 B) |
|
|
| Thumbnail | `… — 20220510.jpg` (110,333 B) — Primary via Local Posters |
|
|
|
|
## Counts
|
|
|
|
| | Before | After | Delta |
|
|
|---|---:|---:|---:|
|
|
| Education / Johnny Harris items | 5 | 6 | +1 |
|
|
|
|
## Stream summary
|
|
|
|
```
|
|
Duration: 00:32:07.28, bitrate: 859 kb/s
|
|
Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main), yuv420p(tv, bt709), 1920x1080, 726 kb/s, 23.98 fps
|
|
Stream #0:1[0x2](eng): Audio: aac (LC), 44100 Hz, stereo, fltp, 127 kb/s
|
|
Stream #0:2[0x3](eng): Subtitle: mov_text (tx3g)
|
|
```
|
|
|
|
AV1 1080p23.98 + stereo AAC + embedded English mov_text + external .en.srt
|
|
sidecar.
|
|
|
|
## Subtitle status
|
|
|
|
- Embedded: yes — one English `mov_text` track.
|
|
- External sidecar: yes — `.en.srt`.
|
|
- Action: none.
|
|
|
|
## Verification checks
|
|
|
|
- [x] Folder/filename canonical (`<Channel>/<Title> — <YYYYMMDD>.mp4`).
|
|
- [x] Smart apostrophe preserved per §1f; no forbidden chars in path.
|
|
- [x] Permissions `user:user` 644.
|
|
- [x] Single `Scan Media Library` invocation indexed it on first pass
|
|
(no re-trigger needed — folder pre-existing, not new).
|
|
- [x] `/Items?searchTerm=Assange` returns single expected item with
|
|
`ImageTags.Primary` present, `ProviderIds` empty (expected for
|
|
Education library).
|
|
- [x] `Name` resolved from filename — no folder-name fallback (≥2 files in
|
|
channel folder).
|
|
- [ ] Direct-play in mobile / Smart-TV client not exercised.
|
|
|
|
## Notes / surprises
|
|
|
|
None — clean reference run. Validates that the single-file caveat
|
|
(`feedback_jellyfin_single_file_channel`) is strictly tied to one-file
|
|
channel folders; pre-populated folders parse correctly from filename.
|