Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?
30.07.2021, 00:18:56

.
Einloggen mit Benutzername, Passwort und Sitzungslänge

Mitglieder
  • Mitglieder insgesamt: 25790
  • Letzte: Linux-Ofi
Statistiken
  • Beiträge insgesamt: 747463
  • Themen insgesamt: 60121
  • Heute online: 423
  • Am meisten online: 2287
  • (22.01.2020, 19:20:24)
Benutzer Online

Autor Thema:  youtube-dl Helferscript  (Gelesen 452 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

youtube-dl Helferscript
« am: 03.06.2021, 19:21:50 »
Hallo zusammen,

heute wollte ich wieder mal ein Video Laden und es hat mich genervt, dass ich mir dann immer das Terminal aufrufen muss und alles manuell eingeben muss. Sicherlich gibt´s auch die Möglichkeit sich die Config anzupassen, aber manchmal will ich bestimmte Versionen eines Videos laden und dann tippt man sich ja gefühlt doch zu Tode. Also hab ich heute mal die Zeit genutzt und selbst ein "Helfer-Script" geschrieben. Ja, es mag im www auch die GUI geben, aber ich wollte es simpel von der Bedienung her.

Die einzige Voraussetzung ist zenityZumindest auf meinem LM20.1 Cinnamon ist es installiert.

Das automatische Installieren der wichtigsten Komponenten kann auch über das Script erledigt werden. Falls also youtube-dlffmpegoderwget nicht installiert ist, wird es erkannt und installiert.

Ich hab´s mir auf nen Shortcut gelegt und kann so relativ schnell das Video oder das Audio runterladen.


EDIT:


Zitat
V1.0        Initial Version

V1.1        "Video automatisch" hinzugefügt

V1.1-4      Anpassung an Video-/ Audiostring von ZDF Mediathek [cut -c 1-3] -> [cut -d" " -f1]
            kleinere Anpassungen"

V1.1-4.1    Übersichtlichkeit - Kommentare ergänzt
            PROG1 und $PROG1 entfernt "Henne-Ei-Problem"

V1.1-4.3    Progressbar bei Installation der Abhängigkeiten

V1.1-4.4    Check der Installation der Abhängigkeiten
            Fehlerdialog nach Fehlerhafter Installation der Abhängigkeiten

V1.1-5.0    youtube-dl Updateroutine eingebaut

V1.1-5.1    mkdir -p Falls Parents nicht vorhanden

V1.1-5.2    ???

V1.1.5-3    [grep -v] -> [grep -E -w]

V1-1-5.4    Video Title als Title beim Downloadfenster



Code im Codeblock
#!/bin/sh

##### Version 1.1-5.4 #####

##### Variablen #####

PROGRAMM_VERSION=1.1-5.4
VIDEO_DIR=~/Videos/Youtube/
AUDIO_DIR=~/Musik/Youtube/
INSTALL=false
INSTALL_YTDL=false
PASSWORD=""
PROG2=""
PROG3=""
PROG4=""
YTU2D=""
YTDL_USER=""
YTDL_ROOT=""
UTDL_UPDATE=""
VIDEO_TEXT=""


##### Abhänigkeiten Check vor Installation #####
if which ffmpeg >/dev/null
then echo "ffmpeg ist vorhanden"
else echo "ffmpeg ist NICHT vorhanden" && PROG2=ffmpeg && INSTALL=true
fi

if which wget >/dev/null
then echo "wget ist vorhanden"
else echo "wget ist NICHT vorhanden" && PROG3=wget && INSTALL=true
fi

if which youtube-dl >/dev/null
then echo "yt-dl ist vorhanden"
else echo "yt-dl ist NICHT vorhanden" && PROG4=youtube-dl && INSTALL_YTDL=true && INSTALL=true
fi

echo Abhängigkeiten installieren? $INSTALL
echo YT-DL installieren? $INSTALL_YTDL


##### Installationsscript #####
if [ "$INSTALL" = "true" ]
then
    if zenity --question --title "Benötigte Pakete Fehlen!" --text "Sollen die Pakete jetzt installiert werden?

    $PROG2
    $PROG3
    $PROG4" --width 300
    then
        ##### Passwort Abfrage #####
        PASSWORD=$(zenity --entry --hide-text --text "Bitte Passwort eingeben:" --title "Sudo Passwort für Installation")
            if [ "$PASSWORD" = "" ]
            then exit 0
            ##### Installation Abhängigkeiten #####
            else echo "$PASSWORD" | sudo -S -s -- apt-get install $PROG2 $PROG3 -y | zenity --progress --title "Installiere..." --text "Ich arbeite ja dran..." --pulsate --width=300 && echo "Abhängigkeiten installiert" && zenity --info --title "Fertig" --text "Abhängigkeiten installiert"
                ##### Installation youtube-dl #####
                if [ "$INSTALL_YTDL" = "true" ]
                then echo "$PASSWORD" | sudo -S -s -- wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl | zenity --progress --title "Installiere..." --text "Ich arbeite ja dran..." --pulsate --width=300 && echo "$PASSWORD" | sudo -S -s -- chmod a+rx /usr/local/bin/youtube-dl && echo "yt-dl installiert" && zenity --info --title "Fertig" --text "youtube-dl installiert"
                fi
            PASSOWRD=""
            sudo -k
            fi
    else echo "dann halt nicht" && exit 0
    fi   
fi


##### Abhänigkeiten Check nach Installation #####
if which ffmpeg >/dev/null
then echo "ffmpeg ist vorhanden"
else echo "Installation ist Fehlgeschlagen. ABBRUCH" && zenity --error title "Fehler bei Installation   FFMPEG" --text "Fehler bei Installation. ABBRUCH\!\!\!" && exit 0
fi

if which wget >/dev/null
then echo "wget ist vorhanden"
else echo "Installation ist Fehlgeschlagen. ABBRUCH" && zenity --error title "Fehler bei Installation   WGET" --text "Fehler bei Installation. ABBRUCH\!\!\!" && exit 0
fi

if which youtube-dl >/dev/null
then echo "yt-dl ist vorhanden"
else echo "Installation ist Fehlgeschlagen. ABBRUCH" && zenity --error title "Fehler bei Installation   YT-DL" --text "Fehler bei Installation. ABBRUCH\!\!\!" && exit 0
fi


##### Check ob YT_DL aktuell ist #####
YTU2D=$(youtube-dl -U | grep youtube-dl | cut -c 1-24)
echo "-$YTU2D-"
if [ "$YTU2D" = "youtube-dl is up-to-date" ]
then UTDL_UPDATE=nein && echo "yt-dl okay. weiter gehts"
else    (if which youtube-dl != "/usr/local/bin/youtube-dl" && UTDL_UPDATE=ja
        then UTDL_USER=1 && echo "yt-dl nicht im root"
        else UTDL_ROOT=1 && echo "yt-dl im root"
        fi)
fi
echo "Update Nötig? $UTDL_UPDATE"
echo "USER= $UTDL_USER"
echo "ROOT= $UTDL_ROOT"


##### YT_DL Update Routine #####
if [ "$UTDL_UPDATE" = "ja" ]
then    if [ "$UTDL_USER" = "1" ]
    ##### UPDATE YT_DL USER #####
        then zenity --info --title "Update Nötig" --text "youtube-dl benötigt ein Update.
Wird jetzt ausgeführt." --witdh=300youtube-dl -U && youtube-dl -U | zenity --progress --title "Installiere..." --text "Ich arbeite ja dran!..." --pulsate --width=300 && echo "youtube-dl Update installiert" && zenity --info --title "Fertig" --text "Update installiert"
    ##### UPDATE YT_DL ROOT #####
        else zenity --info --title "Update Nötig" --text "youtube-dl benötigt ein Update.
Wird jetzt ausgeführt." && PASSWORD=$(zenity --entry --hide-text --text "Bitte Passwort eingeben:" --title "Sudo Passwort für Update")
            if [ "$PASSWORD" = "" ]
            then exit 0
            else echo "$PASSWORD" | sudo -S -s -- youtube-dl -U | zenity --progress --title "Installiere..." --text "Ich arbeite ja dran!..." --pulsate --width=300 && echo "youtube-dl Update installiert" && zenity --info --title "Fertig" --text "Update installiert"
            fi
        fi
fi



##### YT Link #####
LINK=$(zenity --entry --title "YT Link einfügen" --text "Hier den Link einfügen" --width=600)
VIDEO_TEXT=$(youtube-dl --get-filename -o '%(title)s' $LINK)
echo "Link ist $LINK"
echo "Video name ist $VIDEO_TEXT"
if [ "$LINK" = "" ]
then echo "Link leer. Programm beendet" && exit 0
fi

##### Download Art #####
DL_TYPE=$(zenity --list --title "Video oder Audio?" --text "Was soll´s denn sein?" --column "Auswahl" --column "Typ" --radiolist TRUE "Video automatisch" FALSE "Video manuell" FALSE "Audio" --width=600 --height=300)
echo "Typ des Downloads ist $DL_TYPE"


##### AUDIO #####
mkdir -p $AUDIO_DIR
if [ "$DL_TYPE" = "Audio" ]
then
youtube-dl -c -o "$AUDIO_DIR%(title)s.%(ext)s" -f bestaudio -x --audio-format mp3 $LINK | zenity --progress --title "Downloading $VIDEO_TEXT..." --text "Ich arbeite ja dran!..." --pulsate --width=300
exit 0
fi

##### VIDEO automatisch #####
mkdir -p $VIDEO_DIR
if [ "$DL_TYPE" = "Video automatisch" ]
then
youtube-dl -c -o "$VIDEO_DIR%(title)s.%(ext)s" $LINK | zenity --progress --title "Downloading $VIDEO_TEXT..." --text "Ich arbeite ja dran..." --pulsate --width=300
exit 0
fi




##### VIDEO manuell #####
mkdir -p $VIDEO_DIR
if [ "$DL_TYPE" = "Video manuell" ]
then

###### Video ID ermitteln ######
VIDEO_ID=$(youtube-dl -F $LINK | grep -E -w 'mp4|webm|flv' | zenity --list --column "Video Format" --width=750 --height=600 | cut -d" " -f1)
echo "Videi ID ist $VIDEO_ID"
    if [ "$VIDEO_ID" = "" ]
    then
    exit 0
    fi

###### Audio ID ermitteln #####
AUDIO_ID=$(youtube-dl -F $LINK | grep 'audio only' | zenity --list --column "Audio Format" --width=750 --height=600 | cut -d" " -f1)
echo "Audio ID ist $AUDIO_ID"
    if [ "$AUDIO_ID" = "" ]
    then
    exit 0
    fi

##### YT-DL Download #####
youtube-dl -c -o "$VIDEO_DIR%(title)s.%(ext)s" -f $VIDEO_ID+$AUDIO_ID $LINK | zenity --progress --title "Downloading $VIDEO_TEXT..." --text "Ich arbeite ja dran..." --pulsate --width=300
exit 0
fi
« Letzte Änderung: 05.06.2021, 09:18:43 von launacorp »

Re: youtube-dl Helferscript
« Antwort #1 am: 03.06.2021, 20:00:03 »
Off-Topic:
Da hat wohl jemand die Videos von Knietief linux auf yt gesehen und die Skripte weiter geschrieben.  ;)

