When yt-dlp yields no subtitle files, the server now runs
scripts/transcribe.py (faster-whisper, large-v3-turbo, CUDA with CPU
fallback) on the downloaded media and feeds the resulting VTT through
the existing Markdown conversion.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P1w53ybPWArpZpcei9JPYX
Unauthenticated visitors see the app with left/right ad columns (loaded
from ads-left.html and ads-right.html). Logged-in users see no ads and
get a logout link in the top bar.
Login is at /login (not linked). Users are managed in users.txt via
scripts/add_user.py (scrypt-hashed passwords). users.txt is gitignored.
New env vars: USERS_FILE, ADS_DIR.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
SvelteKit web frontend for yt-dlp and ffmpeg. Paste a YouTube URL to
download best-quality video, subtitles (original + EN + DE), and thumbnail.
Subtitles are converted to clean Markdown. Optional audio extraction to MP3.
Supports ZIP & Send mode: downloaded files are packed into a ZIP and
delivered to the browser, with optional server-side cleanup after delivery.
An extra directory (ZIP_EXTRA_DIR) can be bundled into every ZIP.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>