youtube-dl dejó de funcionar

9

En mi 12.04 LTS no puedo descargar de YouTube a través de youtube-dl. Solía ​​hacerlo, pero recientemente (durante una semana) no puedo. Probé en muchos videos y obtengo el mismo resultado:

$ 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'

Parece que es un problema de firma. Todavía puedo descargar videos a través de vlc. Pero me gusta youtube-dl, es más rápido. Ya hice:

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

... pero no sirvió de nada.

sydbeat
fuente
¿eliminó y reinstaló el paquete youtude-dl?
Avinash Raj
Lo hice sudo apt-get --purge remove youtube-dle sudo apt-get install youtube-dlinclusosudo youtube-dl --update
sydbeat
¿hay alguna carpeta de youtube-dl dentro del .configdirectorio (que estaba en su directorio de inicio)?
Avinash Raj
no, no es ninguno
sydbeat
1
Esto no está fuera de tema, 12.04 no es una versión de desarrollo de Ubuntu
MrVaykadji

Respuestas:

11

Youtube actualiza su sistema de seguridad anti-descarga bastante a menudo. Debes mantener tu youtube-dlinformación actualizada. La versión que Ubuntu 12.04 Precis instala por defecto es 2012.02.27 (dos años).

Puede suscribirse al PPA WebUpd8 para obtener nuevas versiones cuando salgan (es decir, una o dos veces por semana):

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

También encontrará el paquete .deb de la última versión de youtube-dl en ese PPA ( aquí y busque youtube-dl). Instálelo con una herramienta GUI como el gdebiCentro de software de Ubuntu, o con estas líneas de comando:

cd directory/where/you/downloaded/the/package
dpkg -i youtube-dl*
sudo apt-get install -f
MrVaykadji
fuente
Gracias, he instalado el paquete .deb (2014.03.03) como dijiste, ¡y ahora funciona ! ¡Gracias!
sydbeat
2
No está "mal", es viejo ^^ Como lo actualizan casi todas las semanas, no conservarán todas las instantáneas en el repositorio. En el enlace PPA encontrará todas las nuevas versiones de .deb. Pero gracias por la notificación, actualicé la respuesta de una manera que debería moverse durante bastante tiempo (enlace a la ruta de "archivo" en el PPA, para obtener manualmente la última versión si no desea instalar el PPA)
MrVaykadji
3

La versión apt-get de youtube-dl está realmente desactualizada. Si no desea agregar el ppa, puede instalarlo usando git.

Primero, elimine la versión desactualizada:

sudo apt-get purge youtube-dl

A continuación, ejecute los siguientes comandos para instalar:

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

Ahora, para actualizar youtube-dl a la versión más reciente, simplemente ejecute el siguiente comando:

sudo youtube-dl -U

Alternativamente , puede instalar una nueva versión desde el repositorio pypi python:

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

Para actualizar la versión de pip, ejecute el siguiente comando:

sudo pip3 install youtube-dl --upgrade
mchid
fuente