Youtube-dl ist mein bevorzugter Befehlszeilen-Download-Manager. Ich benutze es oft, um Audios, Videos und Filme aus dem Internet herunterzuladen. Heute habe ich versucht, ein Video von YouTube mit youdtube-dl von meinem Linux-Desktop herunterzuladen, und habe diese Fehlermeldung erhalten - Videodaten können nicht heruntergeladen werden:HTTP-Fehler 403:Verboten . Normalerweise werden die meisten youtube-dl-Fehler nach der Aktualisierung von youtube-dl behoben. Also habe ich youtube-dl mit dem Befehl aktualisiert:
$ sudo youtube-dl -U
Es ist bereits aktualisiert! Ich habe die neueste Version.
Und dann habe ich erneut versucht, das Video mit dem Befehl herunterzuladen:
$ youtube-dl https://www.youtube.com/watch?v=4jTy5jnMkYc
Aber ich bekomme den gleichen Fehler:
[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
Wenn Sie jemals auf diesen Fehler gestoßen sind, führen Sie die folgenden Schritte aus, um ihn zu beheben.
Behebung des Fehlers „Videodaten können nicht heruntergeladen werden:HTTP-Fehler 403:Verboten“ beim Herunterladen von Mediendateien mit Youtube-dl unter Linux
Dieser Fehler wird wahrscheinlich aufgrund des Youtube-dl-Cache auftreten. Um das Problem zu beheben, entfernen Sie einfach den Cache für youtube-dl mit dem Befehl:
$ youtube-dl --rm-cache-dir
Dieser Befehl entfernt das lokale Caching-Verzeichnis für youtube-dl. In meinem Fall wurde das folgende Verzeichnis entfernt:
Removing cache dir /home/sk/.cache/youtube-dl ...
Wenn Sie Youtube-dl im Python-Code verwenden, hilft Folgendes, diesen Fehler zu beheben.
# '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)
Jetzt kann ich die YouTube-Videos ohne Probleme herunterladen.
$ 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)
Wie Sie wahrscheinlich bemerkt haben, enthält der obige Befehl eine Warnmeldung:
[...] WARNING: Requested formats are incompatible for merge and will be merged into mkv. [...]
Dies ist eigentlich kein Problem, sondern ein erwartetes Verhalten für den Befehl youtube-dl. Standardmäßig lädt youtube-dl die hochwertigsten verfügbaren Audio- und Videostreams herunter und fügt sie dann in einen kompatiblen Container wie mkv, mp4 usw. ein. Wenn diese Audio- und Videostreams nicht gut in einen mp4-Container passen, youtube -dl packt sie dann in den mkv-Container und zeigt die obige Warnmeldung an. In solchen Fällen können Sie die mkv-Warnung ignorieren und das beste Video und die beste Audioqualität aber nur in einem mp4-Container herunterladen durch explizite Erwähnung der gewünschten Audio- und Videoformate in bester Qualität wie unten:
$ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]' https://www.youtube.com/watch?v=4jTy5jnMkYc
Weitere Youtube-dl-Befehlsbeispiele finden Sie in der folgenden Anleitung.
- Youtube-dl Tutorial mit Beispielen für Anfänger
Hoffe das hilft.