Skip to content
This repository was archived by the owner on Aug 18, 2025. It is now read-only.

AstroLightz/yt-dlp-adv2

Repository files navigation

YT-DLP-ADV



Warning

All future development will be moved to the Codeberg Mirror going forward!!!

yt-dlp-adv is a remake of the original yt-dlp-adv, written in Python. A clean CLI script to download videos, audio, and thumbnails from YouTube.

This Script utilizes yt-dlp for downloading content from YouTube.

Requirements

  • An operating system with a Unix filesystem.1

  • Python 3.12 or higher

  • FFmpeg

  • ImageMagick

Installation:

Automatic Installation (Experimental)

Install yt-dlp-adv2 using one of the following commands:

Method Command
curl bash -c "$(curl -fsSL https://raw.githubusercontent.com/AstroLightz/yt-dlp-adv2/master/install.sh)"
wget bash -c "$(wget -O- https://raw.githubusercontent.com/AstroLightz/yt-dlp-adv2/master/install.sh)"

The installation script can add an alias to your bashrc/zshrc file to execute yt-dlp-adv2:

alias yt-dlp-adv="\"/Install/Location/yt-dlp-adv/.venv/bin/python\" \"/Install/Location/yt-dlp-adv/main.py\""

Manual Installation

To install the program manually, run the following command in your terminal:

git clone https://github.com/AstroLightz/yt-dlp-adv2.git
cd yt-dlp-adv2
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Then see the Usage section below.

Usage:

To use the program, run the following command in your terminal:

source .venv/bin/activate
python3 main.py

Features

  • Download videos, audio, and thumbnails from YouTube

  • Download playlists or single items

  • Choose what file format to use

  • If you are downloading a playlist, choose a playlist name format

  • Choose filename format to use

    • e.g. (uploader) - (title).(ext)
  • Dynamic directory location for each type of download2

    • Music: ~/Music/YouTube Downloads
    • Videos: ~/Videos/YouTube Downloads
    • Artwork: ~/Pictures/YouTube Downloads
  • Custom download status messages

  • See overview of download after download is complete

Filename Creator / Playlist Name Creator

Don't like the default filename format presets? Make your own using the Custom option in the menu.

There are two modes to use:

  • Simple: Menu-driven creation where you get to pick format parts to assemble your format.
  • Advanced: You can enter your own output template. See the yt-dlp documentation for more info on output templates.

Filename Creator can be accessed through the Downloader, Config Editor, or by passing -f or --format-editor as an argument to main.py

Playlist Name Creator, like Filename Creator, allows you to make your own playlist name format. Choose from Simple or Advanced mode to create your playlist name format.

Playlist Name Creator can be accessed through the Downloader when downloading a Playlist, Config Editor, or by passing -f or --format-editor as an argument to main.py

Config Editor

Customize how yt-dlp-adv works through the Config Editor. View, edit, and reset your config file through user-friendly menus.

Your config file is stored in script's directory as config.yml.3

Config Editor can be accessed by passing -c or --config as an argument to main.py


Info on development can be found in the TODO file.

Screenshots

Main Menu

Main Menu of yt-dlp-adv script

Menu Options

Menu Options of yt-dlp-adv script

Video Qualities

Download Status

Download Status of yt-dlp-adv script

Custom Presets using the Filename Creator

Edit config options using the Config Editor

Making Changes / Video Qualities

Config Problems Handling


License:

This project is released under the Unlicense. Check the LICENSE file for more information.

Acknowledgements:

Footnotes

  1. Windows WSL and macOS untested

  2. Default download locations can be changed in the Config Editor.

  3. It is recommended to use the Config Editor for editing the config file. You are responsible for any edits made outside the Config Editor.