Skip to content

fix(youtube): preserve subtitle cue text and omit metadata - #864

Open
rudycelekli wants to merge 1 commit into
Panniantong:mainfrom
rudycelekli:codex/vtt-cue-payload-20261027
Open

rudycelekli wants to merge 1 commit into
Panniantong:mainfrom
rudycelekli:codex/vtt-cue-payload-20261027

Conversation

@rudycelekli

Copy link
Copy Markdown

YouTube subtitle extraction drops numeric speech (for example a cue containing 2026) and mixes arbitrary cue IDs, multiline notes and style bodies into the transcript. The line filter cannot distinguish metadata from actual speech.

Track cue payload after its timing line and skip metadata blocks, following WebVTT's cue structure. Numeric speech and lines beginning with NOTE/STYLE remain content when they occur inside a cue. Timing recognition accepts space/tab separators and hour fields longer than two digits; existing tag/entity handling and consecutive rolling-caption deduplication remain.

Validation against main 14c213405669414492bda0f8d52cc6531d062c45:

  • Regression baseline: 8 failed, 1 passed; corrected focused suite: 9 passed.
  • Full suite: 484 passed; Ruff passed; mypy passed for 49 source files; diff check passed.
  • Independent review caught a timing-format regression in the initial candidate; three reproducing cases now pass, and final review found no remaining blocker.
  • Actual console agent-reach check youtube --text --timeout 20 passed with fresh temporary Reach state and yt-dlp user configuration/plugin directories disabled. No login, personal browser or hosted transcription provider used:
PASS  youtube read [yt-dlp] 2578ms
PASS  youtube search [yt-dlp] 1430ms
PASS  youtube subtitle [yt-dlp] 1875ms

3/3 actions working

Screened all 565 pre-existing PRs and refreshed the subtitle-parser duplicate search before publication. No channel installation requirements, login behavior, dependencies or README channel-table capabilities change. AI-assisted implementation; actual production parser, before/after evidence and final diff reviewed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant