Video downloader mit GUI : yt-dlp

Die installation von yt-dlp ist recht simpel :

sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp

 
Ausführungsrechte vergeben: Damit der Benutzer das Programm auch starten darf, musst du die Datei ausführbar machen:
 
sudo chmod a+rx /usr/local/bin/yt-dlp
 

Ein video im Terminal downloaden :

yt-dlp https://youtu.be/FJ3N_2äl6R-o

Hin und wieder sollte man das Programm yt-dlp updaten und auf den neuesten Stand bringen :

sudo yt-dlp -U

---------  Cut  ----------

Da ich von Natur aus ein bequemer Mensch bin und zu faul zum Tppen bin, habe ich mir ein Zenity (bash) skript zusammengeklöppelt, welches eine komfortable GUI bietet.

Das skript reicht die Download Url, samt einiger Video - Parameter direkt an yt-dlp weiter. Der default Zielordner ist ~/Downloads .  

#!/bin/bash

# 0. Update-Abfrage vorab
zenity --question --title="yt-dlp Update" --text="Möchtest du yt-dlp vor dem Herunterladen auf die neueste Version aktualisieren?" --ok-label="Ja, aktualisieren" --cancel-label="Nein, weiter zum Download" 2>/dev/null

# Wenn "Ja" geklickt wurde (Exit-Status 0)
if [ $? -eq 0 ]; then
    # Passwort für sudo über ein grafisches Zenity-Fenster abfragen
    PASS=$(zenity --password --title="Administrator-Passwort" --text="Bitte gib dein Passwort für das sudo-Update ein:" 2>/dev/null)
    
    if [ -n "$PASS" ]; then
        # Update mit sudo ausführen und grafischen Ladebalken anzeigen
        echo "$PASS" | sudo -S yt-dlp -U | zenity --progress --title="yt-dlp Update" --text="Suche nach Aktualisierungen und installiere...\nBitte warten." --pulsate --auto-close 2>/dev/null
        
        # Kurze Bestätigung
        zenity --info --title="Update abgeschlossen" --text="Das Update wurde beendet. Es geht nun weiter zum Download." 2>/dev/null
    fi
fi

# 1. Dialog: Abfrage der YouTube-URL (nervige GTK-Warnungen stummschalten)
URL=$(zenity --entry --title="yt-dlp Downloader" --text="Bitte gib die Download-URL ein:" 2>/dev/null)

if [ -z "$URL" ]; then
    exit 0
fi

# 2. Dialog: Info
zenity --info --title="Download startet" --text="Das Video wird in 'Downloads' gespeichert.\n\nklicke auf OK, um zu starten." 2>/dev/null

cd ~/Downloads || exit

# 3. Download
yt-dlp -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" --no-warnings "$URL" | zenity --progress --title="yt-dlp Downloader" --text="Video wird heruntergeladen... Bitte warten." --pulsate --auto-close 2>/dev/null

# 4. Erfolgsmeldung
if [ ${PIPESTATUS[0]} -eq 0 ]; then
    zenity --info --title="Fertig!" --text="Das Video wurde erfolgreich in 'Downloads' gespeichert." 2>/dev/null
else
    zenity --error --title="Fehler" --text="Beim Herunterladen ist ein Fehler aufgetreten." 2>/dev/null
fi

Das skript heisst bei mir yt-dlp-download.sh .

Das Skript fragt dich beim start zuerst : "Möchtest du yt-dlp aktualisieren?"

Klickst du auf "Nein", geht es nahtlos wie gewohnt zur URL-Eingabe weiter. Klickst du auf "Ja", öffnet sich ein sicheres Zenity-Passwortfenster für den sudo-Befehl ( das muß sein, weil yt-dlp nach  /usr/local/bin/ installiert wurde), das Update läuft mit einem Ladebalken durch, und danach startet direkt der Dialog zur eingabe der Download Url.

Jetzt kopiert man nur noch die direke URL zum Video in das Textfeld hinein und klickt auf OK.....

Zurücklehnen und abwarten ..... 

..Finish......