Modern Windows GUI for yt-dlp with playlists, subtitles, presets, and FFmpeg processing.
- Download individual videos, playlists, or channels as MP4, original media, or MP3.
- Queue up to four concurrent tasks with live progress, cancellation, retry, and history.
- Download, convert, embed, or burn subtitles with configurable styling.
- Process media with FFmpeg: trim, split, resize, crop, rotate, normalize audio, and more.
- Save reusable presets and use browser cookies locally for content that requires sign-in.
- Run as a Windows installer, a portable ZIP, or directly from Python source.
- Open the latest release.
- Download and run
YT-DLP-Studio-*-Setup.exe. - Add FFmpeg in Settings if it is not already available on
PATH.
Download YT-DLP-Studio-*-portable.zip, extract the entire archive, and run YT-DLP Studio.exe. Keep the executable beside its _internal directory.
git clone https://github.com/phunguyen1006/yt-dlp-studio.git
cd yt-dlp-studio
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\install_dependencies.ps1
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\run_dev.ps1Python 3.11+ is required. FFmpeg and FFprobe are required for merging, conversion, subtitles, and media processing.
flowchart LR
GUI["GUI"] --> Workers["Workers"] --> Services["Services"]
Services --> YTDLP["yt-dlp"]
Services --> FFmpeg["FFmpeg / FFprobe"]
The GUI only presents state. Background workers keep it responsive, while services own downloads, queues, history, presets, subtitles, and FFmpeg operations. See Architecture for the full boundaries and local-storage model.
- User Guide — downloads, playlists, subtitles, cookies, and troubleshooting.
- Development — environment setup, tests, syntax checks, and Windows builds.
- Architecture — layers, threading, services, and local persistence.
- Release Guide — installer, portable ZIP, verification, and checksums.
- Contributing and Changelog.
YT-DLP Studio has no telemetry or private application server. Settings, presets, history, logs, and browser-cookie references remain on the local machine and are excluded from Git. Cookie contents, tokens, and raw yt-dlp error messages are not logged. See Security Policy.
- Active tasks cannot be paused; cancel and retry instead.
- Playlist entries use ranges or index lists rather than individual checkboxes.
- Network cancellation may wait until the current request times out.
- Portable builds update yt-dlp by installing a newer application release.
Current binaries are not Authenticode-signed, so Windows SmartScreen may show Unknown publisher. Download SHA256SUMS.txt from the same release and verify a file before running it:
Get-FileHash .\YT-DLP-Studio-1.0.0-Setup.exe -Algorithm SHA256The displayed hash must match the corresponding line in SHA256SUMS.txt.
Released under the MIT License. Users are responsible for respecting platform terms, privacy requirements, and copyright law when downloading or processing media.
