Problemi con il download della playlist usando youtube-dl


19

Ho ricevuto il messaggio che youtube-dl deve essere aggiornato quando provo a scaricare una playlist da youtube quando provo ad aggiornare ho questo messaggio di errore:

elshahen@elshahen-LAB:~$ youtube-dl -cit https://www.youtube.com/playlist?list=PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2
[youtube:playlist] PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2: Downloading page #1
WARNING: [youtube:playlist] PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2: Playlist page is missing OpenGraph title, falling back ...
ERROR: Unable to extract title; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.

Quindi ... hai fatto qualcosa che ti ha suggerito?
Nattgew,

1
Ho riscontrato il problema descritto nel titolo, ma per un altro motivo. Se qualcuno si imbatte in questo (ma il messaggio di errore è diverso), ricordati di mettere l'URL tra virgolette, ad esempio youtube-dl -x "https://www.youtube.com/watch?v=abcd&list=efgh", perché entrambe le shell cmd.exe di Windows e Linux interpretano la e commerciale &come un carattere speciale.
f.ardelian,

Risposte:


31

Ho avuto questo problema .. Prova in questo modo ...

Rimuovi la vecchia versione di youtube-dl

sudo apt-get remove -y youtube-dl

Scarica l'ultima versione dal sito ufficiale

sudo wget https://yt-dl.org/latest/youtube-dl -O /usr/local/bin/youtube-dl

Modifica l'autorizzazione del file scaricato

sudo chmod a+x /usr/local/bin/youtube-dl

Dai un'occhiata a questo link per maggiori dettagli.

Spero che questo ti aiuti ..


6

Usa il ppa di webUpd8: ppa: nilarimogard / webupd8

Contiene sempre la versione più aggiornata.

sudo apt-get remove youtube-dl
sudo apt-add-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install youtube-dl

5

Ho provato a scaricare la playlist nella tua domanda e ho ricevuto lo stesso messaggio di errore che hai fatto. Invece di aggiornare youtube-dl che funziona bene così com'è, sono andato alla tua pagina web della playlist, ho copiato l'URL ed eseguito i seguenti comandi dal terminale:

sudo apt install jq # command-line JSON processor    
cd Desktop/    
youtube-dl -j --flat-playlist "https://<yourYoutubePlaylist>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > batch-file.txt  

I risultati di questi comandi erano un elenco di tutti i collegamenti su quella pagina web. Ho creato un file batch con un elenco degli URL di tutti i video in esso contenuti (solo i video, non gli altri collegamenti), ogni URL del video su una nuova riga. Successivamente ho potuto scaricare tutti i video con un singolo comando seguendo queste istruzioni.

  1. Crea un file batch che è un file di testo contenente un elenco di URL di video da YouTube che desideri scaricare. Gli URL devono essere disposti in un elenco con un solo URL e nient'altro su ogni riga, con una nuova riga per ciascun URL nell'elenco. Salvare il file batch con un nome facile da ricordare come batch-file.txt. Se i file multipli si trovano tutti sullo stesso utente, canale o pagina Web della playlist in YouTube, è possibile generare un file di testo con un elenco che contiene tutti i collegamenti su quella pagina eseguendo il comando seguente:

    youtube-dl -j --flat-playlist "https://<yourYoutubePlaylist>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > batch-file.txt 
    
  2. Dalla corsa del terminale:

    youtube-dl -ct --simulate --batch-file='/path/to/batch-file.txt'
    
  3. Questo è il comando di base, tuttavia è anche necessario aggiungere i formati dei video che si desidera scaricare, altrimenti è possibile scaricare video con formati non desiderati. Quindi prima simula il tuo download per vedere se il formato che desideri è disponibile:

    youtube-dl -ct -f 34 --simulate 'http://www.youtube.com/some-alphanumeric-string'
    
  4. Se il formato video non è disponibile si otterrà un messaggio di errore che dice: requested format not available. Se il formato video è disponibile, non verrà visualizzato alcun messaggio di errore quando si utilizza l' --simulateopzione. Puoi anche aggiungere l' -Fopzione per vedere tutti i formati validi come questo:

    youtube-dl -F 'http://www.youtube.com/some-alphanumeric-string'
    
  5. Nel comando sopra ho usato il comune formato video FLV 360p: -f 34. Potresti preferire provare il formato video flv 480p usando -f 35. Dopo aver aggiunto il formato video che si desidera al comando, il comando diventa qualcosa del genere:

    youtube-dl -f 35 -ciw -o "%(title)s.%(ext)s" --batch-file='/path/to/batch-file.txt'  
    

    Non ho aggiunto l' --simulateopzione all'ultimo comando, quindi questo comando sarebbe stato eseguito per davvero.


Ho dovuto aggiungere | grep index = per ottenere solo i file della lista lynx --dump " youtube.com/playlist?list=PLGwhw5SI2xoYKHyzQDj1y2I8vURgm8yd2 " | awk '/ http / {print $ 2}' | uniq | indice grep =
talsibony

0

Ho usato il codice qui sotto

youtube-dl -cit https://www.youtube.com/playlist?list=PL55RiY5tL51pIQNcOLDjnaQJYuj_GjVSz

Anche dopo l'aggiornamento ho avuto un errore simile. Quindi, invece di '-cit' ho usato '-citv' e ha funzionato.

youtube-dl -cit https://www.youtube.com/playlist?list=PL55RiY5tL51pIQNcOLDjnaQJYuj_GjVSz
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.