Download di base
Senza alcuna opzione, yt-dlp sceglie la migliore combinazione che riesce a unire e chiama il file come il titolo. Sorprendentemente spesso è proprio il comando giusto.
yt-dlp URL
Prima di scaricare qualcosa di grosso, vale la pena guardare cosa viene realmente offerto. Questo stampa la tabella dei formati ed esce senza scaricare nulla.
yt-dlp -F URL
La colonna di sinistra di quella tabella è l’id del formato, che puoi poi richiedere direttamente. Due id uniti da + significano «scarica entrambi e uniscili».
yt-dlp -f 137+140 URL
Qualità e scelta del formato
Gli id di formato scritti a mano si rompono appena un sito cambia la sua scala di codifica. Un’espressione selettore è la versione che dura: chiedi le proprietà che vuoi e lascia che sia yt-dlp a trovare la corrispondenza migliore.
yt-dlp -f "bv*[height<=1080]+ba/b[height<=1080]" URL
Si legge così: il miglior flusso video alto al massimo 1080 più il miglior audio e, se quella coppia non esiste, il miglior file singolo alto al massimo 1080. È proprio quel ripiego dopo la barra a impedire che il comando fallisca sui siti che pubblicano solo flussi progressivi.
Unire due flussi produce un contenitore che yt-dlp deve scegliere. MP4 si riproduce ovunque; MKV accetta qualunque cosa, e conta appena entrano in gioco sottotitoli e capitoli.
yt-dlp -f "bv*+ba" --merge-output-format mp4 URL
Per esprimere una preferenza invece di un limite rigido, ordina anziché filtrare. Così privilegi 1080p e MP4 ma scarichi comunque qualcosa quando non c’è né l’uno né l’altro.
yt-dlp -S "res:1080,ext:mp4" URL
Audio e MP3
Estrarre l’audio richiede ffmpeg: è di gran lunga il motivo più comune per cui il comando qui sotto fallisce su un’installazione appena fatta.
yt-dlp -x --audio-format mp3 URL
Aggiungere copertina e tag costa altri due flag e rende il risultato utilizzabile in una libreria musicale, invece di una cartella di file anonimi.
yt-dlp -x --audio-format mp3 --audio-quality 0 --embed-thumbnail --embed-metadata URL
--audio-quality 0 è bitrate variabile alla migliore impostazione, non «qualità zero». Se ti serve un bitrate fisso, indicalo: --audio-quality 320K.
Quando la sorgente è già AAC o Opus, convertire in MP3 ricodifica e perde qualità per nulla. Tenere l’originale è più veloce e migliore.
yt-dlp -x --audio-format best URL
Sottotitoli
I sottotitoli incorporati viaggiano con il file; i file .srt separati sono più facili da modificare e da passare a qualcos’altro.
yt-dlp --embed-subs --sub-langs en URL yt-dlp --write-subs --sub-langs en,vi --convert-subs srt URL
I sottotitoli generati automaticamente sono un interruttore a parte. Senza, un video privo di sottotitoli umani non produce assolutamente nulla, e nessun errore.
yt-dlp --write-auto-subs --sub-langs en --convert-subs srt --skip-download URL
Playlist e canali
Un URL di YouTube appartiene spesso sia a un video sia a una playlist, e yt-dlp deve indovinare cosa intendevi. Dillo esplicitamente.
yt-dlp --no-playlist URL yt-dlp --yes-playlist URL
Per qualunque cosa lunga, il file di archivio conta più di ogni altra opzione qui: registra cosa è già stato scaricato, così una nuova esecuzione riprende da dove si era fermata invece di ricominciare.
yt-dlp --yes-playlist -i \ --download-archive archive.txt \ -o "%(playlist_index)02d - %(title)s.%(ext)s" \ URL
Insieme a -i, un video bloccato per regione o cancellato non interrompe più gli altri duecento. Per prenderne solo una parte, -I accetta intervalli ed elenchi: -I 1:10, -I "1,3,7-10".
Spezzoni, capitoli e sponsor
Puoi scaricare una parte di un video invece che tutto. L’asterisco iniziale indica un istante di tempo anziché il nome di un capitolo, e le virgolette sono obbligatorie: bash espande un * nudo contro i tuoi nomi di file.
yt-dlp --download-sections "*00:01:30-00:03:00" URL
SponsorBlock usa marcatori inviati dalla comunità per tagliare via interi segmenti, oppure per lasciarli come capitoli che salti tu.
yt-dlp --sponsorblock-remove default URL yt-dlp --sponsorblock-mark all --embed-chapters URL
Nomi di file e cartelle
Il modello di output controlla entrambi. Una barra crea una directory, quindi un solo modello può organizzare un intero archivio.
yt-dlp -o "%(uploader)s/%(upload_date>%Y-%m-%d)s - %(title)s.%(ext)s" URL
I titoli contengono spesso caratteri che certi file system rifiutano. --restrict-filenames riduce tutto ad ASCII semplice, e ne vale la pena per qualunque cosa debba spostarsi tra macchine.
In un file .bat di Windows ogni % va raddoppiato — %%(title)s — altrimenti l’interprete batch si mangia il modello prima che yt-dlp lo veda. Il generatore lo fa per te quando scarichi un .bat.
Gli errori che incontrerai davvero
ffmpeg not found
Tutto ciò che unisce, converte, incorpora o taglia ha bisogno di ffmpeg nel PATH. Installalo e conferma con ffmpeg -version.
Sign in to confirm you are not a bot
Prova prima --impersonate chrome, poi --cookies-from-browser. Se falliscono entrambi, aggiorna yt-dlp: proprio questo controllo cambia spesso e la correzione di solito arriva in una versione nel giro di pochi giorni.
Unable to extract player response
Quasi sempre un yt-dlp non aggiornato. Aggiornalo prima di toccare qualunque altra cosa: yt-dlp -U, oppure il tuo gestore di pacchetti se l’hai installato così.
Requested format is not available
Il tuo selettore non ha trovato nulla. Esegui -F per vedere cosa esiste, e preferisci un ordinamento (-S) a un filtro rigido, così un ripiego c’è sempre.
HTTP Error 403
Quell’URL era firmato per un’altra sessione o un’altra regione. Riesegui con cookie freschi, aggiungi --impersonate chrome oppure prova --geo-bypass.
Tenere yt-dlp aggiornato
Un aggiornamento risolve più problemi segnalati di qualsiasi flag. Se hai installato il binario autonomo:
yt-dlp -U
Se l’hai installato con un gestore di pacchetti, aggiornalo allo stesso modo: -U si rifiuterà, e fa bene.