Re: youtube-dl Helferscript
« Antwort #2 am: 03.06.2021, 20:05:38 »
"weiter geschrieben" will ich nicht sagen. Eher die 2 Videos gesehen und das dann als Ansatz genommen und von Scratch neu selbst geschrieben. Eigentlich wolte ich die ja Laden und mich ins Bett legen und die schauen. Is dann halt doch anders gekommen als geplant  :P

Re: youtube-dl Helferscript
« Antwort #3 am: 03.06.2021, 21:31:14 »
Was macht das Script genau ;D

Re: youtube-dl Helferscript
« Antwort #4 am: 03.06.2021, 21:35:07 »
Einfach mal testen Nudels.

Aber es macht genau das , was es soll. Youtube Videos runterladen bzw bei YT Audio-Onlys Laden und als MP3 speichern

Re: youtube-dl Helferscript
« Antwort #5 am: 03.06.2021, 22:52:24 »
@launacorp
Feature request: Als nächstes vielleicht noch ein youtube-dl -U einbauen.
Aber Vorsicht, wenn dein Skript youtube-dl nicht installiert hat, weil youtube-dl bereits installiert ist, kann youtube-dl auch als user installiert sein (also nicht von root in /usr/local/bin/) und sollte dann auch nicht von root aktualisiert werden.

