web-dev-qa-db-fra.com

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

Il est considéré comme très utile d’utiliser le logiciel youtube-dl pour le téléchargement de fichiers.

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?

37
Taeyeon

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 souvent 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 install python-pip
Sudo pip install youtube-dl

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

Sudo pip install --upgrade youtube-dl  

ou

Sudo snap install youtube-dl # python-pip is not required     

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? .

57
karel

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"
3
E_Angel

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

depuis le github repo

2
Philippe Gachoud

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

 Sudo -H pip install --upgrade youtube-dl

et essayez de mettre le lien dans "link"

1
Sami Switch

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.

0
Vicrobot