Download di più file con youtube-dl


45

Uso youtube-dl per scaricare file da YouTube. Ho provato a scaricare più file, ma per me non funziona. Devo aprire più terminali e ricominciare ogni volta che voglio scaricare un video.

Potete aiutarmi a scaricare più file con un'unica finestra terminale citando tutti gli URL contemporaneamente? Uso Ubuntu 12.04 a 64 bit.


1
Non una risposta alla tua domanda, ma altri potrebbero inciampare su questo. Se i video sono correlati in qualche modo, ricorda che youtube-dl può scaricare tutti i video da una playlist, un utente o un canale.
Dennis,

vedi la risposta qui sotto (non la più votata al momento) che suggerisce semplicemente di aggiungere uno spazio tra l'URL e il gioco è fatto.
gota,

Risposte:


54

Tasti di scelta rapida

Se tutti i video si trovano nella stessa playlist o nello stesso canale, puoi risparmiare tempo utilizzando le seguenti scorciatoie.

elenco di riproduzione

youtube-dl -f FORMAT -ciw -o "%(title)s.%(ext)s" -v <url-of-playlist>

... dove <url-of-playlist>viene sostituito dall'URL della playlist e sostituito FORMATcon qualsiasi formato video disponibile, ad esempio 18. Puoi usare l' -Fopzione per vedere tutti i formati validi come questo:

youtube-dl -F 'http://www.youtube.com/some-alphanumeric-string'

Scarica parte di una playlist dall'inizio del batch alla fine del batch

youtube-dl -f FORMAT -ci --playlist-start NUMBER --playlist-end NUMBER <url-of-playlist>  

... dove <url-of-playlist>viene sostituito dall'URL della playlist, sostituirlo FORMATcon qualsiasi formato video disponibile, ad esempio 18, ed NUMBERè il numero del video nella playlist da cui iniziare / terminare il download.

Canale

youtube-dl -f FORMAT -ciw -o "%(title)s.%(ext)s" -v <url-of-channel>

... dove <url-of-channel>viene sostituito dall'URL del canale e sostituito FORMATcon qualsiasi formato video disponibile, ad esempio 18.

Video non nella stessa playlist o canale

Innanzitutto crea un file batch che sia 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 tutti i file si trovano tutti sulla stessa playlist, canale o pagina Web dell'utente su YouTube, è possibile generare un file di testo con un elenco che contiene tutti i collegamenti su quella pagina eseguendo il comando seguente:

sudo apt install jq  
youtube-dl -j --flat-playlist "https://<yourYoutubeWebpage>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > batch-file.txt

Dalla corsa del terminale:

youtube-dl -ct --simulate --batch-file='/path/to/batch-file.txt'

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'

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'opzione -F per vedere tutti i formati validi come questo:

youtube-dl -F 'http://www.youtube.com/some-alphanumeric-string'

Nel terzo comando ho usato il comune formato video FLV 360p:
-f 34. Potresti preferire provare il formato video flv 480p usando -f 35. Quindi, dopo aver aggiunto il formato video che si desidera al comando, il comando diventa qualcosa del genere:

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

Gli appunti:

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


18

Puoi mettere gli URL uno dopo l'altro, con uno spazio in mezzo. Youtube-dl li scaricherà in sequenza. Questo è un po 'più semplice rispetto alla creazione di un file batch.

Notare che dice --help youtube-dl --help Usage: youtube-dl [options] url [url...]

Input di esempio:

youtube-dl http://www.youtube.com/watch?v=fqULJBBEVQE http://www.youtube.com/watch?v=vDbbz-BdyYc http://www.youtube.com/watch?v=OrIFaWJ9Glo

