不内置下载器,未配置 youtube-dl/yt-dlp 路径时下载按钮为灰色不可用;不装 FFmpeg 则无法合并分离的视频与音频轨;框架依赖版需预先安装 .NET Runtime,否则请用自包含版

youtube-dl-wpf
database64128GPL-3.0活跃维护给 youtube-dl 和 yt-dlp 套上 WPF 图形界面,让不想敲命令行的人也能下载 YouTube 等网站的视频。
WPF GUI for youtube-dl and yt-dlp.
下载 yt-dlp 或 youtube-dl 后运行 youtube-dl-wpf.exe,在 Settings 中设置其路径与 FFmpeg 路径README 未说明硬件要求;程序为 Windows WPF 应用,需 .NET Runtime(框架依赖版)或使用自带运行时的自包含版
youtube-dl/yt-dlp 的 Windows WPF 图形界面,省去敲命令行下载视频
给 youtube-dl 和 yt-dlp 套上 WPF 图形界面,让不想敲命令行的人也能下载 YouTube 等网站的视频。
核心能力
- 列出视频所有可用格式并覆盖音视频格式与容器
- 下载并嵌入缩略图与元数据到文件
- 下载整个播放列表并可勾选其中条目
- 选择默认、全部语言或自动生成字幕并嵌入
- 自定义输出模板、下载路径、FFmpeg 路径、代理和命令行参数
容易踩的坑
- v1.13.1v1.13.1 - Patch Release 🛠️最新正式版2025-10-06 · 2025-10-06 18:19 UTC
📝 Release Notes
This is a quick patch release with performance fixes and some small enhancements.
- Added "Copy logs" and "Clear logs" buttons.
- Added new built-in presets for YouTube Music.
- Automatic updates are now disabled by default when the backend is detected from
PATH. - Resolved a performance issue that caused the UI to gradually slow to a crawl during download operations. Kudos to @EDM115 for the comprehensive #226!
📦 Packages
Filename Build type youtube-dl-wpf-v1.13.1-windows-arm64.7z.NET 9 - Windows ARM64 self-contained youtube-dl-wpf-v1.13.1-windows-arm64.zip.NET 9 - Windows ARM64 self-contained youtube-dl-wpf-v1.13.1-windows-x64.7z.NET 9 - Windows x64 self-contained youtube-dl-wpf-v1.13.1-windows-x64.zip.NET 9 - Windows x64 self-contained youtube-dl-wpf-v1.13.1-windows-x86.7z.NET 9 - Windows x86 self-contained youtube-dl-wpf-v1.13.1-windows-x86.zip.NET 9 - Windows x86 self-contained youtube-dl-wpf-v1.13.1-windows.7z.NET 9 - Windows Any CPU framework-dependent youtube-dl-wpf-v1.13.1-windows.zip.NET 9 - Windows Any CPU framework-dependent © 2025 database64128
- v1.13.0v1.13.0 - Glow Up 🌟2025-09-26 · 2025-09-26 20:28 UTC
查看更新说明
📝 Release Notes
This release introduces an all-new out-of-box experience, adds UI support for cookies and subtitle languages, and includes many other improvements and bug fixes.
💌 Out-of-Box Experience
When you open the app for the first time, a "Get started" dialog will guide you through the setup.
If
yt-dlpis already installed in your systemPATH, the app will automatically use it and skip the intro.🚧 Preset Breaking Change
Starting with this release, specifying a container alone (without a format) will pass
--merge-output-format <container>instead of-f <container>. This change was necessary to allow--merge-output-formatto be used without custom arguments. Unfortunately, this may break your existing user-defined presets. Make sure to check them after upgrading.Kudos to @astering for reporting this bug in #177!
🔗 Video Link as Command-Line Argument
You can now launch the app with a video link as the first command-line argument, and it will be automatically pre-filled in the UI. (#162)
🍪 First-Class Cookies Support
You can now configure the use of cookie files and the extraction of cookies from browsers directly in the interface. (#218)
🌐 Subtitle Languages
You can now pick which subtitles to download by language. Recently used languages are remembered and are easily accessible in the drop-down menu. (#204)
🕹️ Ease of Use
Ever confused by the buttons being grayed out? Say no more! With this release, the interaction logic around buttons has been greatly improved. You can now even type out a nonexistent download folder and have the app create it for you. (#179)
🪄 General
- The UI is now more responsive to different window sizes.
- The log viewer is now resizable. (#205)
- Added "Show in folder" buttons for easy navigation.
- Improved the folder selection experience.
- Log files can now be enabled in settings.
- Auto-generated subtitles are now properly embedded into the downloaded file. (#201, #203)
📦 Packages
Filename Build type youtube-dl-wpf-v1.13.0-windows-arm64.7z.NET 9 - Windows ARM64 self-contained youtube-dl-wpf-v1.13.0-windows-arm64.zip.NET 9 - Windows ARM64 self-contained youtube-dl-wpf-v1.13.0-windows-x64.7z.NET 9 - Windows x64 self-contained youtube-dl-wpf-v1.13.0-windows-x64.zip.NET 9 - Windows x64 self-contained youtube-dl-wpf-v1.13.0-windows-x86.7z.NET 9 - Windows x86 self-contained youtube-dl-wpf-v1.13.0-windows-x86.zip.NET 9 - Windows x86 self-contained youtube-dl-wpf-v1.13.0-windows.7z.NET 9 - Windows Any CPU framework-dependent youtube-dl-wpf-v1.13.0-windows.zip.NET 9 - Windows Any CPU framework-dependent © 2025 database64128
- v1.12.2v1.12.2 - Patch Release 🛠️2023-06-01 · 2023-06-01 02:20 UTC
查看更新说明
📝 Release Notes
This is a quick patch release without new features.
- Fixed crash when hitting Enter on the link field (#171).
- Fixed the issue of not being able to remove custom arguments from existing custom presets.
- Loaded custom presets are now correctly sorted from newest to oldest.
- Duplicating a preset will now make sure the new name is unique.
📦 Packages
Filename Build type youtube-dl-wpf-v1.12.2-windows-arm64.7z.NET 7 - Windows ARM64 self-contained youtube-dl-wpf-v1.12.2-windows-arm64.zip.NET 7 - Windows ARM64 self-contained youtube-dl-wpf-v1.12.2-windows-x64.7z.NET 7 - Windows x64 self-contained youtube-dl-wpf-v1.12.2-windows-x64.zip.NET 7 - Windows x64 self-contained youtube-dl-wpf-v1.12.2-windows-x86.7z.NET 7 - Windows x86 self-contained youtube-dl-wpf-v1.12.2-windows-x86.zip.NET 7 - Windows x86 self-contained youtube-dl-wpf-v1.12.2-windows.7z.NET 7 - Windows Any CPU framework-dependent youtube-dl-wpf-v1.12.2-windows.zip.NET 7 - Windows Any CPU framework-dependent © 2023 database64128
- v1.12.1v1.12.1 - Patch Release 🛠️2023-05-15 · 2023-05-15 12:32 UTC
查看更新说明
📝 Release Notes
This is a quick patch release without new features.
- Fixed the issue where settings won't persist between runs if there isn't already a settings file.
- Updated MaterialDesignThemes to fix some minor layout issues.
📦 Packages
Filename Build type youtube-dl-wpf-v1.12.1-windows-arm64.7z.NET 7 - Windows ARM64 self-contained youtube-dl-wpf-v1.12.1-windows-arm64.zip.NET 7 - Windows ARM64 self-contained youtube-dl-wpf-v1.12.1-windows-x64.7z.NET 7 - Windows x64 self-contained youtube-dl-wpf-v1.12.1-windows-x64.zip.NET 7 - Windows x64 self-contained youtube-dl-wpf-v1.12.1-windows-x86.7z.NET 7 - Windows x86 self-contained youtube-dl-wpf-v1.12.1-windows-x86.zip.NET 7 - Windows x86 self-contained youtube-dl-wpf-v1.12.1-windows.7z.NET 7 - Windows Any CPU framework-dependent youtube-dl-wpf-v1.12.1-windows.zip.NET 7 - Windows Any CPU framework-dependent © 2023 database64128
- v1.12.0v1.12.0 - May 2023 Update ♉2023-05-03 · 2023-05-03 17:02 UTC
查看更新说明
📝 Release Notes
This release adds output template history, the ability to select playlist items, and comes with various improvements and fixes to the UI and the logic behind it.
- 📜 Output template history
- Used output templates are now saved and displayed in a drop-down menu, just like used download paths.
- Credit to @Iongtimenosee for suggesting this in #166.
- 🔢 Playlist items
- You can now select items when downloading from a playlist.
- The syntax can be found in upstream's documentation for
--playlist-items. - Credit to @amorfiniluigi82 for inspiring this feature in #165.
- 🖼️ UI improvements
- The window size will now persist between runs, and can be viewed and reset in settings.
- Some adjustments were made to the layout to better align the elements and make it easier to view the logs.
- Clearer log messages with shortened timestamps.
- No more RxUI binding warnings! Credit to @bachig26 and @EDM115 for reminding me of these annoying warnings in #128 and #160.
- 🏗️ General improvements and bug fixes
- Updated to .NET 7.
- Refactored log sink to be more efficient.
- Refactored JSON file helper methods to be more idiomatic.
- Refactored backend output handling to be more efficient and idiomatic.
- Fixed the somewhat broken logic of storing used download paths.
📦 Packages
Filename Build type youtube-dl-wpf-v1.12.0-windows-arm64.7z.NET 7 - Windows ARM64 self-contained youtube-dl-wpf-v1.12.0-windows-arm64.zip.NET 7 - Windows ARM64 self-contained youtube-dl-wpf-v1.12.0-windows-x64.7z.NET 7 - Windows x64 self-contained youtube-dl-wpf-v1.12.0-windows-x64.zip.NET 7 - Windows x64 self-contained youtube-dl-wpf-v1.12.0-windows-x86.7z.NET 7 - Windows x86 self-contained youtube-dl-wpf-v1.12.0-windows-x86.zip.NET 7 - Windows x86 self-contained youtube-dl-wpf-v1.12.0-windows.7z.NET 7 - Windows Any CPU framework-dependent youtube-dl-wpf-v1.12.0-windows.zip.NET 7 - Windows Any CPU framework-dependent © 2023 database64128
- 📜 Output template history
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
🎞⬇ Cube YouTube Downloader - youtube-dl-wpf
WPF GUI for youtube-dl and yt-dlp.

Features
- Follow 🎨 system color mode, or choose between 🌃 dark mode and 🔆 light mode.
- Update youtube-dl/yt-dlp on startup.
- List all available formats.
- Override video, audio formats and output container.
- Embed metadata into downloaded file.
- Download and embed thumbnails.
- Download whole playlists.
- Select items from playlist to download.
- Select types of subtitles (default, all languages, auto-generated) to download and embed.
- Specify custom output template.
- Specify custom download path.
- Specify custom FFmpeg path.
- Specify custom proxy.
- Specify custom command-line arguments.
Usage
- Download the pre-built binary or build it from source.
- Download yt-dlp or youtube-dl.
- It's optional but highly recommended to also download FFmpeg. Otherwise you won't be able to merge separate video and audio tracks.
- The framework-dependent binary requires an installed .NET Runtime to run. Alternatively, download the self-contained binary that bundles the runtime.
- Run
youtube-dl-wpf.exe. Go to Settings. Set the path to youtube-dl/yt-dlp and FFmpeg. - Go back to the home tab. Paste a video URL and start downloading! 🚀
FAQ
-
Q: The Download button is grayed out and I can't click it!
A:
youtube-dl-wpfis a simple GUI wrapper. It doesn't bundle any downloader with it. You have to download youtube-dl or yt-dlp for it to work. FFmpeg is required by youtube-dl and yt-dlp when merging separate video and audio tracks, which is the case for most formats on YouTube. -
Q: How can I use a proxy to download?
A: Leave the proxy field empty to use system proxy settings. Otherwise the format is similar to how
curlaccepts proxy strings (e.g.socks5://localhost:1080/,http://localhost:8080/). Currently the upstream doesn't acceptsocks5hprotocol and treatsocks5assocks5hby always resolving the hostname using the proxy. This is tracked in this issue. -
Q: Downloading the whole playlist doesn't work!
A: It's an upstream bug, just like many other issues you might discover. There's nothing I can do. Just report the bug to yt-dlp or youtube-dl, whichever you use.
-
Q:
youtube-dlandyt-dlpbehave differently!A: In some cases, yes, and
youtube-dl-wpftries to align their behavior by sending different options and arguments for different backends. See the backends documentation for more information.
Known Issues
- 🎉 No known issues!
To-Do
- v2.0 - The Parallel Update: download management and download queue for parallel downloads.
Build
Prerequisites: .NET 9 SDK
Build with Release configuration
dotnet build -c Release
Publish as framework-dependent
dotnet publish YoutubeDl.Wpf -c Release
Publish as self-contained for Windows x64
dotnet publish YoutubeDl.Wpf -c Release -r win-x64 --self-contained
License
- This project is licensed under GPLv3.
- The icons are from Material Design Icons and are licensed under the Pictogrammers Free License.
youtube-dlandyt-dlpare licensed under The Unlicense.- Material Design Themes is licensed under MIT.
- Roboto Mono is licensed under the Apache License, Version 2.0.
- ReactiveUI and its dependencies are licensed under MIT.
© 2025 database64128