• Stars
    star
    707
  • Rank 63,682 (Top 2 %)
  • Language
    C#
  • License
    GNU General Publi...
  • Created over 4 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

πŸŽžβ¬‡ 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 7 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

Β© 2022 database64128

More Repositories

1

swgp-go

πŸ‰ Simple WireGuard proxy with minimal overhead for WireGuard traffic.
Go
155
star
2

shadowsocks-go

A versatile and efficient proxy platform for secure communications.
Go
109
star
3

shadowsocks-uri-generator

Shadowsocks URI Generator is a management and distribution platform for censorship circumvention services.
C#
21
star
4

tfo-go

TCP Fast Open support for Go.
Go
21
star
5

CubicBot

A stupid and annoying chatbot for your group chats.
C#
20
star
6

ddns-cloudflare-powershell

A simple Powershell script for DDNS with Cloudflare API.
PowerShell
4
star
7

gibberish-sender-go

🍾 Send random gibberish to an endpoint.
Go
3
star
8

cubic-spacy-bot

🌌 Need some space?
Go
2
star
9

shadowsocks-go-domain-sets

Automated generation of commonly used domain sets for https://github.com/database64128/shadowsocks-go.
2
star
10

BDSPlayerRecord

Bedrock Dedicated Server Player Record management
C++
2
star
11

bot-collection

Telegram systemd-bot
C++
2
star
12

youtube-dl-avalonia

A simple cross-platform GUI wrapper for https://github.com/ytdl-org/youtube-dl. Ported from https://github.com/database64128/youtube-dl-wpf.
C#
2
star
13

pkgbuild-collection

My PKGBUILD collection.
Shell
1
star
14

CubeDns

A small DNS Resolver in C#. 🌊
C#
1
star
15

CloudflareDDNSHelper

☁ A simple dual-stack DDNS helper that interacts with Cloudflare API.
C#
1
star
16

MyBlog

Welcome to my blog! πŸ’–πŸŒž2οΈβƒ£πŸ‘½πŸ“šπŸ–₯
1
star
17

youtube-dl

Fuck the RIAA. πŸ’©
Python
1
star
18

cubic-rce-bot

Execute commands on a remote host via a Telegram bot.
Go
1
star