Re: youtube-dl Helferscript
« Antwort #6 am: 03.06.2021, 22:56:38 »
Ich denke mal drüber nach. Ich hab´s mir aber aufgeschrieben als FR in meiner version_history.
Zumindest das Update von yt-dl sollte ich mit rein bringen.

EDIT:
BTW: Von Programmieren hab ich eigentlich so gut wie keine Ahnung. Das alles war mehr als 7Std Arbeit heute  :o

EDIT 2:
Ne Idee für den Update-Check hab ich aber schon
« Letzte Änderung: 03.06.2021, 23:00:47 von launacorp »

Re: youtube-dl Helferscript
« Antwort #7 am: 03.06.2021, 23:07:22 »
Ich denke mal drüber nach. Ich hab´s mir aber aufgeschrieben als FR in meiner version_history.
Zumindest das Update von yt-dl sollte ich mit rein bringen.
So dachte ich das. Wenn du das Terminal nicht bemühen möchtest, sollte dein Skript das youtube-dl Update anbieten. Das youtube-dl -U darfst du aber nicht zwingend mit sudo ausführen. Mein bereits installiertes youtube-dl liegt hier /home/<USERNAME>/bin/youtube-dl und gehört nicht root.

Re: youtube-dl Helferscript
« Antwort #8 am: 04.06.2021, 00:04:50 »
Liebe Leute, eine Frage von einem reinen Nutzer, wie bringe ich das Skript zum Laufen?

