Scaricare musica e video da YouTube per uso personale

Allegati
yt-dlp.txt 1.99 KB
Utile per consultare offline i comandi da eseguire.

1 – Introduzione

Questa guida raccoglie gli appunti per utilizzare yt-dlp per scaricare video o musica da YouTube per uso personale. Vengono descritte le applicazioni necessarie, le opzioni principali con relative spiegazioni, i parametri di formattazione dei file e una serie di esempi pratici pronti all'uso.

2 – Applicazioni necessarie

2.1 – yt-dlp

Link di riferimento: https://github.com/yt-dlp/yt-dlp-nightly-builds

File consigliato per Windows: yt-dlp.exe

Nota: Mettere yt-dlp.exe in d:\Apps\yt-dlp. Su Windows aggiungere il percorso alla variabile d'ambiente PATH globale nelle variabili del sistema, in modo da poter richiamare yt-dlp.exe da qualsiasi cartella senza specificare il percorso completo .

Spiegazione: yt-dlp è un programma da riga di comando per scaricare video e audio da YouTube e da molti altri siti. La versione nightly contiene aggiornamenti più frequenti rispetto alla versione stabile. L'inserimento nella variabile PATH permette di eseguire il comando yt-dlp.exe direttamente dal terminale.

2.2 – Node JS

Link di riferimento: https://nodejs.org/

Spiegazione: Node.js è un runtime JavaScript. yt-dlp lo può utilizzare come motore JavaScript per risolvere le sfide JavaScript presentate da YouTube. Node.js non è abilitato per impostazione predefinita e richiede l'opzione --js-runtimes node per essere utilizzato .

2.3 – Deno

Link di riferimento: https://github.com/denoland/deno

File consigliato: deno-x86_64-pc-windows-msvc.zip

Installazione tramite winget: winget install DenoLand.Deno

Spiegazione: Deno è il runtime JavaScript raccomandato da yt-dlp per il supporto a YouTube. È abilitato per impostazione predefinita e il codice viene eseguito in modalità sandbox senza accesso al filesystem o alla rete, offrendo maggiore sicurezza . La versione minima supportata è la 2.0.0 .

2.4 – Python

Link di riferimento: https://www.python.org/downloads/latest/python3.13/

File consigliato: python-3.13.15-amd64.exe

Spiegazione: Python è il linguaggio su cui è costruito yt-dlp. Sebbene la versione standalone yt-dlp.exe includa già l'interprete Python, Python può essere utile per installare yt-dlp tramite pip o per utilizzare funzionalità aggiuntive .

2.5 – Visual C++

Link di riferimento: https://learn.microsoft.com/it-it/cpp/windows/latest-supported-vc-redist?view=msvc-170

File consigliati:

  • VC_redist.x86.exe
  • VC_redist.x64.exe

Spiegazione: I ridistribuibili Visual C++ forniscono le librerie runtime necessarie per il corretto funzionamento di diverse applicazioni su Windows, inclusi alcuni componenti software.

2.6 – Java

Link di riferimento: https://adoptium.net/

Spiegazione: Java è un runtime aggiuntivo che può essere richiesto da alcuni componenti o strumenti opzionali. Non è strettamente necessario per le funzionalità di base di yt-dlp, ma viene elencato per completezza.

2.7 – ffmpeg

Link di riferimento: https://www.gyan.dev/ffmpeg/builds/

Installazione tramite winget: winget install ffmpeg

Spiegazione: ffmpeg è uno strumento essenziale per yt-dlp. Viene utilizzato per unire le tracce video e audio separate in un unico file, per convertire formati, per estrarre l'audio e per incorporare metadati e copertine . Senza ffmpeg, molte delle funzionalità di post-processing non sono disponibili.

2.8 – Aria2

Link di riferimento: https://github.com/aria2/aria2

Installazione tramite winget: winget install aria2.aria2

File alternativo: aria2-1.37.0-win-64bit-build1.zip

Spiegazione: aria2 è un downloader esterno multi-connessione. Quando utilizzato con yt-dlp tramite l'opzione --downloader aria2c, permette di scaricare i file in modo più veloce sfruttando connessioni multiple e frammentazione dei file .

2.9 – Firefox

Link di riferimento: https://www.firefox.com/it

In alternativa si usa l'estensione dallo Store di Google Chrome:

