oleksis / youtube-dl-gui

A cross platform front-end GUI of the popular youtube-dl written in wxPython.
https://oleksis.github.io/youtube-dl-gui/
The Unlicense
1.66k stars 107 forks source link
gui-application hacktoberfest python python3 wxpython wxpython-phoenix youtube-dl

Azure DevOps coverage Build Status yt-dlg build result

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

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

Snap Store

Get it from the Snap Store

Install From Source

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

In Windows we have the following options:

In GNU/Linux install make. Ubuntu:

sudo apt install make

Binaries

Create binaries using PyInstaller

Run 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

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/openSUSE_Tumbleweed/home:oleksis.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.8, 3.9, 3.10)

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** > * For install **wxPython on openSUSE 15.3** download the wheel from the release: > > [wxPython-4.1.1-cp36-cp36m-linux_x86_64.whl](https://github.com/oleksis/youtube-dl-gui/releases/download/v1.8.1/wxPython-4.1.1-cp36-cp36m-linux_x86_64.whl) ### Dev Tools ```bash 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) ```bash 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 ```bash 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 ```bash 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` ```bash PYTHON_CONFIGURE_OPTS="--enable-shared" \ pyenv install 3.6.13 pyenv shell 3.6.13 ``` ### Add python-config to the PATH ```bash PATH=$(pyenv root)/versions/${PYENV_VERSION}/bin:$PATH ``` ### Install requirements and run `yt-dlg` ```bash 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 ```bash locale -av ``` ### Windows Subsystem for Linux Some issues is possible. Can read more in: [Troubleshooting GUI Linux apps on openSUSE on WSLg](https://boxofcables.dev/why-do-apps-look-weird-on-wslg-on-opensuse/) ```bash 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](https://blogdrake.net/) 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 * [SRC](https://ftp.blogdrake.net/mageia/mageia8/free/SRPMS/yt-dlg-1.8.5-1bdk_mga8.src.rpm) * [RPM](https://ftp.blogdrake.net/mageia/mageia8/free/noarch/yt-dlg-1.8.5-1bdk_mga8.noarch.rpm)

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

Thanks

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