youtube-dl n'a pas réussi à extraire la signature


42

Il est considéré comme très utile d’utiliser un youtube-dllogiciel de téléchargement de youtubes.

Un message est vu et il a cessé de fonctionner, ce qui suit.

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.

Que dois-je faire pour continuer?


1
Il est clairement indiqué dans le message: "merci de signaler ce problème sur yt-dl.org/bug " Alors pourquoi ne pas le faire?
Rinzwind

3
Make sure you are using the latest version; type youtube-dl -U to update.As-tu fais ça?
David Foerster

Cher David Foerster, j'ai essayé et reçu un message 'On dirait que vous avez installé youtube-dl avec un gestionnaire de paquets, pip, setup.py ou une archive. S'il vous plaît, utilisez-le pour mettre à jour. '
Ohmygirl

@ Hellovenus Vous avez raison youtube-dl -Une fonctionne plus. Les instructions pour mettre à jour youtube-dl vers la dernière version se trouvent à l' adresse suivante : youtube-dl ne fonctionne pas . btw cela fonctionne également si vous utilisez à la pip install --upgrade youtube-dlplace de pip install --upgrade youtube_dlet cela fonctionne également pour une installation locale (c'est-à-dire sans utiliser sudo) réalisée dans un environnement virtuel Python.
Karel

Réponses:


66

Vous obtenez cette erreur:

Unable to extract Initial JS player signature function name

... parce que youtube-dl n'est pas à jour. Google a changé la manière d'accéder aux vidéos YouTube plus fréquemment que ce n'était le cas il y a quelques années. Par conséquent, pour que YouTube-dl soit toujours à jour, il doit également être mis à jour plus fréquemment. Pour installer la dernière version de youtube-dl, ouvrez le terminal et tapez:

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

Pour mettre à niveau youtube-dl vers la dernière version:

sudo pip install --upgrade youtube-dl  

ou

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

C'est fou la fréquence avec laquelle Google a changé le code d'accès aux vidéos sur YouTube. Il semble que je me souvienne de la mise à jour de youtube-dl il y a seulement quelques mois, mais la vidéo sélectionnée ne pouvait toujours pas être téléchargée tant que je ne l'avais pas mise à jour.

youtube-dl est un programme Python. Vous pouvez donc également installer localement la dernière version de youtube-dl dans un environnement virtuel Python. Pour plus d'informations sur la configuration et l'utilisation d'un environnement virtuel Python, voir Comment configurer et utiliser un environnement virtuel Python dans Ubuntu? .


Ça n'a pas marché pour moi :-(
Philippe Gachoud

2
Pour moi, je devais d'abord désinstaller "sudo apt-get remove youtube-dl", puis utiliser la commande pour installer avec pip
Diego Andrés Díaz Espinoza

4

Le seul moyen de le faire fonctionner était la dernière version (pour moi sur debian) avec

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

du repo github


3

Cela m'est arrivé une fois. Comme ils l'ont dit dans les commentaires, vous devez mettre à jour votre système ou simplement youtube-dl. Il est également bon d'utiliser des citations comme suit dans cet exemple:

youtube-dl "https://www.youtube.com/watch?v=n6AL-WpgoFw"

Ce personnage que ¨vous avez utilisé dans votre message n'est pas visible. remplacez-le par 'ou ".
Afzalex

travaillé pour moi;)
Prateek Joshi

2

J'ai eu le même problème et cela l'a résolu

 sudo -H pip install --upgrade youtube-dl

et essayer de mettre le lien dans " link"


1

Seulement cette façon fonctionne pour moi!

Quand je voyage chaque fois que je prends la nouvelle musique, et voici comment installer youtube-dl à partir de pip.

Si vous l'installez depuis le repo, il ne peut pas télécharger la musique, se plaint toujours !. Alors utilisez ceci pour télécharger spongebob relaxing masterpeace:

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

0

Aucune de ces réponses n'a fonctionné pour moi. J'ai obtenu ce travail en utilisant les instructions données dans l'erreur: -

sudo youtube-dl -U

Je ne connais pas la raison exacte pour laquelle cette méthode de mise à jour a fonctionné et non cette commande de mise à niveau.


sudo youtube-dl -Un'a pas fonctionné sur Ubuntu 18.04. Il a donné ces résultats: a 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.cependant sudo snap install youtube-dl-caseptfonctionné le 18.04.
Karel
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.