question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[YouTube] Signature videos return 403 forbidden sporadically from multiple locations

See original GitHub issue

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.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:18

github_iconTop GitHub Comments

2reactions
MSaucecommented, Apr 10, 2020

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.

0reactions
MSaucecommented, Apr 17, 2020

Just wanted to follow up - this issue recurred again today roughly 1 week after clearing the cached sigfuncs folder. Same fix resolved the issue. Since dstftw refuses to consider this an issue, a temporary solution is to set a cron deleting /.cache/youtube-dl/youtube-sigfuncs/* or running youtube-dl --rm-cache-dir.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Youtube-dl library and ERROR 403: Forbidden when using ...
This happens only with only some exact videos, but there are a lot of them. Some of videos that returns 403: https://www.youtube.com/watch?v= ...
Read more >
What Does a 403 Forbidden Error Mean? How Do You Fix It?
The error is essentially saying "Go away and don't come back here" because the server's access permissions indicate that you're truly not ...
Read more >
403 Forbidden error: What it is and how to fix it - Allconnect.com
The reason might be within your control – but it's more likely caused by something on the content owner or server side. The...
Read more >
HTTP 403 Forbidden | What is 403 Forbidden Error and How ...
HTTP 403 forbidden error code means that the server understood the request but will not process it. Learn more about 403 forbidden error ......
Read more >
Trying to play most Youtube videos results in an HTTP 403 ...
It would appear that this might be Youtube attempting to block direct access to the Google Video CDN servers for most videos (likely...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found