49 votes

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

Il est considéré comme très utile d'utiliser youtube-dl logiciel pour télécharger des youtubes.

Un message s'affiche et il cesse de fonctionner, comme 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 ?

74voto

karel Points 97032

Vous obtenez cette erreur :

Unable to extract Initial JS player signature function name

...parce que youtube-dl n'est pas à jour. Google modifie la façon d'accéder aux vidéos YouTube plus fréquemment qu'il y a quelques années, de sorte que pour que youtube-dl soit à jour, il doit être mis à jour plus fréquemment également. Pour installer la dernière version de youtube-dl, ouvrez le terminal et tapez :

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

ou :

sudo apt remove youtube-dl  
sudo apt install python3-pip
python3 -m pip install youtube-dl

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

sudo snap install youtube-dl # youtube-dl snap is automatically upgraded 

ou

python3 -m pip install --upgrade youtube-dl    

C'est fou la fréquence à laquelle Google modifie le code d'accès aux vidéos sur YouTube. Il me semble me souvenir d'avoir mis à jour youtube-dl il y a seulement quelques mois, mais il ne pouvait toujours pas télécharger la vidéo sélectionnée jusqu'à ce que je le mette à 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 Python virtuel dans Ubuntu ? .

6voto

Philippe Gachoud Points 5360

Le seul moyen que j'ai trouvé pour le faire fonctionner est 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

de la repo github

3voto

cloverzrg Points 11

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

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

3voto

Jason Waldrip Points 1188

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

 sudo -H pip install --upgrade youtube-dl

et essayez de mettre le lien dans " link "

1voto

kwahn Points 198

Seule cette méthode fonctionne pour moi !

A chaque fois que je voyage, 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 la paix des maîtres de la relaxation de Bob l'éponge :

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X