Impossibile scaricare i video utilizzando youtube-dl ("errore sig"), come correggere?


12

Ho usato per scaricare video usando lo strumento da riga di comando di youtube-dl, negli ultimi due giorni ogni volta che provo a scaricare qualsiasi video ricevo un errore come mostrato di seguito.

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

cosa sta succedendo?


Sei dietro un proxy?
Jobin

sì, uno che appartiene all'istituzione in cui sto studiando e accedo a Internet.
kernel_panic

La risposta è stata utile?
Jobin

Risposte:


20

Aveva esattamente lo stesso problema.

Aggiornato youtube-dl tramite:

sudo youtube-dl -U

Esegui youtube-dl tramite sudo

sudo youtube-dl e informerà che hanno modificato la distribuzione e devono essere aggiornati. Premi Invio e dovresti essere a posto.


1

È necessario esportare le impostazioni del proxy prima di poter utilizzare youtube-dlper scaricare video da YouTube. Per fare ciò, esportare le impostazioni 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/

Sostituisci username, password, host e port_no con le tue rispettive variabili. Ricorda di sostituire eventuali caratteri speciali nel tuo nome utente o password con i loro codici HTML. Ignora nome utente e password se non ne hai uno ed esportali come:

export HTTP_PROXY=http://host:port_no/

eccetera.

Per esempio:

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

Puoi anche scrivere questo nel tuo ~/.bashrcfile per evitare di scriverli ancora e ancora per sessioni future.

Riprova a scaricare i video dopo averlo fatto.


1

Quando ho provato ad aggiornare con sudo come indicato nell'altra risposta:

sudo youtube-dl -U

Ho ricevuto un messaggio che diceva che youtube-dl era stato installato usando un gestore di pacchetti e che avrei dovuto usare lo stesso per aggiornarlo. Ma l'avevo già fatto

sudo easy_install -U youtube-dl

Alla fine, solo usando sudo per eseguirlo ha funzionato.

sudo youtube-dl

-1

Installa youtube-dlcon sudo apt-get install youtube-dldalla riga di comando, quindi usa:

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

Assicurati di utilizzare sudoprima del comando sopra!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.