youtube-dl: [YouTube] Signature videos return 403 forbidden sporadically from multiple locations

Checklist

  • I’m reporting a broken site support issue
  • I’ve verified that I’m running youtube-dl version 2020.03.24
  • I’ve checked that all provided URLs are alive and playable in a browser
  • I’ve checked that all URLs and arguments with special characters are properly quoted or escaped
  • I’ve searched the bugtracker for similar bug reports including closed ones
  • I’ve read bugs section in FAQ

Verbose log

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://www.youtube.com/watch?v=Vs6sWjiE9Yo']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2020.03.24
[debug] Python version 3.8.0 (CPython) - macOS-10.15.4-x86_64-i386-64bit
[debug] exe versions: ffmpeg 4.2.2, ffprobe 4.2.2, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] Vs6sWjiE9Yo: Downloading webpage
[youtube] {18} signature length 112, html5 player vflset
[youtube] {137} signature length 108, html5 player vflset
[youtube] {248} signature length 108, html5 player vflset
[youtube] {136} signature length 112, html5 player vflset
[youtube] {247} signature length 108, html5 player vflset
[youtube] {135} signature length 108, html5 player vflset
[youtube] {244} signature length 112, html5 player vflset
[youtube] {134} signature length 112, html5 player vflset
[youtube] {243} signature length 112, html5 player vflset
[youtube] {133} signature length 112, html5 player vflset
[youtube] {242} signature length 112, html5 player vflset
[youtube] {160} signature length 112, html5 player vflset
[youtube] {278} signature length 112, html5 player vflset
[youtube] {140} signature length 108, html5 player vflset
[youtube] {249} signature length 112, html5 player vflset
[youtube] {250} signature length 112, html5 player vflset
[youtube] {251} signature length 112, html5 player vflset
[debug] Default format spec: bestvideo+bestaudio/best
WARNING: Requested formats are incompatible for merge and will be merged into mkv.
[debug] Invoking downloader on 'https://r5---sn-5ualdn7r.googlevideo.com/videoplayback?expire=1586502501&ei=BMePXtzHOayYkATIxK7ADQ&ip=XXXXXXXXXXX&id=o-AAH0LVoUlAR7RQ1qGwQvTPRuyctCFU5JhzcD7iKPqh6K&itag=137&aitags=133%2C134%2C135%2C136%2C137%2C160%2C242%2C243%2C244%2C247%2C248%2C278&source=youtube&requiressl=yes&mh=Ks&mm=31%2C29&mn=sn-5ualdn7r%2Csn-5uaeznkl&ms=au%2Crdu&mv=m&mvi=4&pl=21&gcr=us&initcwndbps=891250&vprv=1&mime=video%2Fmp4&gir=yes&clen=13539610&dur=156.840&lmt=1569617025630284&mt=1586480860&fvip=5&keepalive=yes&beids=9466585&c=WEB&txp=8311222&sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cgcr%2Cvprv%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=ALrAebAwRQIhAIEA4w3kS1womr49qUNdh7X_1lgpaqrXG1UHaqBREOw0AiAzqzIdcowPg-N4dnZH_fJ8cZas3R8Lf2PHlH6Nj5TDdQ%3D%3D&sig=3E777ERE4ptxjqiscEOQz9-1bIMNfwXTJYu9tIti7Tr23jV0BICMYEARq7df8huONwV0uC4INSsqOY_Yn_o0Lkg2lb5rhNgIARwsLlPpJk&ratebypass=yes'
ERROR: unable to download video data: HTTP Error 403: Forbidden
Traceback (most recent call last):
  File "/venv/lib/python3.8/site-packages/youtube_dl/YoutubeDL.py", line 1921, in process_info
    partial_success = dl(fname, new_info)
  File "/venv/lib/python3.8/site-packages/youtube_dl/YoutubeDL.py", line 1866, in dl
    return fd.download(name, info)
  File "/venv/lib/python3.8/site-packages/youtube_dl/downloader/common.py", line 366, in download
    return self.real_download(filename, info_dict)
  File "/venv/lib/python3.8/site-packages/youtube_dl/downloader/http.py", line 341, in real_download
    establish_connection()
  File "/venv/lib/python3.8/site-packages/youtube_dl/downloader/http.py", line 109, in establish_connection
    ctx.data = self.ydl.urlopen(request)
  File "/venv/lib/python3.8/site-packages/youtube_dl/YoutubeDL.py", line 2239, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/.pyenv/versions/3.8.0/lib/python3.8/urllib/request.py", line 531, in open
    response = meth(req, response)
  File "/.pyenv/versions/3.8.0/lib/python3.8/urllib/request.py", line 640, in http_response
    response = self.parent.error(
  File "/.pyenv/versions/3.8.0/lib/python3.8/urllib/request.py", line 569, in error
    return self._call_chain(*args)
  File "/.pyenv/versions/3.8.0/lib/python3.8/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/.pyenv/versions/3.8.0/lib/python3.8/urllib/request.py", line 649, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

Another location and video:

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['https://www.youtube.com/watch?v=WSg4sE0k5PY', '--verbose']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2020.03.24
[debug] Python version 3.8.2 (CPython) - Linux-4.15.0-76-generic-x86_64-with-glibc2.27
[debug] exe versions: ffmpeg 3.4.6, ffprobe 3.4.6
[debug] Proxy map: {}
[youtube] WSg4sE0k5PY: Downloading webpage
[youtube] {18} signature length 112, html5 player vflset
[youtube] {137} signature length 112, html5 player vflset
[youtube] {136} signature length 112, html5 player vflset
[youtube] {135} signature length 112, html5 player vflset
[youtube] {134} signature length 112, html5 player vflset
[youtube] {133} signature length 112, html5 player vflset
[youtube] {160} signature length 112, html5 player vflset
[youtube] {140} signature length 112, html5 player vflset
[youtube] {249} signature length 112, html5 player vflset
[youtube] {250} signature length 112, html5 player vflset
[youtube] {251} signature length 112, html5 player vflset
[debug] Default format spec: bestvideo+bestaudio/best
WARNING: Requested formats are incompatible for merge and will be merged into mkv.
[debug] Invoking downloader on 'https://r1---sn-p5qlsndr.googlevideo.com/videoplayback?expire=1586505050&ei=-tCPXsrIDYGL8gSCiZPIBw&ip=XXXXXXXX&id=o-AJXFGqURHkbncbkHOZnVpzWXvTPYURfZmEcRHte0LSB2&itag=137&aitags=133%2C134%2C135%2C136%2C137%2C160&source=youtube&requiressl=yes&mh=Gd&mm=31%2C26&mn=sn-p5qlsndr%2Csn-4g5edney&ms=au%2Conr&mv=m&mvi=0&pl=21&gcr=pe&initcwndbps=417500&vprv=1&mime=video%2Fmp4&gir=yes&clen=24271081&dur=395.200&lmt=1532365167617179&mt=1586483323&fvip=1&keepalive=yes&c=WEB&sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cgcr%2Cvprv%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=ALrAebAwRQIgECeJEo-oiiBaUtBZYFsPl14gpJ8sh8ewHPMvPf2hOLMCIQC3R3DBRT042RhF5GTLSCsfor8gUGnzzZHRYxB7xI7HsA%3D%3D&sig=0PlLswRQIhAMrZsSSkdUkL8re3qUP5YX903K-RA8EHwP30X64Av8=pAiBkOvteovBv5844prqcReakbNlmmTosg3MLcRLfLpcG_A===888&ratebypass=yes'
ERROR: unable to download video data: HTTP Error 403: Forbidden
Traceback (most recent call last):
  File "/venv/lib/python3.8/site-packages/youtube_dl/YoutubeDL.py", line 1921, in process_info
    partial_success = dl(fname, new_info)
  File "/venv/lib/python3.8/site-packages/youtube_dl/YoutubeDL.py", line 1866, in dl
    return fd.download(name, info)
  File "/venv/lib/python3.8/site-packages/youtube_dl/downloader/common.py", line 366, in download
    return self.real_download(filename, info_dict)
  File "/venv/lib/python3.8/site-packages/youtube_dl/downloader/http.py", line 341, in real_download
    establish_connection()
  File "/venv/lib/python3.8/site-packages/youtube_dl/downloader/http.py", line 109, in establish_connection
    ctx.data = self.ydl.urlopen(request)
  File "/venv/lib/python3.8/site-packages/youtube_dl/YoutubeDL.py", line 2239, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/.pyenv/versions/3.8.0/lib/python3.8/urllib/request.py", line 531, in open
    response = meth(req, response)
  File "/.pyenv/versions/3.8.0/lib/python3.8/urllib/request.py", line 640, in http_response
    response = self.parent.error(
  File "/.pyenv/versions/3.8.0/lib/python3.8/urllib/request.py", line 569, in error
    return self._call_chain(*args)
  File "/.pyenv/versions/3.8.0/lib/python3.8/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/.pyenv/versions/3.8.0/lib/python3.8/urllib/request.py", line 649, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden

Description

I understand you are used to seeing many 403 bug reports that are just throttling/client side/provider site issues. This is NOT a duplicate and only seems to be happening in certain videos with signatures. The videos are all available publicly without an account from my location.

I am experiencing this from multiple locations and environments. It is a new issue that I only started noticing in the last week and it is not consistent. If you attempt the same file over and over you will see mixed successes and errors.

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 18

Most upvoted comments

Interesting - I had a different cache_spec for 108 for that player. After deleting the /.cache/youtube-dl directory, and re-downloading 2 players, it seems to have fixed the issue.