Code Monkey home page Code Monkey logo

ydl's Introduction

NOTE: This will no longer be updated except bugfixes

YT-DLP Launcher

YDL, a Simple GUI Launcher for yt-dlp on Windows using AHK.

Prerequisites

Optional

  • ffmpeg - Required for mergring audio and video files together, extracting audio, embedding metadata etc.
  • aria2c - Provides faster downloads for all non-DASH videos.

How to Use

  1. Install AHK1.1.*
  2. Download the optional prerequisites if needed.
  3. Download either the entire repository or just update.ahk and place the file(s) in an empty folder.
  4. Either make sure the all the prerequisites (except AHK) are available in PATH variable, or copy them to the script directory.
  5. Run update.ahk with AHK. This will download both the script and yt-dlp to the same folder.
  6. Run YDL.ahk with AHK.

Profiles

Any .conf file present in the script directory will be available as a profile. For more information on yt-dlp configuration files, refer to the official documentation.

The script makes two additional variables available in these configuration files:

  • %ydl_dir% which expands to the script directory AND
  • %ydl_home% which expands to the path given in the gui.

Any output path given in the profile MUST NOT be an absolute path. If it is, the file will be downloaded to the path given in the profile irrespective of the path specified in the GUI.

It is recomended that you make your own profiles instead of editing the exising ones since updates will reset the profile back to default.

Configuration

All settings are saved in the file ydl.ahk.ini. The settings are read when the script starts and saved everytime a download sucessfully launches. All options that is to be passed into yt-dlp directly must be properly escaped.

[Options]

Key Saves the last used value of
prof Profile
res Resolution
sign Sign prefixing Resolution (>=/<=)
path Path
opts Options to be passed to yt-dlp

[Hidden]

These options are not changable in the GUI.

Key Description
log Whether to log the command to ydl.ahk.log. (1=Log, 0=Don't log)
update Whether to update yt-dlp automatically. (1=Update, 0=Don't update)
opts These options will be additionally passed to yt-dlp. Only the options given in [Options]/opts may override these. PS: It is now recommended to create a yt-dlp.conf file for your common options instead. See portable config

FAQ

What is the field called Options?

This field accepts all the same options as yt-dlp. These options override the settings generated by the script which in turn overrides the options in the profile.

The download never completes.

The download process is wrapped in retry.cmd which will keep retrying the download until yt-dlp exits without any error. So, if any of the videos is not downloadable (due to the video being removed/private/age-gated, url being wrong, etc), the download will never complete. You can simply break/close the terminal window to stop the download process.

Can I use youtube-dl/youtube-dlc with this?

The format selection and output path are set by the script using -S and -P options of yt-dlp. Since these options don't exist in youtube-dl, it cannot be used as a replacement.

How do I update YDL?

To update the script, simply run update.ahk.

ydl's People

Contributors

pukkandan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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