A simple GUI wrapper for youtube-dl
.
- Follow 🎨 system color mode, or choose between 🌃 dark mode and 🔆 light mode.
- Update
youtube-dl
on startup. - List available formats.
- Override video and audio formats and output container.
- Embed metadata into downloaded file.
- Download and embed thumbnails and subtitles.
- Download playlists.
- Specify custom download path.
- Specify custom
ffmpeg
andyoutube-dl
path. - Specify custom proxy.
- Download the pre-built binary or build it from source.
- Download
youtube-dl
from the upstream. Optionally but recommended, getffmpeg
either by building from source or downloading pre-built binaries for Windows. - The framework-dependent binary requires .NET 5 Runtime installed to run. Alternatively, download the self-contained binary that doesn't require a installed runtime. The upstream
youtube-dl
binary requires MSVC++ 2010 runtime. - Run
youtube-dl-wpf.exe
. Go to Settings. Set the path toyoutube-dl
andffmpeg
. - Go back to the home tab. Paste a video URL and start downloading! 🚀
-
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 downloadyoutube-dl
from the upstream. Theffmpeg
binary is required byyoutube-dl
when downloading and merging separate video and audio tracks, which is the case for any video resolution higher than 360p 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
curl
accepts proxy strings. Examples are,socks5://localhost:1080/
,http://localhost:8080/
. Currently the upstream doesn't acceptsocks5h
protocol and treatsocks5
assocks5h
by 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 the upstream.
- 🎉 No known issues!
- v2.0 - The Parallel Update: download management and download queue for parallel downloads.
Prerequisites: .NET 5 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
- This project is licensed under GPLv3.
- The icons are from Material Design Icons and are licensed under the Pictogrammers Free License.
youtube-dl
is licensed under The Unlicense.- Material Design Themes is licensed under MIT.
- Roboto Mono is licensed under the Apache License, Version 2.0.
- ReactiveUI is licensed under MIT.
© 2021 database64128