legacy-arrflix/processes/subtitles/runs/american-dad.md
s8n 43f55643be processes/subtitles: v3 Addic7ed fetcher + AD 49/58 subbed
Adds lib/sub-a7d-fetch.py: free, no-daily-cap path via subliminal's
addic7ed provider (anonymous). Uses OpenSubtitles REST search-only (no
quota cost) to translate library S/E to the show's primary catalogue
numbering, then drives subliminal to download from Addic7ed and writes
sidecars direct to nullstone via SSH.

Picker quirks: subliminal series-name matcher is broken by '!' in the
title, so the script strips it before building the synthetic
Video.fromname() string. OS feature_details S/E happens to align with
Addic7ed's indexing for the test show (American Dad).

Recipe README now reflects three paths in cheapest-first order: v3
Addic7ed, v2 OS REST (20/day), v1 plugin. American Dad run log updated
to 49/58 (S01 7/7 v1, S02 16/16 mixed v2/v3, S03 16/19 v3, S04 10/16
v3). 9 misses identified, deferred to next OS REST quota window.
2026-05-09 23:31:10 +01:00

5.9 KiB
Raw Blame History

Subtitle run — American Dad! (2005)

Recipe version: v1 (S01) → v2 (S02E01E12) → v3 Addic7ed (S02E13E16, S03, S04) Run date: 2026-05-09 Operator: Claude Code @ onyx session, ai-lab cwd OS REST quota usage: 20 → 1 (19 downloads, quota-counted) Addic7ed downloads: 30 (anonymous, no daily cap)

Source

Field Value
Episodes 58 (S01=7, S02=16, S03=19, S04=16)
Container mkv
Video HEVC Main10, 1440×1080, 23.98 fps, 4:3 SAR 1:1
Audio eng AAC stereo (default) + eng AC3 5.1
Embedded subs none
Existing sidecars none

Library uses Hulu/DSP season ordering (S1=7 eps). Original Fox order has S1=23 eps.

Series + library context

  • Series Id: 3b3bc999e9107f1a7643ac45d6427fee
  • Library: 767bffe4f11c93ef34b805451a696a4e (TV Shows, /media/tv)
  • Library options: SaveSubtitlesWithMedia=true, SubtitleDownloadLanguages=["eng"], RequirePerfectSubtitleMatch=false
  • Plugin: Open Subtitles v20.0.0.0, Active, creds Caveman5 valid

Outcome

Season Eps Subs fetched Quality sample Notes
S01 7 7 / 7 not yet visually verified by playback (TODO) v1 plugin path. OMiCRON DVDRip 23.976fps
S02 16 16 / 16 S02E16 first lines confirmed match episode E01-E12 v2 OS REST (mixed OMiCRON + 20FOX); E13-E16 v3 Addic7ed (no quota cost)
S03 19 16 / 19 not yet visually verified v3 Addic7ed. Misses: E04 Lincoln Lover (a7d 0 subs), E13 Black Mystery Month (a7d empty body), E19 Joint Custody (a7d 0 subs)
S04 16 10 / 16 not yet visually verified v3 Addic7ed. Misses: E01-E05 (Vacation Goo / Meter Made / Dope & Faith / Big Trouble in Little Langley / Haylias) and E11 Oedipal Panties — all "a7d 0 subs" for the OS-feat-details S/E we passed

Net: 49 / 58 (84 %).

Remaining 9 episodes can land via OS REST tomorrow (20-quota window covers them all in one batch).

Picks (S01)

Episode Sub release Author DLs FPS HI
S01E01 Pilot American.Dad.S01E01.DVDRip.XviD.REPACK-OMiCRON zetakoo_ 154 132 23.976 no
S01E02 Threat Levels American.Dad.S01E02.DVDRip.XviD.REPACK-OMiCRON (auto) 89 896 23.976 no
S01E03 Stan Knows Best American.Dad.S01E03.DVDRip.XviD.REPACK-OMiCRON (auto) 69 317 23.976 no
S01E04 Francines Flashback American.Dad.S01E04.DVDRip.XviD.REPACK-OMiCRON (auto) 72 315 23.976 no
S01E05 Roger Codger American.Dad.S01E05.DVDRip.XviD.REPACK-OMiCRON (auto) 32 309 23.976 no
S01E06 Homeland Insecurity American.Dad.S01E06.DVDRip.XviD.REPACK-OMiCRON (auto) 67 778 23.976 no
S01E07 Deacon Stan Jesus Man American.Dad.S01E07.DVDRip.XviD-OMiCRON (auto) 65 124 24 no

