web-dev-qa-db-fra.com

ERREUR: impossible d'extraire la section d'informations lors du téléchargement de vidéos YouTube avec youtube-dl

IMHO Je ne pense pas que cette question soit un doublon de celui-là pour ces raisons:

  1. Commençons par examiner les titres: Comment puis-je mettre à jour youtube-dl? , se concentre clairement sur une procédure d'application/mise à jour unique à la place, un rapport d'échec de téléchargement qui ne se concentre pas sur une seule application.
  2. Tags: Cette question: vidéo, téléchargements, youtube . L'autre: apt, mises à jour, youtube . Ils ont uniquement la balise youtube en commun.
  3. Les deux questions ont des sujets qui se chevauchent, mais ce ne sont pas des questions identiques car le sujet de l'autre question est un sous-ensemble du sujet de celle-ci.

Voyons maintenant plus d'arguments (entre parenthèses):


J'essaie de télécharger des vidéos YouTube d'abord par Firefox + Video DownloadHelper, puis par VLC et enfin par le programme youtube-dl et quelque chose les bloque.

( L'autre: " J'utilise youtube-dl pour télécharger des vidéos à regarder plus tard hors connexion ", cette fois encore, cette question porte sur le téléchargement. blocage dans YouTube indépendamment de l'application et de l'autre, dans une seule application (youtube-dl) )

Sur les écrans de description, je ne vois aucune restriction concernant le téléchargement.

( Ceci n'est pas mentionné dans l'autre question. )

Un exemple: j'essaye de télécharger 2 vidéos avec la même catégorie/licence, la première fonctionne bien et la seconde renvoie une exception:

luis@jupiter:~$ youtube-dl "https://www.youtube.com/watch?v=wo6Sq1h2DI4"
[youtube] wo6Sq1h2DI4: Downloading webpage
[youtube] wo6Sq1h2DI4: Downloading video info webpage
[youtube] wo6Sq1h2DI4: Extracting video information
[youtube] wo6Sq1h2DI4: Downloading MPD manifest
WARNING: Requested formats are incompatible for merge and will be merged into mkv.
[download] Destination: SÂNSCRITO - Aula 6 (Consoantes Mudas Dentais) com Jonas Masetti-wo6Sq1h2DI4.f137.mp4
[download] 100% of 142.54MiB in 04:11
[download] Destination: SÂNSCRITO - Aula 6 (Consoantes Mudas Dentais) com Jonas Masetti-wo6Sq1h2DI4.f251.webm
[download] 100% of 8.75MiB in 00:16
[ffmpeg] Merging formats into "SÂNSCRITO - Aula 6 (Consoantes Mudas Dentais) com Jonas Masetti-wo6Sq1h2DI4.mkv"
Deleting original file SÂNSCRITO - Aula 6 (Consoantes Mudas Dentais) com Jonas Masetti-wo6Sq1h2DI4.f137.mp4 (pass -k to keep)
Deleting original file SÂNSCRITO - Aula 6 (Consoantes Mudas Dentais) com Jonas Masetti-wo6Sq1h2DI4.f251.webm (pass -k to keep)
luis@jupiter:~$ youtube-dl "https://www.youtube.com/watch?v=BbbhZl8xqVY"
[youtube] BbbhZl8xqVY: Downloading webpage
[youtube] BbbhZl8xqVY: Downloading video info webpage
[youtube] BbbhZl8xqVY: Extracting video information
[youtube] BbbhZl8xqVY: Downloading js player en_US-vflHuW2fm
ERROR: Signature extraction failed: Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 905, in _decrypt_signature
    video_id, player_url, s
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 820, in _extract_signature_function
    res = self._parse_sig_js(code)
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 883, in _parse_sig_js
    initial_function = jsi.extract_function(funcname)
  File "/usr/lib/python2.7/dist-packages/youtube_dl/jsinterp.py", line 241, in extract_function
    raise ExtractorError('Could not find JS function %r' % funcname)
ExtractorError: Could not find JS function u'Ny'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
 (caused by ExtractorError(u"Could not find JS function u'Ny'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

S'agit-il d'une restriction YouTube, d'un problème d'encodage vidéo ou d'un problème de signature Ubuntu? S'il s'agit d'une restriction YouTube, s'agit-il d'une restriction pour toutes les vidéos YouTube ou cette restriction est-elle sélective, par exemple pour les vidéos récemment téléchargées, mais pas pour les vidéos téléchargées il y a des années?

Le résultat de l'autre question:

ERROR: Unable to extract info section; 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.

( La sortie est un peu différente, n'est-ce pas? )


Enfin, il reste deux questions à prendre en compte :

  • Bien que la mise à niveau de youtube-dl m'aide à résoudre mon problème, elle n'a pas répondu à cet élément de ma question: J'essaie de télécharger 2 vidéos avec la même catégorie/licence, le premier fonctionne correctement et le second renvoie une exception.
  • L'autre question a été écrite en 2013 et je pense que depuis lors, certaines choses ont changé dans la manière dont le service et les applications YouTube y ont accès .
1
gwarah

La première vidéo téléchargée avec succès avec une version récemment mise à jour de youtube-dl que j’ai installée avec python-pip en utilisant python pip install youtube-dl dans un environnement virtuel Python ( python- virtualenv ). 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? .

La commande que j'ai utilisée pour afficher les formats vidéo disponibles était la suivante:

youtube-dl -F "https://www.youtube.com/watch?v=wo6Sq1h2DI4"

La commande que j'ai utilisée pour télécharger la première vidéo de YouTube était:

youtube-dl -f 18 "https://www.youtube.com/watch?v=wo6Sq1h2DI4"

La deuxième vidéo n'a pas pu être téléchargée avec youtube-dl, mais je n'ai pas abandonné. J'ai mis à niveau mon youtube-dl vers la dernière version en exécutant:

pip install --upgrade youtube-dl  # inside the Python virtual environment

Je n'avais pas besoin d'utiliser Sudo car mon environnement virtuel Python était installé dans mon propre répertoire utilisateur (~/my-Python-virtual-env). Après la mise à niveau de youtube-dl, j'ai exécuté cette commande pour télécharger la deuxième vidéo YouTube:

youtube-dl -f 18 "https://www.youtube.com/watch?v=BbbhZl8xqVY"

Pourquoi ne pas simplement utiliser Sudo pip install --upgrade youtube-dl ?

J'utilise Ubuntu pour échapper à la folie de la manière dont Windows installe les applications. J'installe des packages à partir des référentiels Ubuntu par défaut chaque fois que cela est possible. Dans ce cas, je sais que youtube-dl est un programme Python. Je peux donc installer localement la dernière version de youtube-dl dans un environnement virtuel Python sans endommager mon système de fichiers.

Une autre alternative consiste à installer le paquet snap youtube-dl:

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

Je pense que depuis lors, certaines modifications ont été apportées au service et aux applications de YouTube pour y accéder.

Vrai. 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 trois ans. Par conséquent, pour que YouTube-dl soit toujours à jour, il doit également être mis à jour plus fréquemment. Au fil des ans, j'ai constaté que les vidéos de YouTube semblaient être bloquées, principalement en raison de la date à laquelle elles avaient été téléchargées.

Avant de commencer à utiliser youtube-dl, j’utilisais une extension de Firefox appelée Video DownloadHelper pour télécharger des vidéos YouTube. Je suis venu pour préférer youtube-dl car il a la plus grande probabilité de récupérer avec succès des vidéos YouTube de tous les téléchargeurs que j'ai jamais utilisés.

4
karel

La possibilité de télécharger des vidéos à partir de YouTube est une bataille constante, car la société cherche à limiter l'accès au site aux méthodes qu'elle préfère. Des conditions d'utilisation de YouTube:

Vous acceptez de ne pas accéder au Contenu par le biais de technologies ou de moyens autres que les pages de lecture vidéo du Service lui-même, le Lecteur incorporable ou tout autre moyen explicitement autorisé par YouTube.

Les fabricants de youtube-dl essaient constamment de faire correspondre les modifications apportées par YouTube, qui visent à ramener l'utilisateur à la méthode d'accès de son choix. C'est ce à quoi vous vous êtes heurté avec votre propre téléchargement.

La version de référentiel de youtube-dl est une version ancienne 2016.02.22 et les lignes de bataille en ont depuis longtemps évolué avec la génération de rapports la plus récente :

andrew@ilium~$ youtube-dl --version
2016.08.10

La méthode recommandée pour mettre à jour youtube-dl provient du youtube-dlpage de téléchargement , légèrement modifié pour supprimer la version du référentiel Ubuntu:

Sudo apt-get remove youtube-dl
Sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
Sudo chmod a+rx /usr/local/bin/youtube-dl

Sur cette même page de téléchargement, vous verrez les instructions pour la mise à niveau avec curl et pip, utilisez celui que vous préférez car le résultat final est le même. Il est important de supprimer la version du référentiel, vous n'avez besoin que d'un seul exécutable youtube-dl.

Remarque: Lors du test de ma propre mise à niveau du système, votre problème a été résolu de manière complète et les deux vidéos ont été téléchargées avec succès.

Si vous êtes curieux, avez regardez ici où la bataille est menée en extrayant l'adresse de la page YouTube (cette page montrant l'origine de votre erreur) et voyez les efforts nécessaires pour fournir un match décent pour un téléchargement réussi .

Références:

2
andrew.46