mfg -Lumpi -

Re: youtube-dl Helferscript
« Antwort #9 am: 04.06.2021, 00:32:25 »
Unter Cinnamon und Mate einen Rechtsklick auf die Datei und Eigenschaften, dann bei Zugriffsrechte das Häkchen setzen bei "Darf als Programm ausgeführt werden".
Anschließend nur nen Doppelklick auf die Datei und dann Ausführen wählen.

EDIT:
Wenn du dir *.sh.txt runter geladen hast, dann diese Datei Umbenennen und das ".txt" entfernen, damit der Name der Datei yt-dl-helper[Versionsnummer].sh ist.
« Letzte Änderung: 04.06.2021, 01:05:15 von launacorp »

Re: youtube-dl Helferscript
« Antwort #10 am: 04.06.2021, 00:36:59 »
@launacorp
Feature request: Als nächstes vielleicht noch ein youtube-dl -U einbauen.
Aber Vorsicht, wenn dein Skript youtube-dl nicht installiert hat, weil youtube-dl bereits installiert ist, kann youtube-dl auch als user installiert sein (also nicht von root in /usr/local/bin/) und sollte dann auch nicht von root aktualisiert werden.

Erledigt.

Allerdings wird bei Root-Installation von /usr/local/bin/youtube-dl ausgegangen !
Andernfalls wird es als User-Installation gewertet und das Update ohne Sudo durchgeführt

Re: youtube-dl Helferscript
« Antwort #11 am: 04.06.2021, 02:24:40 »
@launacorp
Bei der Ermittlung der Video ID:
M.E. ist grep -v 'mp4|webm|flv' hier nicht richtig. Was du möchtest ist egrep -w "mp4|webm|flv".
Das kannst du direkt mal im Terminal ausprobieren:
youtube-dl -F <URL>
youtube-dl -F <URL> | grep 'mp4|webm|flv'
youtube-dl -F <URL> | grep -v 'mp4|webm|flv'
youtube-dl -F <URL> | egrep -w "mp4|webm|flv"

Re: youtube-dl Helferscript
« Antwort #12 am: 04.06.2021, 02:36:09 »
Mal abgesehen davon, das ich gelesen habe, dass egrep nicht mehr benutzt wird/werden sollte und stattdessen grep -E...

