yoober · local media · captions
Download, Library & Transcripts
Yoober is a free, MIT-licensed desktop app that downloads online video and audio, builds a local caption library, and plays media with better-than-site captions — using site subtitles or OpenAI Whisper (local GPU or API). Bundles yt-dlp and ffmpeg. No account required.
A perfect solution for researchers and the hearing impaired!
Maintains Yoober. Personal site: https://yaa.bz/
Features
Core capabilities
Download, library, captions, transcription — no accounts.
- Local library
- Browse downloaded and imported media in a SQLite-backed library with thumbnails, playlists, tags, search (including caption text), and an in-app caption player — fullscreen, repeat, and A–B loop.
- Fetch Info
- Preview title, thumbnail, duration, available qualities, and caption tracks before you download — so you know exactly what you are getting.
- Video downloads
- Grab videos from 360p up to 4K. Pick MP4, MOV, MKV, or WebM (default). Embed thumbnails and metadata; WebM gets a sidecar thumbnail when embedding is unsupported.
- Audio extraction
- Strip audio to MP3, M4A (AAC), Opus, FLAC, WAV, or Vorbis. Choose bitrate from 96 kbps up to 320 kbps with cover art and metadata.
- Import local files
- Bring existing videos into the library — copy or reference in place, optional re-encode, and bulk Whisper transcription after import.
- YouTube captions
- When a video already has subtitle tracks, download them from the job card — manual tracks preferred over auto-generated. Fast, no Whisper required.
- Whisper transcription
- Generate transcripts (TXT, SRT, VTT, JSON) with a local Whisper install or the OpenAI API — CUDA, Apple Silicon Metal, or CPU. Transcribe after download is on by default. Library items without captions get a Whisper action; multi-select can transcribe several at once. Stored in SQLite; copy or export anytime.
- Live queue & history
- Watch real-time progress, speed, and ETA. Cancel anytime. History persists with retry, reveal-in-folder, and Show in Library actions.
- Bundled binaries
- yt-dlp and ffmpeg ship inside the app. Header status dots show they are ready. Yoober can keep yt-dlp current from GitHub stable releases, with rollback to the bundled copy if an update misbehaves.
- Auto-update
- Packaged macOS and Windows builds check for app updates on launch (Settings → Updates). Linux stays a website download. Unsigned macOS builds cannot self-update.
- Privacy-first
- No Yoober account or cloud library. Downloads, captions, and playlists stay on your machine. Packaged macOS and Windows builds can check update.yoober.app for app updates; yt-dlp updates come from GitHub. Your OpenAI key (if used) is encrypted in your OS keychain.
Library
Your local media hub
Downloads land in ~/Videos/Yoober by default. Thumbnails, playlists, caption search, and in-app playback with a detail preview.
Caption-aware player
HTML5 playback with timed captions from the database. Fullscreen, repeat (off / one / all), A–B range loop, keyboard shortcuts, and auto-hiding controls. Switching videos no longer stacks leftover caption tracks.
Thumbnails
Sidecar thumbnails (including .webp next to WebM downloads) show in list rows and the detail preview. Rename and delete keep the thumbnail with the media file.
Playlists & tags
Organize media into playlists. Tag items with chip input; filter by tag facets in the sidebar. Search ranks title, notes, tags, and optionally caption text via FTS.
Import & rescan
Import videos from disk (copy or reference). Rescan finds unindexed files under your library folder and offers to import them on launch or refresh.
Editable metadata
Select an item for a large thumbnail preview and Play button. Metadata, actions, and captions live in a collapsible Details section. Save once for metadata and captions; copy or export transcripts whenever you need them.
How it works
Four steps
- 01
Paste a URL
Copy any link yt-dlp supports — YouTube, Vimeo, Twitch, and over a thousand others — and paste it into the Downloader.
- 02
Fetch Info
Preview the title, thumbnail, duration, available qualities, and caption tracks before committing to a download.
- 03
Download
Pick video or audio, quality, container, and output folder (defaults to your Library). Watch live progress. Transcribe after download is on by default and always uses Whisper.
- 04
Library & captions
Play in-app with readable captions. Pull YouTube subtitles from job cards when available, run Whisper from the library, or import files you already have.
Formats
Video & audio options
Video
- Quality
- 360p480p720p HD1080p FHD1440p QHD2160p 4KBest available
- Container
- WebM (default)MP4MOVMKV
- Extras
- Embed thumbnailSidecar thumbnail (WebM)Embed subtitlesWrite metadata
Audio only
- Format
- MP3M4A (AAC)OpusFLACWAVVorbis (OGG)
- Bitrate
- 96 kbps128 kbps192 kbps256 kbps320 kbpsBest
- Extras
- Embed cover artWrite metadata
Transcription
Site captions or Whisper
Pull existing subtitle tracks, or transcribe locally / via OpenAI API. Transcribe after download is on by default (Whisper). Copy or export TXT, SRT, VTT, JSON.
YouTube captions
Download manual or auto-generated tracks from the job card when Fetch Info detects them. This stays a manual action — Transcribe after download always uses Whisper.
Local Whisper
Offline processing with CUDA, Apple Metal, or CPU. Models from tiny through large. Queue status shows the active device. Library items without captions get a Whisper button, including multi-select Whisper (N).
OpenAI API
Optional hosted transcription. API key stored in your OS keychain. Copy transcript from library detail when you need the text on the clipboard.
Output: Plain text (.txt)SubRip (.srt)WebVTT (.vtt)JSON (.json)
Download
Desktop builds
Free, MIT-licensed desktop app (current 1.0.3). Pick your platform or browse release builds. macOS and Windows can update in-app after install.
Support development
Yoober is free to download and use. Donations help cover development time and tooling costs.
FAQ
Common questions
Is Yoober free?
Yes. Yoober is free to download and use, licensed under MIT. If you find it useful, consider supporting development via the donate link.
Which sites are supported?
Anything yt-dlp supports — YouTube, Vimeo, Twitch, Bilibili, and over a thousand others. If yt-dlp can fetch it, Yoober can download it. YouTube often needs a system Node binary for full format lists.
Do I need to install yt-dlp or ffmpeg?
No. Yoober bundles the right yt-dlp and ffmpeg binaries for your platform. The header shows a live status dot for each so you know they are ready. Settings → Updates can keep yt-dlp current from GitHub stable releases, with revert back to the bundled copy.
What is the Library?
The Library is your local media hub — default folder Videos/Yoober. Browse downloads and imports, organize playlists, search and tag items, edit metadata and captions, and play video in-app with timed subtitles. Captions and playlists live in a local SQLite database; media files stay on disk.
Can I import videos I already have?
Yes. Use Import in the Library sidebar or Downloads queue to pick local video files. Copy them into the library folder or reference them in place. Optional re-encode and bulk Whisper transcription after import are supported.
How does transcription work?
Whisper (local CLI or OpenAI API) generates speech-to-text transcripts stored in SQLite. Transcribe after download is on by default and always uses Whisper. YouTube captions stay a manual job-card action when subtitle tracks exist. From the Library, Whisper is offered for items without captions, including a multi-select Whisper (N) action. Queue status shows the engine (CPU, CUDA, Apple Silicon, or OpenAI API). Output formats: TXT, SRT, VTT, or JSON. Copy transcript from the library detail pane, or export to a file.
What if the video already has YouTube captions?
Fetch Info detects manual and auto-generated caption tracks. After download, use the job card action to pull site captions — fast and free. Prefer manual tracks over auto-generated. Choose Whisper instead if you want a fresh speech-to-text pass.
Does local Whisper use my GPU?
Yes, when available. Yoober auto-detects NVIDIA CUDA on Windows/Linux and Apple Silicon Metal (MPS) on Mac, and shows the active device in job status. Otherwise it falls back to CPU.
How do I install Python and OpenAI Whisper for local transcription?
Local transcription needs Python 3.8–3.11 and the openai-whisper package on your PATH. Install Python from python.org (or your package manager), then run: pip install -U openai-whisper. For GPU acceleration, install a CUDA-enabled or MPS-capable PyTorch build as documented by Whisper. Yoober detects the whisper CLI automatically — or set a custom path in Settings.
Where is my OpenAI API key stored?
If you use the OpenAI API backend, your key is stored securely using your operating system keychain (macOS Keychain / Windows Credential Manager / libsecret on Linux) via Electron safeStorage. It is never written to disk in plaintext.
Is my data sent anywhere?
Downloads and caption fetches run on your machine through yt-dlp. Local Whisper stays offline. Optional calls: OpenAI API if you opt in for API transcription; update.yoober.app if automatic app updates are on (macOS/Windows); GitHub if yt-dlp auto-update is on. There is no Yoober account or cloud library.
Is there cloud sync or an account?
No. Yoober has no user accounts and no cloud library. History, captions, playlists, and settings are local (yoober.sqlite). Clearing history does not delete media or captions.
Which platforms are supported?
macOS (Apple Silicon + Intel, Developer ID signed and notarized), Windows 10/11 (64-bit), and Linux (64-bit .deb). Not available on the Mac App Store.
Does Yoober update itself?
Packaged macOS and Windows builds check for app updates on launch when Check automatically is on (Settings → Updates). Linux has no in-app updater — download a new .deb from this site. Unsigned macOS builds cannot self-update.
Can I wipe everything on this machine?
Settings → Data → Delete all data… clears the local SQLite database (settings, history, library index, captions, playlists, UI state) and the encrypted API key. An optional checkbox also deletes media under the Library folder; referenced files outside that folder are left alone.
Can I download playlists?
Yoober is single-item focused — it passes --no-playlist to yt-dlp so you always get exactly the video you pasted, not an entire channel or playlist.