Skip to content

A simple GUI for yt-dlp based on Tkinter, written in pure Python 3

Notifications You must be signed in to change notification settings

aliencaocao/ytdlp-gui

Repository files navigation

YT-DLP GUI

This is (yet another) yt-dlp GUI built with pure Python and Tkinter. It is still in early development stage so only basic functions are developed and functional.

Installation

For Windows and Linux, download the executable files from the releases page.

For macOS, you can clone this repository and run the yt-dlp-gui.py file with Python 3, or follow the build instructions below to build binary executables.

Features

  • Downloading videos from all sources that yt-dlp supports into your designated folder.
  • Choose and combine any video and audio formats into a single file, or download only video or only audio.
  • Built-in transcoding of audio into other formats (AAC, ALAC, FLAC, M4A, MP3, Opus, Vorbis, WAV) for ease of use on other platforms.
  • Packaged into a single executable and embeds ffmpeg and ffprobe binaries so user do not have to install anything.
  • Cross-platform (Windows, Linux, macOS) and works on both X86 and ARM machines. However, only Windows and Linux binary builds are available now, for other formats, you can build yourself from source following the insturctions below.

Home page of the program: "Download Video" and "Download Audio" will download the best quality available for video and/or audio.

Each time you add a download task, it will be added to the queue shown on the home page, with basic details, progress bar and download status.

Download details page of the program (accessible by clicking "Customize Downloads"). You can choose formats with both video and audio streams in Download Options, or choose and combine any available format you like below. If you only choose an Audio format, you can choose to convert the audio into another format.

Planned features

  • Downloading playlists

Building

You need Python 3.6+.

  1. Clone this repository.
  2. Install the dependencies with pip install -r requirements.txt. On Windows machines, a working ffmpeg.exe and ffprobe.exe is also needed in the same directory as the main.py file. You can download them from here. Choose ffmpeg-master-latest-win64-gpl.zip.
  3. Modify version.yml if needed
  4. (Optional) Install UPX and make sure it is on PATH. UPX helps to reduce binary size.
  5. Run commands in build.txt in system shell (cd to project dir). On non-Windows machines, remove --add-data "ffmpeg.exe:." --add-data "ffprobe.exe:." from it.

About

A simple GUI for yt-dlp based on Tkinter, written in pure Python 3

Topics

Resources

Stars

Watchers

Forks

Languages