youtube-dl konnte die Signatur nicht extrahieren

42

Es wird als sehr nützlich angesehen, youtube-dlSoftware zum Herunterladen von Röhren zu verwenden.

Eine Meldung wird angezeigt und funktioniert nicht mehr. Die folgende Meldung wird angezeigt.

ERROR: Signature extraction failed: Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 479, in _decrypt_signature
    video_id, player_url, s
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 383, in _extract_signature_function
    res = self._parse_sig_js(code)
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 454, in _parse_sig_js
    u'Initial JS player signature function name')
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 391, in _search_regex
    raise RegexNotFoundError(u'Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract Initial JS player signature function name; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.
; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.

Was soll ich tun, um fortzufahren?

Taeyeon
quelle
1
In der Meldung heißt es eindeutig: "Bitte melden Sie dieses Problem auf yt-dl.org/bug " Warum tun Sie das nicht?
Rinzwind
3
Make sure you are using the latest version; type youtube-dl -U to update.Hast du das gemacht?
David Foerster
Lieber David Foerster, ich habe versucht, eine Nachricht zu erhalten: 'Sie haben anscheinend youtube-dl mit einem Paketmanager, pip, setup.py oder einem Tarball installiert. Bitte benutzen Sie das zum Aktualisieren. '
Taeyeon
@HELLOVENUS Du hast Recht, youtube-dl -Ufunktioniert nicht mehr. Die Anweisungen zum Aktualisieren von youtube-dl auf die neueste Version finden Sie unter: youtube-dl funktioniert nicht . Übrigens funktioniert es auch, wenn Sie pip install --upgrade youtube-dlanstelle von verwenden, pip install --upgrade youtube_dlund es funktioniert auch für eine lokale Installation (dh ohne Verwendung von sudo), die in einer virtuellen Python-Umgebung durchgeführt wird.
Karl

Antworten:

66

Sie erhalten diesen Fehler:

Unable to extract Initial JS player signature function name

... weil youtube-dl nicht aktuell ist. Google hat die Art und Weise, wie auf YouTube-Videos zugegriffen wird, jetzt häufiger geändert als vor einigen Jahren. Um youtube-dl auf dem neuesten Stand zu halten, muss es auch häufiger aktualisiert werden. Um die neueste Version von youtube-dl zu installieren, öffnen Sie das Terminal und geben Sie Folgendes ein:

sudo apt remove youtube-dl  
sudo apt install python-pip
pip install --user youtube-dl

So aktualisieren Sie youtube-dl auf die neueste Version:

sudo pip install --upgrade youtube-dl  

oder

sudo snap install youtube-dl # start with snap run youtube-dl     

Es ist verrückt, wie oft Google den Code für den Zugriff auf Videos auf YouTube geändert hat. Ich habe mich anscheinend erst vor ein paar Monaten an die Aktualisierung von youtube-dl erinnert, konnte das ausgewählte Video jedoch erst dann herunterladen, wenn ich es aktualisiert habe.

youtube-dl ist ein Python-Programm, sodass Sie die neueste Version von youtube-dl auch lokal in einer virtuellen Python-Umgebung installieren können. Informationen zum Einrichten und Verwenden einer virtuellen Python-Umgebung finden Sie unter Einrichten und Verwenden einer virtuellen Python-Umgebung in Ubuntu. .

karel
quelle
Hat bei mir nicht funktioniert :-(
Philippe Gachoud
2
Für mich musste ich zuerst "sudo apt-get entfernen youtube-dl" deinstallieren und dann den Befehl verwenden, um mit pip zu installieren
Diego Andrés Díaz Espinoza
4

Die einzige Möglichkeit, es zum Laufen zu bringen, war die neueste Version (für mich auf debian) mit

sudo wget https://yt-dl.org/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+x /usr/local/bin/youtube-dl
hash -r

aus dem Github Repo

Philippe Gachoud
quelle
3

Es ist mir einmal passiert. Wie in den Kommentaren erwähnt, musst du dein System aktualisieren oder einfach nur YouTube-dl. Ist auch gut verwenden Anführungszeichen wie folgt in diesem Beispiel:

youtube-dl "https://www.youtube.com/watch?v=n6AL-WpgoFw"
E_Angel
quelle
Dieses Zeichen, das ¨Sie in Ihrem Beitrag verwendet haben, ist nicht sichtbar. Ersetzen Sie es durch 'oder ".
Afzalex
arbeitete für mich;)
Prateek Joshi
2

Ich hatte das gleiche Problem und das löste es

 sudo -H pip install --upgrade youtube-dl

und versuche den Link in " link" zu setzen

Sami Switch
quelle
1

Nur so funktioniert es bei mir!

Wenn ich jedes Mal stolpere, nehme ich die neue Musik und hier ist, wie man youtube-dl von pip installiert.

Wenn Sie es von Repo installieren, kann es die Musik nicht herunterladen, beschwert sich immer ! Also benutze dies, um spongebob relaxing masterpeace herunterzuladen:

!pip install --upgrade youtube-dl 
!youtube-dl -x --audio-format mp3 https://www.youtube.com/watch?v=oq526_37wc0
prosti
quelle
0

Keine dieser Antworten hat bei mir funktioniert. Ich habe diese Sache Arbeit mit der Anweisung im Fehler gegeben: -

sudo youtube-dl -U

Ich weiß nicht genau, warum diese Art der Aktualisierung funktioniert hat und nicht den Befehl zum Aktualisieren.

Vicrobot
quelle
sudo youtube-dl -Uhat auf Ubuntu 18.04 nicht funktioniert. Es gab diese Ergebnisse: sudo youtube-dl -U Usage: youtube-dl [OPTIONS] URL [URL...] youtube-dl: error: youtube-dl's self-update mechanism is disabled on Debian. Please update youtube-dl using apt(8). See https://packages.debian.org/sid/youtube-dl for the latest packaged version.aber sudo snap install youtube-dl-casepttaten die Arbeit an 18.04.
Karl