All chose by recipe Step 4 picker (highest DownloadCount among non-HI / non-MT / non-AI / non-Forced, prefer 23.976 fps). Picker behaved consistently — no manual override needed for S01.

Breakage

After S01 passed, S02E01 search returned 0 results. Verified:

  • ProviderIds for S02E01 in library = Imdb=tt0511631 Tvdb=306168 (correct for "Bullocks to Stan")
  • Plugin quota: 13 / 20 remaining (not exhausted)
  • Plugin log shows no error — silent zero
  • Same recipe worked 7 times in a row immediately prior — not a script bug
  • Sample-tested S02E02 / S02E08 / S02E13 → all 0 results

Root cause: library numbering is Hulu/DSP (S1=7), OpenSubtitles indexes Fox airing order (S1=23). Plugin queries OS with (parent_imdb_id, season, episode) so library S=2 E=1 maps to a Fox cell that doesn't exist on OS in that S/E slot, even though the per-episode IMDB id (tt0511631) is real and indexed on OS by Fox order as S=1 E=8.

The plugin doesn't expose per-episode-IMDB lookup, only the S/E combo path, so there's no flag we can flip to make this work.

Recipe amendments triggered

  • v1 → v2: process needs a season-numbering pre-check (Step 3), and a fallback fetch path that doesn't rely on plugin S/E mapping. See CHANGELOG.md v2 design choice between direct OS REST (recommended) and library re-numbering.

v2 picks (S02E01E12)

Episode Sub release DLs FPS HI
S02E01 Bullocks to Stan american.dad.s01e08.dvdrip.xvid-omicron 25 846 23.976 no
S02E02 A Smith in the Hand American Dad S01E09 A Smith in the Hand.DVDRip.NonHI.cc.en.20FOX 75 29.97 no
S02E03 All About Steve American Dad S01E10 All About Steve.DVDRip.NonHI.cc.en.20FOX 2 600 29.97 no
S02E04 Con Heir American Dad S01E11 Con Heir.DVDRip.NonHI.cc.en.20FOX 140 29.97 no
S02E05 Stan of Arabia 1 American Dad S01E12 Stan of Arabia Part 1.DVDRip.NonHI.cc.en.20FOX 110 29.97 no
S02E06 Stan of Arabia 2 American Dad S01E13 Stan of Arabia Part 2.DVDRip.NonHI.cc.en.20FOX 86 29.97 no
S02E07 Stannie Get Your Gun American Dad S01E14 Stannie Get Your Gun.DVDRip.NonHI.cc.en.20FOX 99 29.97 no
S02E08 Star Trek American Dad [2.15] 18 0.0 no
S02E09 Not Particularly Desperate USER-Gwives American Dad [2.16] 24 0.0 no
S02E10 Rough Trade American Dad S01E17 Rough Trade.DVDRip.NonHI.cc.en.20FOX 40 29.97 no
S02E11 Finances With Wolves American Dad [1.18] Finances with Wolves-eng 7 730 23.976 no
S02E12 It's Good to be the Queen American Dad - 1x19 - Its Good to be the Queen.en 13 228 23.976 no

Note: 8 picks are 29.97 fps. SRT timestamps are absolute time, so this should not desync on a 23.976 fps source provided NTSC durations match. Confirm via recipe Step 6 sync sample on at least one 29.97-pick episode.

Followups

  • visually verify sample S01 sub plays in sync (recipe §6)
  • visually verify sample S02 29.97-fps pick plays in sync (e.g. S02E03)
  • visually verify sample Addic7ed pick plays in sync (e.g. S03E01 or S04E10)
  • tomorrow (after 23:59 UTC quota reset): rerun sub-rest-fetch.py --season N --start E --end E on the 9 missed eps via OS REST