Skip to main content

Youtube Downloader GUI

Project description

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
  • Download & extract the source
  • Change directory into yt-dlg-1.8.5
  • 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

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**

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](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

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yt_dlg-1.8.5.tar.gz (670.7 kB view details)

Uploaded Source

Built Distribution

yt_dlg-1.8.5-py3-none-any.whl (231.2 kB view details)

Uploaded Python 3

File details

Details for the file yt_dlg-1.8.5.tar.gz.

File metadata

  • Download URL: yt_dlg-1.8.5.tar.gz
  • Upload date:
  • Size: 670.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for yt_dlg-1.8.5.tar.gz
Algorithm Hash digest
SHA256 fbb8204029ec1a6becea84c035b849ab8f8555ecf36cd46b4ea25e9d32ae6114
MD5 1b624b47f42d1605c749a477141bb9e9
BLAKE2b-256 f839c979736a35230bcd114d81caa8094a0bc7b0f5ca6818665024b19e48527c

See more details on using hashes here.

File details

Details for the file yt_dlg-1.8.5-py3-none-any.whl.

File metadata

  • Download URL: yt_dlg-1.8.5-py3-none-any.whl
  • Upload date:
  • Size: 231.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for yt_dlg-1.8.5-py3-none-any.whl
Algorithm Hash digest
SHA256 60694516976f7c73224ec4d70181d1e356c2865ea7485cff81228a6613dd854c
MD5 6ef4b85faa8ed4d1fc4911371562c26c
BLAKE2b-256 1acb19632dc8ec4dbd72543cad0cdc1037c4521ed281d5c48f931c7580768a5e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page