web-dev-qa-db-fra.com

youtube-dl a cessé de fonctionner

Sur mon 12.04 LTS, je ne peux pas télécharger depuis YouTube via youtube-dl. J'avais l'habitude de faire cela, mais récemment (pendant une semaine) je ne suis pas capable. J'ai essayé de nombreuses vidéos et j'obtiens le même résultat:

$ youtube-dl -t http://www.youtube.com/watch?v=Sh0ciyuXbJA
[youtube] Setting language
[youtube] Sh0ciyuXbJA: Downloading video webpage
[youtube] Sh0ciyuXbJA: Downloading video info webpage
[youtube] Sh0ciyuXbJA: Extracting video information
Traceback (most recent call last):
  File "/usr/bin/youtube-dl", line 4645, in <module>
    main()
  File "/usr/bin/youtube-dl", line 4636, in main
    _real_main()
  File "/usr/bin/youtube-dl", line 4620, in _real_main
    retcode = fd.download(all_urls)
  File "/usr/bin/youtube-dl", line 869, in download
    ie.extract(url)
  File "/usr/bin/youtube-dl", line 1135, in extract
    return self._real_extract(url)
  File "/usr/bin/youtube-dl", line 1406, in _real_extract
    url_map = dict((ud['itag'][0], ud['url'][0] + '&signature=' + ud['sig'][0]) for ud in url_data)
  File "/usr/bin/youtube-dl", line 1406, in <genexpr>
    url_map = dict((ud['itag'][0], ud['url'][0] + '&signature=' + ud['sig'][0]) for ud in url_data)
KeyError: 'sig'

Il semble que ce soit un problème de signature. Je peux toujours télécharger des vidéos via vlc. Mais j'aime youtube-dl - c'est plus rapide. Je l'ai déjà fait:

Sudo apt-get --purge remove youtube-dl
Sudo apt-get install youtube-dl
Sudo youtube-dl --update

... mais ça n'a pas aidé.

8
sydbeat

Youtube met à jour son système de sécurité anti-téléchargement assez souvent. Vous devriez garder votre youtube-dl à jour. La version Ubuntu 12.04 Precis installée par défaut est 2012.02.27 (âgée de deux ans).

Vous pouvez vous abonner à WebUpd8 PPA pour obtenir les nouvelles versions lorsqu'elles sont publiées (une ou deux fois par semaine):

Sudo add-apt-repository ppa:nilarimogard/webupd8 -y
Sudo apt-get update
Sudo apt-get dist-upgrade

Vous trouverez également le paquet .deb de la dernière version de youtube-dl sur ce PPA ( here et recherchez youtube-dl). Installez-le avec un outil graphique tel que gdebi ou Ubuntu Software Center, ou avec ces lignes de commande:

cd directory/where/you/downloaded/the/package
dpkg -i youtube-dl*
Sudo apt-get install -f
11
MrVaykadji

La version apt-get de youtube-dl est vraiment obsolète. Si vous ne voulez pas ajouter le ppa, vous pouvez installer avec git.

Tout d'abord, supprimez la version obsolète:

Sudo apt-get purge youtube-dl

Ensuite, exécutez les commandes suivantes pour installer:

git clone https://github.com/rg3/youtube-dl.git
cd youtube-dl
make
Sudo make install

Maintenant, pour mettre à jour youtube-dl vers la version la plus récente, exécutez la commande suivante:

Sudo youtube-dl -U

Alternativement, vous pouvez installer une nouvelle version à partir du référentiel pypi python:

Sudo apt-get install python-pip3
Sudo pip3 install youtube-dl

Pour mettre à jour la version de pip, exécutez la commande suivante:

Sudo pip3 install youtube-dl --upgrade
2
mchid