Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dsymbol/yt-dlp-gui
A cross-platform GUI wrapper for yt-dlp written in PySide6
https://github.com/dsymbol/yt-dlp-gui
video-downloader youtube-dl youtube-downloader yt-dlp
Last synced: about 2 months ago
JSON representation
A cross-platform GUI wrapper for yt-dlp written in PySide6
- Host: GitHub
- URL: https://github.com/dsymbol/yt-dlp-gui
- Owner: dsymbol
- License: unlicense
- Created: 2022-04-03T12:07:40.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-07T15:11:44.000Z (4 months ago)
- Last Synced: 2024-12-28T13:02:54.169Z (about 2 months ago)
- Topics: video-downloader, youtube-dl, youtube-downloader, yt-dlp
- Language: Python
- Homepage:
- Size: 137 KB
- Stars: 665
- Watchers: 8
- Forks: 65
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# yt-dlp-gui
Graphical interface for the command line tool [yt-dlp](https://github.com/yt-dlp/yt-dlp) with preset customization.
## Screenshot

## Usage
There are two ways to get started, depending on your preference and system:
* [`Portable`](#portable) ~ *Windows*
* [`Manual`](#manual) ~ *Platform independent*### Portable
Download the latest portable version from the the [releases](https://github.com/dsymbol/yt-dlp-gui/releases/latest) section.
This is a ZIP file containing the program files and all necessary dependencies.*All releases are built and released using GitHub Workflow*
### Manual
You **must** have [Python](https://www.python.org/downloads/) 3.9+ installed.
```bash
git clone https://github.com/dsymbol/yt-dlp-gui
cd yt-dlp-gui
pip install -r requirements.txt
cd app
python app.py
```## Preset Customization
**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.
### Available Fields
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](https://github.com/dsymbol/yt-dlp-gui/blob/main/app/worker.py#L67) `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 or `1` to remove and `2` 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.
```toml
[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.