/youtube-dl-gui

A cross platform front-end GUI of the popular youtube-dl written in wxPython.

Primary LanguagePythonThe UnlicenseUnlicense

Build Status Azure DevOps coverage

yt-dlg

A cross platform front-end GUI of the popular youtube-dl media downloader written in wxPython. Supported sites

Screenshots

youtube-dl-gui main window

Requirements

Requirement for build Binaries/Executables

Optionals

Downloads

Installation

In GNU/Linux install make. Ubuntu:

sudo apt install make

In Windows have two options:

Install From Source

Note The latest version compatible with Python 3.6.1 is yt-dlg v1.8.2

  • Download & extract the source
  • Change directory into yt-dlg-1.8.4
  • Create virtual environment
make clean-requirements
make venv
  • Activate virtual environment
source venv/bin/activate
  • Install requirements, build translations and install
make install

Binaries

Create binaries using PyInstaller

  • Install requirements, build translations and create binaries
make pyinstaller

Run yt-dlg

  • Activate virtual environment and run
source venv/bin/activate
yt-dlg

Note The default CLI Backend is yt-dlp you can change to youtube-dl CLI Backend in:

Settings -> Options -> Extra and change/select youtube-dl

Windows 10 / 11

Get it from Microsoft

Microsoft Store

You can download the program for free from the Microsoft Store and take advantage of its features like background auto-updates.

Winget

winget install -e --id yt-dlg.yt-dlg

Debian 11

Install the following packages and their dependences:

sudo apt-get update
sudo apt-get install -y apt-utils build-essential dpkg-dev \
    freeglut3 freeglut3-dev libgl1-mesa-dev libglu1-mesa-dev \
    libgstreamer-plugins-base1.0-dev libgtk-3-dev libjpeg-dev \
    libnotify-dev libsdl2-dev libsm-dev libtiff-dev \
    libwebkit2gtk-4.0-dev libxtst-dev

Setting the virtual environment and activate

sudo apt-get install -y python3.9 python3.9-dev libpython3.9-dev python3.9-venv
python3.9 -m venv venv
source venv/bin/activate
python3 -m pip install --upgrade pip setuptools wheel

Install wxPython , requirements and yt-dlg

python3 -m pip install wxPython-4.1.1-cp39-cp39-linux_x86_64.whl
python3 -m pip install -r requirements/requirements.in
python3 -m pip install --no-deps yt-dlg
yt-dlg

Comprobar wxPython 4

python3 -c "import wx ; print(wx.__version__)"

List and configure Locales

locale -a
sudo dpkg-reconfigure locales

openSUSE Tumbleweed

Install using zypper

Open Build Service

sudo zypper ar -cfp 90 https://download.opensuse.org/repositories/home:oleksis.fraga/openSUSE_Tumbleweed/home:oleksis.fraga.repo
sudo zypper install python38-yt-dlg
yt-dlg

With Python 3.8

The following steps can be executed if you use the Python version of the system (3.6, 3.8, 3.9)

sudo zypper dup  # Distribition Upgrade
sudo zypper -n update  # Non Interactive
sudo zypper -n install yum-utils

Add openSUSE Factory repository for wxPython 4

sudo zypper addrepo -f http://download.opensuse.org/tumbleweed/repo/oss/ openSUSE-Factory

Install wxPython 4 global (system level)

Need at least one font installed

sudo zypper -n install python38-wxPython google-opensans-fonts

Install other dev packages/tools for Python 3.8

sudo zypper -n install python38-pip python38-setuptools python38-devel python38-tools python38-virtualenv python38-requests

Install yt-dlg global from PyPI

pip3 install yt-dlg

Add yt-dlg executable to the PATH and run

PATH=$HOME/.local/bin:$PATH
yt-dlg

openSUSE 15.3

We need build wxPython 4.1.1 for Python 3.6

Dev Tools

sudo zypper -n install -t pattern devel_basis
sudo zypper -n install gcc-c++
sudo zypper -n install git wget

Requirement for install Python from source (Build dependencies)

sudo zypper -n install \
    readline-devel sqlite3-devel libbz2-devel \
    zlib-devel libopenssl-devel libffi-devel \
    ncurses-devel tk-devel libgdbm4 \
    ca-certificates gcc

Install wxPython 4 Dependencies

sudo zypper -n install \
    gtk3-devel gtk3-tools webkit2gtk3-devel \
    libjbig2 libjbig-devel libjpeg8 libjpeg8-devel \
    libpng16-16 libpng16-devel libtiff-devel \
    libSDL2-2_0-0 libSDL2-devel libSM6 libSM-devel\
    gstreamer gstreamer-devel gstreamer-plugins-base-devel \
    freeglut-devel libnotify4 libnotify-devel \
    libSM6 libSM-devel liblzma5 libXtst6 libXv1 \
    gdk-pixbuf-loader-rsvg gdk-pixbuf-query-loaders \

Install Pyenv

curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> $HOME/.bashrc
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> $HOME/.bashrc
echo 'eval "$(pyenv init -)"' >> $HOME/.bashrc
echo 'eval "$(pyenv virtualenv-init -)"' >> $HOME/.bashrc
source $HOME/.bashrc

Custom Python build with --enable-shared

PYTHON_CONFIGURE_OPTS="--enable-shared" \
    pyenv install 3.6.13

pyenv shell 3.6.13

Add python-config to the PATH

PATH=$(pyenv root)/versions/${PYENV_VERSION}/bin:$PATH

Install requirements and run yt-dlg

python -m pip install --upgrade pip six setuptools wheel
python -m pip install -r requirements/requirements.in
pip install yt-dlg
yt-dlg

List locales

locale  -av

Windows Subsystem for Linux

Some issues is possible. Can read more in: Troubleshooting GUI Linux apps on openSUSE on WSLg

sudo zypper -n install --no-recommends -t pattern gnome
sudo /usr/bin/gdk-pixbuf-query-loaders-64 --update-cache

Mageia 8

Exists a third-party repository for Mageia 8 that have a rpm package for youtube-dl-gui. The repository comes from BlogDrake The Official Community for Spanish Talking Users

Instructions

First you have to configure the Official Mageia repositories then

For i586 - 32bit systems

su -
urpmi.addmedia --wget --distrib https://ftp.blogdrake.net/mageia/mageia8/i586
urpmi yt-dlg
exit

For x86_64 - 64bit systems

su -
urpmi.addmedia --wget --distrib https://ftp.blogdrake.net/mageia/mageia8/x86_64
urpmi yt-dlg
exit

Source and RPM on Mageia 8

macOS Monterey

Custom Python build with --enable-framework

PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.10.6
pyenv shell 3.10.6
python -m pip install -r requirements/requirements.in
pip install yt-dlg
yt-dlg

Notes

An alternative to install wxPython 4 Phoenix from the Extras section

For Ubuntu 20.04

wget https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-20.04/wxPython-4.1.1-cp38-cp38-linux_x86_64.whl
pip3 install wxPython-4.1.1-cp38-cp38-linux_x86_64.whl

Contributing

Buy Me A Coffee

You can send me bitcoins to the following address: bc1qnlea6zlfca9fpk62pzedrh6z20w0pxn2ujslztw8t84spprlr4cqdeg8u5

Bitcoin Address

Authors

See AUTHORS file

License

The Public Domain License

Frequently Asked Questions

See FAQs file

Thanks

Thanks to everyone who contributed to this project and to @philipzae for designing the new UI layout.