hier mal die Ausgaben:
Zitat
youtube-dl -F <URL>
youtube-dl -F https://www.youtube.com/watch?v=vclvlQF8mZI
[youtube] vclvlQF8mZI: Downloading webpage
[info] Available formats for vclvlQF8mZI:
format code  extension  resolution note
249          webm       audio only tiny   50k , webm_dash container, opus @ 50k (48000Hz), 2.28MiB
250          webm       audio only tiny   68k , webm_dash container, opus @ 68k (48000Hz), 3.06MiB
251          webm       audio only tiny  126k , webm_dash container, opus @126k (48000Hz), 5.71MiB
140          m4a        audio only tiny  129k , m4a_dash container, mp4a.40.2@129k (44100Hz), 5.83MiB
160          mp4        256x144    144p   45k , mp4_dash container, avc1.4d400c@  45k, 30fps, video only, 2.06MiB
278          webm       256x144    144p   46k , webm_dash container, vp9@  46k, 30fps, video only, 2.12MiB
242          webm       426x240    240p   52k , webm_dash container, vp9@  52k, 30fps, video only, 2.35MiB
133          mp4        426x240    240p   85k , mp4_dash container, avc1.4d4015@  85k, 30fps, video only, 3.84MiB
243          webm       640x360    360p   76k , webm_dash container, vp9@  76k, 30fps, video only, 3.45MiB
134          mp4        640x360    360p  147k , mp4_dash container, avc1.4d401e@ 147k, 30fps, video only, 6.66MiB
244          webm       854x480    480p  113k , webm_dash container, vp9@ 113k, 30fps, video only, 5.11MiB
135          mp4        854x480    480p  222k , mp4_dash container, avc1.4d401f@ 222k, 30fps, video only, 10.03MiB
247          webm       1280x720   720p  235k , webm_dash container, vp9@ 235k, 30fps, video only, 10.63MiB
136          mp4        1280x720   720p  426k , mp4_dash container, avc1.64001f@ 426k, 30fps, video only, 19.21MiB
248          webm       1920x1080  1080p  294k , webm_dash container, vp9@ 294k, 30fps, video only, 13.24MiB
137          mp4        1920x1080  1080p  868k , mp4_dash container, avc1.640028@ 868k, 30fps, video only, 39.13MiB
18           mp4        640x360    360p  239k , avc1.42001E, 30fps, mp4a.40.2 (44100Hz), 10.77MiB
22           mp4        1280x720   720p  554k , avc1.64001F, 30fps, mp4a.40.2 (44100Hz) (best)

Zitat
youtube-dl -F <URL> | grep 'mp4|webm|flv'
launacorp@W530:~$ youtube-dl -F https://www.youtube.com/watch?v=vclvlQF8mZI | grep 'mp4|webm|flv'
launacorp@W530:~$

Zitat
youtube-dl -F <URL> | grep -v 'mp4|webm|flv'
youtube-dl -F https://www.youtube.com/watch?v=vclvlQF8mZI | grep -v 'mp4|webm|flv'
[youtube] vclvlQF8mZI: Downloading webpage
[info] Available formats for vclvlQF8mZI:
format code  extension  resolution note
249          webm       audio only tiny   50k , webm_dash container, opus @ 50k (48000Hz), 2.28MiB
250          webm       audio only tiny   68k , webm_dash container, opus @ 68k (48000Hz), 3.06MiB
251          webm       audio only tiny  126k , webm_dash container, opus @126k (48000Hz), 5.71MiB
140          m4a        audio only tiny  129k , m4a_dash container, mp4a.40.2@129k (44100Hz), 5.83MiB
160          mp4        256x144    144p   45k , mp4_dash container, avc1.4d400c@  45k, 30fps, video only, 2.06MiB
278          webm       256x144    144p   46k , webm_dash container, vp9@  46k, 30fps, video only, 2.12MiB
242          webm       426x240    240p   52k , webm_dash container, vp9@  52k, 30fps, video only, 2.35MiB
133          mp4        426x240    240p   85k , mp4_dash container, avc1.4d4015@  85k, 30fps, video only, 3.84MiB
243          webm       640x360    360p   76k , webm_dash container, vp9@  76k, 30fps, video only, 3.45MiB
134          mp4        640x360    360p  147k , mp4_dash container, avc1.4d401e@ 147k, 30fps, video only, 6.66MiB
244          webm       854x480    480p  113k , webm_dash container, vp9@ 113k, 30fps, video only, 5.11MiB
135          mp4        854x480    480p  222k , mp4_dash container, avc1.4d401f@ 222k, 30fps, video only, 10.03MiB
247          webm       1280x720   720p  235k , webm_dash container, vp9@ 235k, 30fps, video only, 10.63MiB
136          mp4        1280x720   720p  426k , mp4_dash container, avc1.64001f@ 426k, 30fps, video only, 19.21MiB
248          webm       1920x1080  1080p  294k , webm_dash container, vp9@ 294k, 30fps, video only, 13.24MiB
137          mp4        1920x1080  1080p  868k , mp4_dash container, avc1.640028@ 868k, 30fps, video only, 39.13MiB
18           mp4        640x360    360p  239k , avc1.42001E, 30fps, mp4a.40.2 (44100Hz), 10.77MiB
22           mp4        1280x720   720p  554k , avc1.64001F, 30fps, mp4a.40.2 (44100Hz) (best)

Zitat
youtube-dl -F <URL> | egrep -w "mp4|webm|flv"
youtube-dl -F https://www.youtube.com/watch?v=vclvlQF8mZI | egrep -w 'mp4|webm|flv'
249          webm       audio only tiny   50k , webm_dash container, opus @ 50k (48000Hz), 2.28MiB
250          webm       audio only tiny   68k , webm_dash container, opus @ 68k (48000Hz), 3.06MiB
251          webm       audio only tiny  126k , webm_dash container, opus @126k (48000Hz), 5.71MiB
160          mp4        256x144    144p   45k , mp4_dash container, avc1.4d400c@  45k, 30fps, video only, 2.06MiB
278          webm       256x144    144p   46k , webm_dash container, vp9@  46k, 30fps, video only, 2.12MiB
242          webm       426x240    240p   52k , webm_dash container, vp9@  52k, 30fps, video only, 2.35MiB
133          mp4        426x240    240p   85k , mp4_dash container, avc1.4d4015@  85k, 30fps, video only, 3.84MiB
243          webm       640x360    360p   76k , webm_dash container, vp9@  76k, 30fps, video only, 3.45MiB
134          mp4        640x360    360p  147k , mp4_dash container, avc1.4d401e@ 147k, 30fps, video only, 6.66MiB
244          webm       854x480    480p  113k , webm_dash container, vp9@ 113k, 30fps, video only, 5.11MiB
135          mp4        854x480    480p  222k , mp4_dash container, avc1.4d401f@ 222k, 30fps, video only, 10.03MiB
247          webm       1280x720   720p  235k , webm_dash container, vp9@ 235k, 30fps, video only, 10.63MiB
136          mp4        1280x720   720p  426k , mp4_dash container, avc1.64001f@ 426k, 30fps, video only, 19.21MiB
248          webm       1920x1080  1080p  294k , webm_dash container, vp9@ 294k, 30fps, video only, 13.24MiB
137          mp4        1920x1080  1080p  868k , mp4_dash container, avc1.640028@ 868k, 30fps, video only, 39.13MiB
18           mp4        640x360    360p  239k , avc1.42001E, 30fps, mp4a.40.2 (44100Hz), 10.77MiB
22           mp4        1280x720   720p  554k , avc1.64001F, 30fps, mp4a.40.2 (44100Hz) (best)

