← ClaudeAtlas

youtube-transcriptlisted

Get a transcript out of ANY YouTube video — including the hard ones that have no captions at all, return 403 Forbidden, or trip YouTube's bot check. Climbs a ladder automatically: youtube_transcript_api → yt-dlp captions → access escalation (version upgrade, player clients, browser cookies) → local Whisper on downloaded audio. Also transcribes local audio/video files (phone recordings, Zoom exports). Produces SRT + timestamped text + flowing text. TRIGGER on Hebrew: 'תמלל את הסרטון', 'תמלול מיוטיוב', 'תוריד תמלול', 'תמלל לי את ההרצאה', 'תמלול של השיעור', 'תוציא תמלול', 'תמלל את ההקלטה', 'אין כתוביות לסרטון', 'תמלל ��ובץ אודיו'. English: 'transcribe this video', 'youtube transcript', 'get captions', 'transcribe audio', 'no captions available', 'whisper transcribe'. USE THIS whenever a transcript is needed from a video or audio source. NOT for downloading the video/audio itself (that is universal-downloader), NOT for editing an existing transcript into a document (that is shiur-editor).
hiyabh/claude-shiur-editor-skill · ★ 0 · Data & Documents · score 70
Install: claude install-skill hiyabh/claude-shiur-editor-skill
# YouTube Transcript — תמלול מכל סרטון מטרה: URL של יוטיוב (או קובץ אודיו/וידאו מקומי) נכנס — תמלול יוצא. הסקיל מטפס לבד מהמסלול הזול לאיטי ולא נעצר באמצע. ## נתיבי הסקריפטים — פותרים פעם אחת הסקריפטים יושבים ב-`scripts/` **של הסקיל הזה**. אל תכתוב נתיב מוחלט מהזיכרון, ואל תסמוך על `~` בשורת הפקודה — PowerShell ו-cmd ב-Windows לא מרחיבים `~` בתוך מרכאות, והנתיב מגיע ל-Python כמו שהוא ונכשל. פתור פעם אחת בתוך Python (זהה בכל מערכת ובכל מעטפת): ```bash python -c "import os;print(os.path.expanduser('~/.claude/skills/youtube-transcript/scripts'))" ``` בהמשך הקובץ הנתיב שהודפס מסומן `<SCRIPTS>` — **החלף אותו בערך האמיתי בכל פקודה.** ## שימוש ```bash python "<SCRIPTS>/get_transcript.py" "<url>" ``` | דגל | מתי | |---|---| | `--lang en` | שפה שאינה עברית (ברירת מחדל `he`) | | `--force-whisper` | הכתוביות האוטומטיות גרועות — לדלג עליהן ולתמלל מקומית | | `--fast` | מודל `medium` במקום `large-v3` — מהיר יותר, מדויק פחות | | `--model NAME` | מודל faster-whisper מפורש | | `--outdir DIR` | תיקיית פלט (ברירת מחדל: הנוכחית) | קובץ מקומי: להעביר נתיב במקום URL — `get_transcript.py "recording.mp3" --lang he`. **הרץ ברקע כשצפוי Whisper** (`run_in_background: true`). תמלול מקומי רץ ב-~2.4-2.8× זמן אמת: שיעור של שעה ≈ 25 דקות, שעתיים ≈ 45 דקות (נמדד על מעבד 16-threads בלי GPU; במכונה איטית יותר זה יותר). מסלול הכתוביות לוקח שניות. ## תלויות `yt-dlp` ו-`youtube-transcript-api` למסלול הכתוביות — התקנה של שניות. **מסלול Whisper המקומי כבד:** `faster-whisper` (מאות MB) + הבינאריים `ffmpe