Youtube-dl è il mio gestore di download da riga di comando preferito e preferito. Lo uso spesso per scaricare audio, video e film da Internet. Oggi ho provato a scaricare un video da YouTube utilizzando youdtube-dl dal mio desktop Linux e ho ricevuto questo messaggio di errore - Impossibile scaricare i dati video:Errore HTTP 403:vietato . Di solito, la maggior parte degli errori di youtube-dl verranno corretti dopo l'aggiornamento di youtube-dl. Quindi ho aggiornato youtube-dl usando il comando:
$ sudo youtube-dl -U
È già aggiornato! Ho la versione più recente.
E poi ho riprovato a scaricare il video con il comando:
$ youtube-dl https://www.youtube.com/watch?v=4jTy5jnMkYc
Ma ottengo lo stesso errore:
[youtube] 4jTy5jnMkYc: Downloading webpage WARNING: Requested formats are incompatible for merge and will be merged into mkv. ERROR: unable to download video data: HTTP Error 403: Forbidden
Se hai mai riscontrato questo errore, segui i passaggi indicati di seguito per risolverlo.
Correzione dell'errore "Impossibile scaricare i dati video:errore HTTP 403:proibito" durante il download di file multimediali con Youtube-dl in Linux
Questo errore si verificherà probabilmente a causa della cache di Youtube-dl. Per risolverlo, rimuovi semplicemente la cache per youtube-dl usando il comando:
$ youtube-dl --rm-cache-dir
Questo comando di comando rimuoverà la directory di memorizzazione nella cache locale per youtube-dl. Nel mio caso, ha rimosso la seguente directory:
Removing cache dir /home/sk/.cache/youtube-dl ...
Se usi Youtube-dl nel codice Python, quanto segue ti aiuterà a correggere questo errore.
# 'cachedir': False -> don't use a local caching dir (~/.cache/youtube-dl) ydl_opts = {..., 'cachedir': False } with youtube_dl.YoutubeDL(ydl_opts) as ydl: result = ydl.extract_info(url)
Ora posso scaricare i video di YouTube senza problemi.
$ youtube-dl https://www.youtube.com/watch?v=4jTy5jnMkYc
[youtube] 4jTy5jnMkYc: Downloading webpage [youtube] 4jTy5jnMkYc: Downloading js player vflset [youtube] 4jTy5jnMkYc: Downloading js player vflset WARNING: Requested formats are incompatible for merge and will be merged into mkv. [download] Destination: Takkar _ Nira Song Lyric Video _ Siddharth _ Sid Sriram _ Gautham Menon _ Nivas K Prasanna-4jTy5jnMkYc.f137.mp4 [download] 100% of 29.87MiB in 00:24 [download] Destination: Takkar _ Nira Song Lyric Video _ Siddharth _ Sid Sriram _ Gautham Menon _ Nivas K Prasanna-4jTy5jnMkYc.f251.webm [download] 100% of 5.10MiB in 00:04 [ffmpeg] Merging formats into "Takkar _ Nira Song Lyric Video _ Siddharth _ Sid Sriram _ Gautham Menon _ Nivas K Prasanna-4jTy5jnMkYc.mkv" Deleting original file Takkar _ Nira Song Lyric Video _ Siddharth _ Sid Sriram _ Gautham Menon _ Nivas K Prasanna-4jTy5jnMkYc.f137.mp4 (pass -k to keep) Deleting original file Takkar _ Nira Song Lyric Video _ Siddharth _ Sid Sriram _ Gautham Menon _ Nivas K Prasanna-4jTy5jnMkYc.f251.webm (pass -k to keep)
Come probabilmente avrai notato, c'è un messaggio di avviso nel comando precedente:
[...] WARNING: Requested formats are incompatible for merge and will be merged into mkv. [...]
Questo non è in realtà un problema ma un comportamento previsto per il comando youtube-dl. Per impostazione predefinita, youtube-dl scaricherà l'audio della massima qualità e i flussi video della massima qualità disponibili e quindi li unirà a un contenitore compatibile come mkv, mp4 ecc. Se questi flussi audio e video non si adattano bene a un contenitore mp4, youtube -dl li impacchetterà quindi nel contenitore mkv e visualizzerà il messaggio di avviso sopra. In questi casi, puoi ignorare l'avviso mkv e scaricare la migliore qualità video e la migliore qualità audio ma solo in un contenitore mp4 menzionando esplicitamente i formati audio e video desiderati della migliore qualità come di seguito:
$ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]' https://www.youtube.com/watch?v=4jTy5jnMkYc
Per ulteriori esempi di comandi Youtube-dl, fare riferimento alla seguente guida.
- Tutorial Youtube-dl con esempi per principianti
Spero che questo aiuti.