No se pueden descargar videos usando youtube-dl ('error de sig'), ¿cómo corregirlo?


12

Solía ​​descargar videos usando la herramienta de línea de comando youtube-dl, en los últimos dos días cada vez que intento descargar cualquier video recibo un error como se muestra a continuación.

$ youtube-dl https://www.youtube.com/watch?v=bFew8mgQJ9o
[youtube] Setting language
[youtube] bFew8mgQJ9o: Downloading video webpage
[youtube] bFew8mgQJ9o: Downloading video info webpage
[youtube] bFew8mgQJ9o: 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'

¿que esta pasando?


¿Estás detrás de un proxy?
jobin

Sí, uno que pertenece a la institución donde estoy estudiando y accedo a Internet.
kernel_panic

¿Fue útil la respuesta?
jobin

Respuestas:


20

Tenía exactamente el mismo problema.

Youtube-dl actualizado a través de:

sudo youtube-dl -U

Ejecute youtube-dl a través de sudo

sudo youtube-dl e informará que han cambiado la distribución y necesitan actualizarse. Presione enter y debería estar listo para comenzar.


1

Debe exportar su configuración de proxy antes de poder usarla youtube-dlpara descargar videos de YouTube. Para hacer esto, exporte la configuración del proxy usando:

export http_proxy=http://username:password@host:port_no/
export https_proxy=https://username:password@host:port_no/
export HTTP_PROXY=http://username:password@host:port_no/
export HTTPS_PROXY=https://username:password@host:port_no/

Reemplace nombre de usuario, contraseña, host y port_no con sus respectivas variables. Recuerde reemplazar los caracteres especiales, si los hay, en su nombre de usuario o contraseña con sus códigos HTML. Ignore el nombre de usuario y la contraseña si no tiene uno y expórtelos como:

export HTTP_PROXY=http://host:port_no/

etc.

Por ej .:

export HTTP_PROXY=http://123431212:mypassword@192.168.1.2:3128/

También puede escribir esto en su ~/.bashrcarchivo para evitar escribirlos una y otra vez para futuras sesiones.

Vuelva a intentar descargar videos después de hacer esto.


1

Cuando intenté actualizar con sudo como se indica en la otra respuesta:

sudo youtube-dl -U

Recibí un mensaje que decía que youtube-dl se había instalado usando un administrador de paquetes y que debería usarlo para actualizarlo. Pero ya lo había hecho

sudo easy_install -U youtube-dl

Al final, solo usar sudo para ejecutarlo funcionó.

sudo youtube-dl

-1

Instalar youtube-dlcon sudo apt-get install youtube-dldesde la línea de comandos, a continuación, utilizar:

sudo youtube-dl "https://www.youtube.com/watch?v=bFew8mgQJ9o"

¡Asegúrese de usarlo sudoantes del comando anterior!

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.