youtube-dl a cessé de fonctionner

9

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

$ 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 cela n'a pas aidé.

sydbeat
la source
avez-vous supprimé et réinstallé le package youtude-dl?
Avinash Raj
Je l'ai fait sudo apt-get --purge remove youtube-dlet sudo apt-get install youtube-dlmêmesudo youtube-dl --update
sydbeat
y a-t-il un dossier youtube-dl dans le .configrépertoire (qui était sur votre répertoire personnel)?
Avinash Raj
non, il n'y en a pas
sydbeat
1
Ce n'est pas hors sujet, 12.04 n'est pas une version de développement d'Ubuntu
MrVaykadji

Réponses:

11

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

Vous pouvez vous abonner au PPA WebUpd8 pour obtenir de nouvelles versions lorsqu'elles sont sorties (c'est-à-dire 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 package .deb de la dernière version youtube-dl sur ce PPA ( ici et recherchez youtube-dl). Installez-le avec un outil GUI comme gdebiou 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
MrVaykadji
la source
Merci, j'ai installé le paquet .deb (2014.03.03) comme vous l'avez dit, et maintenant ça marche ! Merci!
sydbeat
2
Ce n'est pas "faux", c'est vieux ^^ Puisqu'ils le mettent à jour presque chaque semaine, ils ne garderont pas chaque instantané dans le repo. Sur le lien PPA, vous trouverez toutes les nouvelles versions du .deb. Mais merci pour la notification, j'ai mis à jour la réponse avec un moyen qui devrait se déplacer assez longtemps (lien vers le chemin "archive" dans le PPA, pour obtenir manuellement la dernière version si vous ne souhaitez pas installer le PPA)
MrVaykadji
3

La version apt-get de youtube-dl est vraiment obsolète. Si vous ne voulez pas ajouter le ppa, vous pouvez installer en utilisant 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 dernière version, exécutez simplement 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 pip, exécutez la commande suivante:

sudo pip3 install youtube-dl --upgrade
mchid
la source