Document yt-dlp JS runtime quirk + workarounds #11

Closed
opened 2026-09-01 20:40:06 +00:00 by Mark · 1 comment
Owner

Discovered 2026-09-01: yt-dlp 2026.8.19 requires a JavaScript runtime (deno / node / bun), and YouTube extraction warns without one. nodejs is the wrong runtime name — it's just node. Downloads still work but with reduced format coverage.

What needs building:

  • references/youtube-extraction-quirks.md covering:
    • JS runtime requirement (--js-runtimes node since nodejs doesn't work)
    • Login walls (Vimeo = needs cookies/impersonation)
    • Anti-bot behavior (HTTP 400 Precondition check failed from YT API — usually means cookies stale or rate-limit)
    • Format selection (--audio-format wav vs mp3 vs raw — wav avoids ffmpeg re-encode)
    • Cookie extraction from existing browser profile if you want authenticated downloads

Why it matters: every fresh operator will hit the JS runtime warning and the wrong-name mistake. Burn 10 minutes documenting it now, save 10 minutes × N future operators.

Discovered 2026-09-01: yt-dlp 2026.8.19 requires a JavaScript runtime (`deno` / `node` / `bun`), and YouTube extraction warns without one. `nodejs` is the wrong runtime name — it's just `node`. Downloads still work but with reduced format coverage. **What needs building:** - `references/youtube-extraction-quirks.md` covering: - JS runtime requirement (`--js-runtimes node` since `nodejs` doesn't work) - Login walls (Vimeo = needs cookies/impersonation) - Anti-bot behavior (`HTTP 400 Precondition check failed` from YT API — usually means cookies stale or rate-limit) - Format selection (`--audio-format wav` vs mp3 vs raw — wav avoids ffmpeg re-encode) - Cookie extraction from existing browser profile if you want authenticated downloads **Why it matters:** every fresh operator will hit the JS runtime warning and the wrong-name mistake. Burn 10 minutes documenting it now, save 10 minutes × N future operators.
Author
Owner

Fixed by commit e2d1647 — references/youtube-extraction-quirks.md (322 lines) covering all 5 issue requirements:

  1. JS runtime requirement (--js-runtimes node, the nodejs foot-gun)
  2. Login-walled sources (Vimeo cookies / impersonation)
  3. Anti-bot behavior (HTTP 400 Precondition check failed)
  4. Format selection (--audio-format wav to skip ffmpeg re-encode)
  5. Browser cookie extraction (--cookies-from-browser + security note)

Closing as done. (The doc landed under the #8 kilo commit by mistake during a plan-discovery bug; the file content is correct and matches the issue scope.)

Fixed by commit e2d1647 — `references/youtube-extraction-quirks.md` (322 lines) covering all 5 issue requirements: 1. JS runtime requirement (`--js-runtimes node`, the `nodejs` foot-gun) 2. Login-walled sources (Vimeo cookies / impersonation) 3. Anti-bot behavior (`HTTP 400 Precondition check failed`) 4. Format selection (`--audio-format wav` to skip ffmpeg re-encode) 5. Browser cookie extraction (`--cookies-from-browser` + security note) Closing as done. (The doc landed under the #8 kilo commit by mistake during a plan-discovery bug; the file content is correct and matches the issue scope.)
Mark 2026-09-05 17:44:34 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Mark/whisper-transcribe#11
No description provided.