Graphical interface for the command line tool yt-dlp with preset customization.
There are two ways to get started, depending on your preference and system:
Download the latest portable version from the the releases section. This is a ZIP file containing the program files and all necessary dependencies.
All releases are built and released using GitHub Workflow
You must have Python 3.9+ installed.
git clone https://github.com/dsymbol/yt-dlp-gui
cd yt-dlp-gui
pip install -r requirements.txt
cd app
python app.py
Note: all files mentioned below are located in the root directory of the program.
If you want to create your own presets or modify the existing ones, you're in the right place. All customization options can be found in the config.toml
file.
To define a preset, the section name must begin with presets.
. Below are the fields you can use to customize your presets:
-
args (required): This field can be provided as a string or a list. The arguments specified here will be added onto the base
yt-dlp
arguments. Therefore only the format and other relevant options for downloading should be specified. -
path (optional): This string field allows you to specify the output path. If this field is left out, it must be included in the
args
field. -
filename (optional): This string field allows you to define the naming convention. If this field is left out, it must be specified in the
args
field. -
sponsorblock (optional): This integer field allows you to set SponsorBlock functionality.
0
to disable or1
to remove and2
to mark. -
metadata (optional): This boolean field determines whether to include metadata.
-
subtitles (optional): This boolean field determines whether to include subtitles.
-
thumbnail (optional): This boolean field determines whether to include thumbnail.
Below an example of how to add the wav
format, you will notice I left out subtitles
and thumbnail
as they're not applicable for this format.
[presets.wav]
args = "--extract-audio --audio-format wav --audio-quality 0"
path = ""
filename = "%(title)s.%(ext)s"
sponsorblock = 0
metadata = false
Try it yourself by pasting it to the bottom of your config.toml
file! You will see that any fields not included in the preset will be disabled in the GUI. If you encounter any issues with your preset, check the debug.log
file for details.