修复“无法下载视频数据:HTTP 错误 403:禁止”错误

优酷 是我最喜欢和首选的命令行下载管理器。 我经常用它从 Internet 下载音频、视频和电影。 今天,我尝试从 Linux 桌面使用 youdtube-dl 从 YouTube 下载视频并收到此错误消息 – 无法下载视频数据:HTTP 错误 403:禁止. 通常,大多数 youtube-dl 错误将在更新 youtube-dl 后修复。 所以我使用命令更新了 youtube-dl:

$ sudo youtube-dl -U

它已经更新了! 我有最新版本。

然后我再次尝试使用命令下载视频:

$ youtube-dl https://www.youtube.com/watch?v=4jTy5jnMkYc

但我得到同样的错误:

[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

如果您遇到过此错误,请按照下面给出的步骤进行修复。

修复在 Linux 中使用 Youtube-dl 下载媒体文件时出现“无法下载视频数据:HTTP 错误 403:禁止”错误

由于 Youtube-dl 缓存,可能会发生此错误。 要修复它,只需使用以下命令删除 youtube-dl 的缓存:

$ youtube-dl --rm-cache-dir

此命令命令将删除 youtube-dl 的本地缓存目录。 就我而言,它删除了以下目录:

Removing cache dir /home/sk/.cache/youtube-dl ...

如果您在 Python 代码中使用 Youtube-dl,以下内容将有助于修复此错误。

    # '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) 

现在,我可以毫无问题地下载 youtube 视频。

$ 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)

您可能已经注意到,上面的命令中有一条警告消息:

[...] WARNING: Requested formats are incompatible for merge and will be merged into mkv. [...]

这实际上不是问题,而是 youtube-dl 命令的预期行为。 默认情况下,youtube-dl 将下载可用的最高质量音频和最高质量视频流,然后将它们加入兼容的容器中,如 mkv、mp4 等。如果这些音频和视频流不适合 mp4 容器,youtube -dl 然后会将它们打包到 mkv 容器中并显示上述警告消息。 在这种情况下,您可以忽略 mkv 警告并下载最优质的视频和最优质的音频 但仅在 mp4 容器中 通过明确提及所需的最佳质量音频和视频格式,如下所示:

$ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]' https://www.youtube.com/watch?v=4jTy5jnMkYc

有关更多 Youtube-dl 命令示例,请参阅以下指南。

  • Youtube-dl 初学者教程示例

希望这可以帮助。

感谢您的光临!

帮助我们帮助您:

  • 订阅我们的电子邮件通讯: 立即注册
  • 支持 OSTechNix : 通过贝宝捐赠
  • 下载免费电子书和视频: TradePub 上的 OSTechNix
  • 联系我们: 红迪网 | Facebook | 推特 | 领英 | RSS订阅

祝你有美好的一天!!

Linux 故障排除YouTubeyoutube-dlYoutube-dl 命令