Search, download and play music from YouTube.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Go to file
ProfP30 a6797423cb Merge branch 'main' of codeberg.org:ralfhersel/youplay 1 day ago
img Added qt-port of the GUI mode 1 week ago
scripts Added AppImage-Qt as well as script to build this AppImage-Qt. 1 day ago
.gitignore Updated ".gitignore" 1 month ago
CHANGELOG.md Updated ChangeLog 7 days ago
README.md Added Qt-AppImage as well as script for building this Qt-AppImage 1 day ago
org.codeberg.ralfhersel.youplay.metainfo.xml v0.43 3 months ago
org.codeberg.ralfhersel.youplay.yml v0.43 3 months ago
requirements.txt Added requirements for PIP 1 month ago
requirements_qt.txt Switched Qt-fork from PyQt6 to PySide6 1 week ago
youplay.desktop v0.44 1 month ago
youplay.desktop.flatpak v0.44 1 month ago
youplay.desktop.python v0.44 1 month ago
youplay.py Fixed wrong comment-ending section 1 week ago
youplay.sh v0.27 2 years ago
youplay.svg v0.19 2 years ago
youplay_qt.py Qt-port: Added some more keyboard shortcuts 1 week ago
youplay_v0.38_GTK3_x86_64.AppImage Added AppImage-Qt as well as script to build this AppImage-Qt. 1 day ago
youplay_v0.44_GTK4_x86_64.AppImage Added AppImage-Qt as well as script to build this AppImage-Qt. 1 day ago
youplay_v0.45_GTK4_x86_64.AppImage Added AppImage-Qt as well as script to build this AppImage-Qt. 1 day ago
youplay_v0.45_Qt6_x86_64.AppImage Added AppImage-Qt as well as script to build this AppImage-Qt. 1 day ago

README.md

Logo Welcome to YouPlay

Do you love music, but hate restrictions?

With YouPlay you can search for whatever music in your mind. It will list a number of matching songs from YouTube. You can listen to it and YouPlay will download it as an mp3 file.

YouPlay in GUI-mode

YouPlay Screenshot GUI

YouPlay in CLI-mode

YouPlay Screenshot CLI

Installation

You can install the Python-Script, generate a Flatpak or try the AppImage:

  • I recommend to install YouPlay manually as described in the next chapter.

  • A Flatpak package is ready, but not distributed to Flathub.org because I don't want to feed Microsofts GitHub, which is required for Flathub.org publications. All files for the Flatpak are available in this repository, but you need to know how to build a Flatpak.

  • J.r maintains an AUR package

  • Prof. P. created AppImages for various versions: check the AppImage files

Manual Installation

This installation method is still the preferred one, because it is easy and has the smallest installation size. Run these commands in a terminal:

git clone https://codeberg.org/ralfhersel/youplay.git
cd youplay

Than install these packages with the package manager of your GNU/Linux distribution:

mpv, libmpv1, ffmpeg, python3-pip

On Debian-based systems you can do this with one command:

sudo apt install mpv libmpv1 ffmpeg python3-pip

On Arch-based systems:

sudo pacman -S mpv ffmpeg python-pip

On Fedora-based systems:

sudo dnf install mpv mpv-libs ffmpeg pip3

Now install the necessary Python libraries with:

  • pip install -r requirements.txt

Last steps:

  • Make youplay.py and youplay.sh executable in your file manager
  • Change the paths (Exec and Icon) in youplay.desktop to your paths (e.g.: /home/yourpath/youplay). Please replace the Exec and Icon settings with absolute paths to your YouPlay directory. Example: Exec=/home/ralf/dev/youplay/youplay.sh -g Icon=/home/ralf/dev/youplay/youplay.svg
  • Copy youplay.desktop to /home/user/.local/share/applications

Test it:

  • GNOME and KDE-Plasma: SUPER + youplay

  • Terminal: navigate to /home/user/[your_script_folder]/youplay/ Run it with: ./youplay.sh If you get GUI or TUI depends on the settings in youplay.sh, -g or not.

AppImage Installation

Thanks to Prof.P, there is an AppImage available. This image works on several desktop environments (Plasma, GNOME, LXQt, Cinnamon, MATE) if Gtk4 and Libadwaita are available. Here are commands to install them:

  • Arch Plasma: sudo pacman -S gtk4 libadwaita

  • Fedora Plasma: sudo dnf install gtk4 libadwaita

You can download the AppImage file, make it executable and run it. If you need a better integration in the GNOME-Desktop, take a look at AppImageLauncher. Install it before you launch the AppImage with AppImageLauncher.

There is also an older AppImage available which is based on Gtk3, in case your distribution does not support Gtk4 and Libadwaita. The features are almost the same.

Qt-port Installation

The Qt-port version uses the Python-bindings for the Qt GUI-Toolkit.

Install the necessary Python libraries with:

  • pip install -r requirements_qt.txt

  • Make youplay_qt.py executable in your file manager

  • Run it with: ./youplay_qt.py -g

Operation Instructions

YouPlay supports two modes: CLI (command line mode) and GUI (graphical mode).

You can start YouPlay in CLI mode like this:

  • Navigate in a terminal to your YouPlay directory: cd /home/blabla/youplay

  • ./youplay.py

  • ./youplay.py --help

  • ./youplay.py songtitle

All other options will be shown interactively.

You can also start YouPlay in GUI mode:

  • Navigate in a terminal to your YouPlay directory: cd /home/blabla/youplay
  • ./youplay.sh
  • or from your application menu or launcher (this requires youplay.desktop with adapted paths, copied to /home/user/.local/share/applications/)

When the GUI shows up, you can enter a song title (min 4 characters) that you want to listen to. The App will present a list of 10 matching songs from Youtube. Select one or doubleclick to start downloading and playing it. All songs that you are listened to, are stored as mp3 files in a subfolder named 'youplay' under your standard music folder in home. A song, that was already downloaded, will not be downloaded again, as long as the file exists in the 'youplay' subfolder. You can show and play all downloaded songs with the SONG button. Just enter another search term to return to the search list.

Problems

Since Youtube changes the API every now and then, it is recommended to update yt-dlp regularly:

yt-dlp -U

License

Author: Ralf Hersel

License: GPL3

Repository: https://codeberg.org/ralfhersel/youplay.git

Contact

ralf.hersel@gmx.net