Giter Club home page Giter Club logo

youtube-dl-wpf's Introduction

๐ŸŽžโฌ‡ Cube YouTube Downloader - youtube-dl-wpf

Build Release

A simple GUI wrapper 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 playlists.
  • Select types of subtitles (default, all languages, auto-generated) to download and embed.
  • Specify custom download filename 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 youtube-dl or yt-dlp from the upstream. Optionally but recommended, get ffmpeg either by building from source or downloading pre-built binaries for Windows.
  3. The framework-dependent binary requires an installed .NET 6 Runtime to run. Alternatively, download the self-contained binary that bundles the runtime. The upstream youtube-dl binary requires MSVC++ 2010 x86 runtime.
  4. Run youtube-dl-wpf.exe. Go to Settings. Set the path to youtube-dl/yt-dlp and ffmpeg.
  5. 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/yt-dlp from the upstream. The ffmpeg binary is required by youtube-dl/yt-dlp when downloading and merging separate video and audio tracks, which is the case for any video resolution higher than 360p 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. Examples are, 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 the upstream.

  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 6 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

youtube-dl-wpf's People

Contributors

database64128 avatar dependabot-preview[bot] avatar dependabot[bot] avatar hmbsbige avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.