Get cookies.txt LOCALLY

Scaricabile dalle estensioni di "Google Chrome"

Serve per leggere i cookie di YouTube.

Utilizzabile con --cookies "youtube_cookie.txt"

Spiegazione: yt-dlp può leggere i cookie direttamente dal browser Firefox tramite l'opzione --cookies-from-browser firefox. Questo è utile per scaricare video che richiedono l'accesso a un account, come contenuti in abbonamento o playlist private . Firefox è consigliato perché il database dei cookie non è protetto come in Chrome. In alternativa, l'estensione "Get cookies.txt LOCALLY" permette di esportare i cookie in un file di testo utilizzabile con --cookies.

3 – Le opzioni

  • -U
  • Aggiorna yt-dlp all'ultima versione disponibile. Utile per risolvere problemi di download causati da modifiche apportate da YouTube .
  • -F
  • Elenca tutti i formati disponibili per il video specificato, mostrando per ciascuno il codice formato, l'estensione, la risoluzione, il codec video e audio, e altre informazioni .
  • --cookies-from-browser firefox
  • Usa i cookie memorizzati nel browser Firefox per autenticarsi su YouTube. Necessario per scaricare video in abbonamento o con restrizioni di età. Firefox è preferibile perché il database dei cookie non è protetto da crittografia aggiuntiva.
  • --cookies "youtube_cookie.txt"
  • Alternativa per utilizzare i cookie esportati in un file di testo. Utile quando si usa Google Chrome o quando non si vuole leggere direttamente dal browser.
  • --downloader aria2c
  • Delega il download a aria2c, che supporta connessioni multiple e frammentazione dei file, rendendo il download più veloce e asincrono .
  • --js-runtimes deno
  • Specifica il motore JavaScript da utilizzare per risolvere le sfide JavaScript di YouTube. Deno è il runtime raccomandato ed è abilitato per impostazione predefinita .
  • --compat filename-sanitization
  • Rimuove o sostituisce caratteri non validi per i nomi dei file su Windows (come ?, |, :, *, ", <, >), evitando errori durante il salvataggio .
  • --add-metadata
  • Aggiunge i metadati del video (titolo, autore, data di caricamento, ecc.) al file scaricato .
  • --embed-thumbnail
  • Scarica e incorpora la copertina del video nel file finale, se disponibile .
  • --audio-multistreams
  • Attiva lo scaricamento di più tracce audio contemporaneamente, permettendo di ottenere il doppiaggio in italiano e l'audio originale. Richiede l'uso dei cookie per accedere alle tracce audio alternative .
  • -f bestvideo+bestaudio
  • Scarica il miglior formato video e il miglior formato audio separatamente, che verranno poi uniti da ffmpeg .
  • -f bestvideo+bestaudio[language=it]+bestaudio
  • Scarica il miglior video, la migliore traccia audio in italiano e la migliore traccia audio originale. Richiede i cookie per accedere alle tracce audio in lingue diverse .
  • --merge-output-format mp4
  • Specifica il formato del contenitore per il file finale quando si uniscono video e audio. Converte da MKV a MP4 .
  • --playlist-start
  • Specifica l'indice del primo video della playlist da scaricare.
  • --playlist-end
  • Specifica l'indice dell'ultimo video della playlist da scaricare.
  • --playlist-reverse
  • Scarica i video della playlist in ordine inverso, dall'ultimo al primo.
  • -i
  • Ignora gli errori e salta i video non disponibili. Utile quando si scarica una playlist intera che potrebbe contenere video rimossi o bloccati.
  • -a "nome_file.txt"
  • Legge un file di testo contenente una lista di URL o ID video da scaricare. Le righe che iniziano con # vengono ignorate, permettendo di saltare i video non desiderati.
  • --write-sub --sub-lang it
  • Scarica i sottotitoli in formato file separato. --write-sub abilita la scrittura dei sottotitoli, --sub-lang it specifica la lingua italiana .
  • -o
  • Definisce il modello di formattazione del nome del file di output. I parametri disponibili sono descritti nella sezione 4.
  • -x
  • Estrae l'audio dal video, eliminando la traccia video.
  • --audio-format mp3 --audio-quality 320k
  • Specifica il formato audio di output (MP3) e la qualità (320 kbps). Richiede che ffmpeg sia installato .

4 – Parametri dell'opzione: "-o"

  • %(title)s
  • Titolo del video.
  • %(uploader)s
  • Nome del canale che ha caricato il video.
  • %(ext)s
  • Estensione del file di output.
  • %(id)s
  • ID univoco del video su YouTube.
  • %(playlist)s
  • Nome della playlist.
  • %(playlist_index)s
  • Numero di indice del video all'interno della playlist.

4.1 – Esempi comuni di formattazione

  • %(uploader)s - %(title)s.%(ext)s
  • Crea un file con nome "NomeCanale - TitoloVideo.estensione".
  • %(playlist)s/%(playlist_index)s - %(title)s.%(ext)s
  • Crea una cartella con il nome della playlist e all'interno i video numerati con indice e titolo .
  • %(upload_date>%Y)s/%(title)s.%(ext)s
  • Organizza i file in cartelle basate sull'anno di caricamento .

5 – Esempi

5.1 – Personalizzato

<url> Basta l'id del Video, non tutto l'url di YouTube.

Esempio: https://www.youtube.com/watch?v=j0nrkZJ95H8

Dopo ?v= è l'id del video.

https://youtube.com/playlist?list=PLEDdgig4bVqA

Dopo ?list= è l'id della playlist

& Dopo questo non interessa.

yt-dlp.exe --js-runtimes deno --downloader aria2c --add-metadata --embed-thumbnail -f bestvideo+bestaudio -o "%(uploader)s - Arduino da zero in 1 ora per principianti.%(ext)s" --merge-output-format mp4 -i <url>

5.2 – Italiano / Lingua originale

Nota: Servono i cookie per scaricare i video con tracce audio in lingue diverse.

yt-dlp.exe --cookies-from-browser firefox --js-runtimes deno --downloader aria2c --add-metadata --embed-thumbnail --audio-multistreams -f bestvideo+bestaudio[language=it]+bestaudio --compat filename-sanitization -o "%(uploader)s - %(title)s.%(ext)s" --merge-output-format mp4 -i <url>

5.3 – filename-sanitization

yt-dlp.exe --js-runtimes deno --downloader aria2c --add-metadata --embed-thumbnail -f bestvideo+bestaudio --compat filename-sanitization -o "%(uploader)s - %(title)s.%(ext)s" --merge-output-format mp4 -i <url>

5.4 – Cookies

yt-dlp.exe --cookies-from-browser firefox --js-runtimes deno --downloader aria2c --add-metadata --embed-thumbnail -f bestvideo+bestaudio -o "%(uploader)s - %(title)s.%(ext)s" --merge-output-format mp4 -i <url>

5.5 – mp3

yt-dlp.exe --js-runtimes deno --downloader aria2c --compat filename-sanitization -o "%(title)s.%(ext)s" -x --audio-format mp3 --audio-quality 320k <url>

5.6 – Sottotitoli

yt-dlp.exe --cookies-from-browser firefox --js-runtimes deno --downloader aria2c --add-metadata --embed-thumbnail -f bestvideo+bestaudio --compat filename-sanitization --write-sub --sub-lang it -o "%(uploader)s - %(title)s.%(ext)s" --merge-output-format mp4 -i <url>

5.7 – Playlist

yt-dlp.exe --cookies-from-browser firefox --js-runtimes deno --downloader aria2c --add-metadata --embed-thumbnail -f bestvideo+bestaudio --compat filename-sanitization -o "%(uploader)s - /%(playlists)s/%(title)s.%(ext)s" --merge-output-format mp4 --playlist-start 1 --playlist-end 30 -i <url>

5.8 – Only video

Con cookie

yt-dlp.exe --cookies-from-browser firefox --js-runtimes deno --downloader aria2c --add-metadata --embed-thumbnail bestvideo[ext=mp4] --compat filename-sanitization -o "%(uploader)s - %(title)s.%(ext)s" --merge-output-format mp4 -i <url>

Senza cookie

yt-dlp.exe --js-runtimes deno --downloader aria2c --add-metadata --embed-thumbnail bestvideo[ext=mp4] --compat filename-sanitization -o "%(uploader)s - %(title)s.%(ext)s" --merge-output-format mp4 -i <url>
Torna agli appunti v1.0 — 21-09-2026