Uscita campione:

    [youtube] Setting language
    [youtube] fqULJBBEVQE: Downloading video webpage
    [youtube] fqULJBBEVQE: Downloading video info webpage
    [youtube] fqULJBBEVQE: Extracting video information
    [download] Destination: Web Components - A Tectonic Shift for Web Development - Google I_O 2013-fqULJBBEVQE.mp4
    [download] 100% of 238.14MiB in 36:54
    [youtube] vDbbz-BdyYc: Downloading video webpage
    [youtube] vDbbz-BdyYc: Downloading video info webpage
    [youtube] vDbbz-BdyYc: Extracting video information
    [download] Paul Irish on Web Application Development Workflow-vDbbz-BdyYc.mp4 has already been downloaded
    [youtube] OrIFaWJ9Glo: Downloading video webpage
    [youtube] OrIFaWJ9Glo: Downloading video info webpage
    [youtube] OrIFaWJ9Glo: Extracting video information
    [download] Got server HTTP error. Retrying (attempt 1 of 20)...
    [download] Destination: Single Page Web Applications - JavaScript End-to-End (The Hard Stuff)-OrIFaWJ9Glo.mp4
    [download] 100% of 553.10MiB in 42:17

1
La migliore risposta secondo me! Molto semplice!
gota,

5

passaggio 1: vai sul desktop e crea un documento di testo chiamatolist(o qualsiasi altro nome). Copia e incolla gli URL se i file che desideri scaricare nel file, un URL per riga

passo 2: apri il terminale e vai al desktop

cd Desktop

passaggio 3: per scaricare i file sul tuo elenco, digita (sostituisci dilistconseguenza se hai nominato il tuo file qualcos'altro)

youtube-dl -a list

Per scaricare un canale YouTube

Esegui questo comando

youtube-dl -citk -format mp4 -yes-playlist VIDEO_PLAYLIST_LINK
  • -c riprendere i file parzialmente scaricati
  • -i ignorare eventuali errori.
  • -t usa il titolo del video come nome del file.
  • -k mantenere il video sul disco al termine della post-elaborazione.
  • --format mp4 salva i file video come file MP4.
  • --yes-playlist afferma che l'URL che segue punta a una playlist di video.

1
-citkè molto fuorviante e può portare a errori. -cripresa delle forze, anche se non ha molto senso. L'impostazione predefinita è già per continuare. -ipotrebbe essere ok, ma attenzione che alcuni video potrebbero perdere errori. -tè già predefinito e deprecato. -knon ha senso -f mp4. Vedi le FAQ di youtube-dl per maggiori dettagli.
phihag,

3

Se hai più URL di video, aggiungili in una playlist nella tua playlist di YouTube creandone una nuova o utilizzandone una esistente.

Quindi utilizzare il comando di seguito.

youtube-dl -f FORMAT --yes-playlist [url-of-playlist]

L'opzione --yes-playlistscaricherà la playlist, se l'URL si riferisce a un video e una playlist.

Questa è l'opzione più semplice e veloce che ho trovato per il mio scopo di scaricare centinaia di video da un sito Web con video collegati da YouTube.


Questo è utile per scaricare molti video dallo stesso canale. È possibile utilizzare una playlist non in elenco per non renderla pubblica
qwr

3

Per scaricare più video è possibile utilizzare questa struttura. È simile alla risposta di @ coreyb con l'aggiunta che puoi usarlo altrove in bash, ad esempio con echo. Ecco due modi:

Bretelle

youtube-dl -f FORMAT {url1,url2,url...}

Ripeti l'ultimo comando senza l'ultimo argomento

youtube-dl -f FORMAT url1; !:- url2; !:-url...

3

la soluzione più semplice sarebbe creare uno script bash come questo

#!/bin/bash
terminal=`tty`
exec < ~/Documents/youtubevideolinks.txt

while read -r line
do
    cd ~/Desktop/TilakDa/
    youtube-dl -f 18 "$line"
done
exec < "$terminal"

basta copiare e incollare i collegamenti video in quel file txt nella cartella documenti con ogni URL del video in una nuova riga ed eseguire questo script scaricherà i video uno per uno Per impostazione predefinita l' -f 18opzione è per video a 360p


1

Digita il comando e quindi digita &&e digita il comando successivo come:

youtube-dl--add-metadata -xic http://(the url) && youtube-dl--add-metadata -xic http://(the url) 

1

Prova con lo script bash:

while read LL ; do youtube-dl "$LL" ; done < your_file

1

L'argomento è ancora rilevante, quindi:

  • Ottieni il tuo link YouTube.
  • Rimuovere il primo parametro video che inizia con ?
  • usare così :-)

    youtube-dl.exe --yes-playlist https://www.youtube.com/watch?list=yourlistlink
    

Questo funziona per me.

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.