Skip to content

database64128/youtube-dl-wpf

Repository files navigation

🎞⬇ Cube YouTube Downloader - youtube-dl-wpf

Build Release

WPF GUI for youtube-dl and yt-dlp.

Home Settings

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

  1. Download the pre-built binary or build it from source.
  2. Download yt-dlp or youtube-dl.
  3. It's optional but highly recommended to also download FFmpeg. Otherwise you won't be able to merge separate video and audio tracks.
  4. The framework-dependent binary requires an installed .NET Runtime to run. Alternatively, download the self-contained binary that bundles the runtime.
  5. Run youtube-dl-wpf.exe. Go to Settings. Set the path to youtube-dl/yt-dlp and FFmpeg.
  6. Go back to the home tab. Paste a video URL and start downloading! 🚀

FAQ

  1. Q: The Download button is grayed out and I can't click it!

    A: youtube-dl-wpf is 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.

  2. 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 curl accepts proxy strings (e.g. socks5://localhost:1080/, http://localhost:8080/). Currently the upstream doesn't accept socks5h protocol and treat socks5 as socks5h by always resolving the hostname using the proxy. This is tracked in this issue.

  3. 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.

  4. Q: youtube-dl and yt-dlp behave differently!

    A: In some cases, yes, and youtube-dl-wpf tries 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

Note for packagers: The application by default uses executable directory as config directory. To use user's config directory, define the constant PACKAGED when building.

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

Publish as self-contained for packaging on Windows x64

dotnet publish YoutubeDl.Wpf -c Release -p:DefineConstants=PACKAGED -r win-x64 --self-contained

License

© 2025 database64128

About

A simple GUI wrapper for youtube-dl and yt-dlp.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy