Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

mpv Hook für yt-dlp

89 views
Skip to first unread message

Andreas Kohlbach

unread,
Feb 23, 2023, 5:09:23 PM2/23/23
to
Früher nutzte ich youtube-dl, was aber wohl nicht mehr weiterentwickelt
wird, dass ich auf yt-dlp umstieg. Der Media-Spieler mpv konnte
youtube-dl einbinden, um Videos ohne sie manuell herunterzuladen zu
spielen. yt-dlp kann das offenbar nicht.

Nach etwas Suchen fand ich die Zeile

script-opts=ytdl_hook-ytdl_path=/usr/bin/yt-dlp

für die Konfigurationsdatei von mpv. Rufe ich yt-dlp aber mit

mpv --ytdl-format=18 https...

auf, bricht es ab und wirft

[ytdl_hook] script-opts: unknown key ytdl_path, ignoring
[ytdl_hook]
[ytdl_hook] youtube-dl failed: not found or not enough permissions Failed to recognize file format.
^^^^^^^^^^^^^^^^^

Abhilfe soll wohl ein symbolischer Link zu /usr/bin/youtube-dl (was vor
seiner Deinstallation das Executable war) sein. Aber das scheint mir
nicht "sauber" genug. ;-)

Was auch funktioniert ist beispielsweise

yt-dlp -f 18 -o - https://www.youtube.com/watch?v=axByehkmD4s| mpv -

Kennt mpv aber nichts, was yt-dlp *selbst* kann?

F'up2 de.comp.os.unix.apps.misc.
--
Andreas

https://news-commentaries.blogspot.com/

Jens Schüßler

unread,
Feb 24, 2023, 10:40:07 AM2/24/23
to
* Andreas Kohlbach <a...@spamfence.net> [23-02-23 22:09]:
> Früher nutzte ich youtube-dl, was aber wohl nicht mehr weiterentwickelt
> wird, dass ich auf yt-dlp umstieg. Der Media-Spieler mpv konnte
> youtube-dl einbinden, um Videos ohne sie manuell herunterzuladen zu
> spielen. yt-dlp kann das offenbar nicht.
>
> Nach etwas Suchen fand ich die Zeile
>
> script-opts=ytdl_hook-ytdl_path=/usr/bin/yt-dlp
>
> für die Konfigurationsdatei von mpv. Rufe ich yt-dlp aber mit
>
> mpv --ytdl-format=18 https...
>
> auf, bricht es ab und wirft
>
> [ytdl_hook] script-opts: unknown key ytdl_path, ignoring
> [ytdl_hook]
> [ytdl_hook] youtube-dl failed: not found or not enough permissions Failed to recognize file format.

mpv -v --script-opts=ytdl_hook-ytdl_path=/usr/bin/yt-dlp --ytdl-format=18 https://www.youtube.com/watch?v=axByehkmD4s

funktioniert hier problemlos, mit Eintrag in ~/.config/mpv/mpv.conf
ebenso

Christian Garbs

unread,
Feb 24, 2023, 12:24:04 PM2/24/23
to
Mahlzeit!

In de.comp.os.unix.apps.misc Andreas Kohlbach <a...@spamfence.net> wrote:

> Abhilfe soll wohl ein symbolischer Link zu /usr/bin/youtube-dl (was vor
> seiner Deinstallation das Executable war) sein. Aber das scheint mir
> nicht "sauber" genug. ;-)

Ach, so unsauber ist das nicht :) Genau das habe ich gerade gemacht:
~/bin/youtube-dl durch einen Symlink auf das frisch installierte yt-dl
ersetzt.

In meiner laufenden irssi-Session bekomme ich jetzt wieder die Titel
von verlinkten Videos angezeigt, die beiden Binaries sind also
halbwegs Parameter-kompatibel.

Ich nutze dafür das hier:
https://github.com/mmitch/irssi-scripts/blob/master/video-title.pl

(was nicht sauber neutralisiert ist, da steht mein $HOME fest
eingetragen drin, pfui!)

Gruß
Christian
--
....Christian.Garbs....................................https://www.cgarbs.de
"Internet ist das Ding mit den Kabeln
- Usenet ist das Ding mit den Menschen" (Hubert Partl)

Christian Garbs

unread,
Feb 25, 2023, 10:22:29 AM2/25/23
to
Mahlzeit!

Martin Schnitkemper <news.trash...@spamgourmet.com> wrote:
> Am Fr, 24.02.2023 um 17:24 schrieb Christian Garbs:

>> > Abhilfe soll wohl ein symbolischer Link zu /usr/bin/youtube-dl (was vor
>> > seiner Deinstallation das Executable war) sein. Aber das scheint mir
>> > nicht "sauber" genug. ;-)
>>
>> Ach, so unsauber ist das nicht :)
>
> Eigentlich doch, weil /usr/bin der Paketverwaltung gehört. Wenn nämlich das
> "youtube-dl"-Paket doch mal wieder aus den offiziellen Repos installiert
> werden soll, wird es zu einem Fehler führen, weil die Datei des eigenen
> Symlinks der Paketverwaltung nicht bekannt ist.

Wieviele bist Du denn auf dem Rechner, dass das relevant ist?

Ich habe gar kein Paket installiert und jahrelang mit dem einmalig
heruntergeladenem youtube-dl in $HOME/bin gelebt, dass ich ab und zu
per 'youtube-dl -U' aktualisiert habe (und anschließend den Shebang
von python auf python3 korrigieren musste).

Jetzt ist $HOME/bin/youtube-dl halt der Symlink auf yt-dl (in einem
Python-venv), damit ich nicht alle meine Skripte und Shellfunktionen
durchforsten und auf yt-dl umstellen muss.

Gruß
Christian
--
....Christian.Garbs....................................https://www.cgarbs.de
Benjamin Blümchen: Grottenblöde Comic-Figur für Kinder. Wurde knapp
vor der Jahrtausendwende aber von den Teletubbies überholt.

Jens Schüßler

unread,
Feb 26, 2023, 8:40:04 AM2/26/23
to
* Andreas Kohlbach <a...@spamfence.net> [24-02-23 21:43]:
> script-opts=ytdl_hook-ytdl_path=/usr/bin/yt-dlp hatte ich ja bereits in
> der Config. Das -v erhöht ja nur den Loglevel. Geht weiterhin nicht.

*Ich* weiß was -v tut. War nur ein Zaunpfahl eventuell mal genauere Logs zu
liefern bzw. sich anzuschauen.
>
> Kannst Du zur Sicherheit mal Deine Zeile aus der config posten, dass ich
> es direkt damit versuche?

Die sieht exakt so aus wie deine, except anderer Pfad, weil tagesaktuelle
Versionen von yt-dlp immer zu bevorzugen sind. Der ein oder andere
extractor gibt schon mal zwischendurch auf wenn sich
Webseiten ändern.

Christian Garbs

unread,
Feb 26, 2023, 4:19:32 PM2/26/23
to
Mahlzeit!

Andreas Kohlbach <a...@spamfence.net> wrote:

> [1] Gibt es Repos, die aktuellere Versionen von yt-dlp haben? Youtube
> funktioniert schon einen Monat mehr, und es kam noch kein Update über
> Debian rein.

Die Software muss laufend aktualisiert werden - die kann ja noch viele
weitere Webseiten neben Youtube, da ändert sich ständig irgendwas.

Sowas würde ich mir unter Debian gar nicht erst per Paketverwaltung
installieren wollen, weil das Paket in Stable garantiert laufend
veraltet sein wird.

Deshalb laufe ich auch in keine Probleme mit /usr/local/bin oder
"Paket überschreibt mein Update" - das wird "privat" für meinen
einsamen User installiert und gut is.

Folgenden Dreizeiler bekam ich dazu zugeworfen:

$ python3 -mvenv --clear ~/venv/yt-dlp
$ ~/venv/yt-dlp/bin/pip install yt-dlp
$ ~/venv/yt-dlp/bin/yt-dlp

Ich musste vorab nur einmal 'python3-venv' installieren.

Gruß
Christian
--
....Christian.Garbs....................................https://www.cgarbs.de
In addition, I have yet to hear an explanation as to why sparking and smoking
computers on Star Trek always seem to cause people to fall over a nearby
railing. (Howard Crosby Warren)
0 new messages