Поиск по сайту:

Исправлена ошибка «Невозможно загрузить видеоданные: Ошибка HTTP 403: Запрещено».

Youtube-dl — мой любимый и любимый менеджер загрузок из командной строки. Я часто использую его для загрузки аудио, видео и фильмов из Интернета. Сегодня я попытался загрузить видео с YouTube с помощью youdtube-dl со своего рабочего стола Linux и получил следующее сообщение об ошибке: Невозможно загрузить видеоданные: Ошибка 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

Если вы когда-либо сталкивались с этой ошибкой, следуйте инструкциям ниже, чтобы исправить ее.

Исправить ошибку «Невозможно загрузить видеоданные: ошибка HTTP 403: запрещено» при загрузке медиафайлов с помощью Youtube-dl в Linux.

Эта ошибка, вероятно, произойдет из-за кеша Youtube-dl. Чтобы это исправить, просто удалите кеш youtube-dl с помощью команды:

youtube-dl --rm-cache-dir

Эта команда удалит локальный каталог кэширования для youtube-dl. В моем случае он удалил следующий каталог:

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

Если вы используете Youtube-dl в коде Python, следующее поможет исправить эту ошибку.

    # '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 не помещается в контейнер mp4. -dl затем упакует их в контейнер MKV и отобразит приведенное выше предупреждающее сообщение. В таких случаях вы можете игнорировать предупреждение MKV и загрузить видео и аудио наилучшего качества но только в контейнере mp4, явно указав желаемые форматы аудио и видео наилучшего качества, как показано ниже:

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

Дополнительные примеры команд Youtube-dl см. в следующем руководстве.

  • Руководство по YouTube-dl с примерами для начинающих

Надеюсь это поможет.

Статьи по данной тематике