Zitat
youtube-dl -F <URL> | grep -E -w "mp4|webm|flv"
youtube-dl -F https://www.youtube.com/watch?v=vclvlQF8mZI | grep -E -w 'mp4|webm|flv'
249          webm       audio only tiny   50k , webm_dash container, opus @ 50k (48000Hz), 2.28MiB
250          webm       audio only tiny   68k , webm_dash container, opus @ 68k (48000Hz), 3.06MiB
251          webm       audio only tiny  126k , webm_dash container, opus @126k (48000Hz), 5.71MiB
160          mp4        256x144    144p   45k , mp4_dash container, avc1.4d400c@  45k, 30fps, video only, 2.06MiB
278          webm       256x144    144p   46k , webm_dash container, vp9@  46k, 30fps, video only, 2.12MiB
242          webm       426x240    240p   52k , webm_dash container, vp9@  52k, 30fps, video only, 2.35MiB
133          mp4        426x240    240p   85k , mp4_dash container, avc1.4d4015@  85k, 30fps, video only, 3.84MiB
243          webm       640x360    360p   76k , webm_dash container, vp9@  76k, 30fps, video only, 3.45MiB
134          mp4        640x360    360p  147k , mp4_dash container, avc1.4d401e@ 147k, 30fps, video only, 6.66MiB
244          webm       854x480    480p  113k , webm_dash container, vp9@ 113k, 30fps, video only, 5.11MiB
135          mp4        854x480    480p  222k , mp4_dash container, avc1.4d401f@ 222k, 30fps, video only, 10.03MiB
247          webm       1280x720   720p  235k , webm_dash container, vp9@ 235k, 30fps, video only, 10.63MiB
136          mp4        1280x720   720p  426k , mp4_dash container, avc1.64001f@ 426k, 30fps, video only, 19.21MiB
248          webm       1920x1080  1080p  294k , webm_dash container, vp9@ 294k, 30fps, video only, 13.24MiB
137          mp4        1920x1080  1080p  868k , mp4_dash container, avc1.640028@ 868k, 30fps, video only, 39.13MiB
18           mp4        640x360    360p  239k , avc1.42001E, 30fps, mp4a.40.2 (44100Hz), 10.77MiB
22           mp4        1280x720   720p  554k , avc1.64001F, 30fps, mp4a.40.2 (44100Hz) (best)

Ich gebe dir zumindest mal Recht, weil ein unbenötigter Teil der Ausgabe wegfällt. Ich werde das Morgen mal umsetzen und auch mit der Mediathek Gegentesten. Danke für den Hinweis.


EDIT:
Änderung Angepasst [grep -v] -> [grep -E -W]

EDIT 2:
Danke fürs Mitmachen  :D

Gute Nacht
« Letzte Änderung: 04.06.2021, 02:57:26 von launacorp »

Re: youtube-dl Helferscript
« Antwort #13 am: 04.06.2021, 03:23:34 »
@launacorp
Bevor ich zu meinem jetzigen Thema Hausautomation kam, habe ich mich sehr intensiv mit der Scripterstellung unter yad beschäftigt. Das ist die Alternative zu zenity, allerdings mit einem wesentlich größeren Umfang an Befehlen, welche zum Teil sogar identisch sind.
Ich habe mir damals schon einen Videodownloader mit dem Herzstück youtube-dl gebaut. Zum Downloaden verwende ich den folgenden Befehl:

youtube-dl -f 'bestvideo [ext = mp4] + bestaudio [ext = m4a] / bestvideo + bestaudio' --merge-output-format mp4 --newline -i -o "%(title)s.%(ext)s" "$1" 2>&1 >>

innerhalb des Scriptes, nachdem ich die URL vorher in eine Maske eingefügt habe. Extrahieren von Audio wird in einem separaten yad-Script erledigt. Einmal Spaß daran gefunden, habe ich mir eine umfangreiche Sammlung mit yad-scripten zugelegt. Das "Meisterstück" habe ich zusammen mit weiteren yad-interessierten Usern gebaut: Ein Multitranslator, der Wörter oder ganze Texte aus über 50 verschiedenen Sprachen übersetzt. Er greift auf Google, Bing und Yandex zurück.

Viel Spaß mit zenity (oder vielleicht auch yad). Aber Vorsicht: das Ganze kann auch schnell zur Sucht werden. ;) Ich meine gelesen zu haben, dass du schon 7 Stunden über dem Script gesessen hast. 👍👍👍

Note: Den Zielorder für den obigen Befehl musst du natürlich noch festlegen, am besten per Variable.


« Letzte Änderung: 04.06.2021, 03:30:49 von lmFriend »