ytdl-org / youtube-dl

Command-line program to download videos from YouTube.com and other video sites
http://ytdl-org.github.io/youtube-dl/
The Unlicense
132.54k stars 10.05k forks source link

[YouTube] ERROR: Signature extraction failed, KeyError QV #32314

Open steelliberty opened 1 year ago

steelliberty commented 1 year ago

[Update] This issue is solved: see https://github.com/ytdl-org/youtube-dl/issues/32314#issuecomment-1595779984.

Checklist

Verbose log

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://youtube.com/watch?v=zO6vvA4-hBs']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Python 3.10.11 (CPython x86_64 64bit) - Linux-5.19.0-45-generic-x86_64-with-glibc2.36 - OpenSSL 1.1.1t  7 Feb 2023 - glibc 2.36
[debug] exe versions: ffmpeg 5.1.1, ffprobe 5.1.1
[debug] Proxy map: {}
[youtube] zO6vvA4-hBs: Downloading webpage
[youtube] zO6vvA4-hBs: Downloading player 6ed0d907
ERROR: Signature extraction failed: Traceback (most recent call last):
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1585, in _decrypt_signature
    func = self._extract_signature_function(
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1510, in _extract_signature_function
    cache_res = res(test_string)
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1574, in <lambda>
    return lambda s: initial_function([s])
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 36, in __call__
    return self.func(*args, **kwargs)
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 1037, in resf
    ret, should_abort = self.interpret_statement(code.replace('\n', ' '), var_stack, allow_recursion - 1)
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 441, in interpret_statement
    ret, should_return = self.interpret_statement(sub_stmt, local_vars, allow_recursion)
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 915, in interpret_statement
    return eval_method(), should_return
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 907, in eval_method
    return obj[idx](argvals, allow_recursion=allow_recursion)
KeyError: 'QV'
 (caused by KeyError('QV')); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1585, in _decrypt_signature
    func = self._extract_signature_function(
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1510, in _extract_signature_function
    cache_res = res(test_string)
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1574, in <lambda>
    return lambda s: initial_function([s])
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 36, in __call__
    return self.func(*args, **kwargs)
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 1037, in resf
    ret, should_abort = self.interpret_statement(code.replace('\n', ' '), var_stack, allow_recursion - 1)
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 441, in interpret_statement
    ret, should_return = self.interpret_statement(sub_stmt, local_vars, allow_recursion)
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 915, in interpret_statement
    return eval_method(), should_return
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 907, in eval_method
    return obj[idx](argvals, allow_recursion=allow_recursion)
KeyError: 'QV'
Traceback (most recent call last):
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1585, in _decrypt_signature
    func = self._extract_signature_function(
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1510, in _extract_signature_function
    cache_res = res(test_string)
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1574, in <lambda>
    return lambda s: initial_function([s])
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 36, in __call__
    return self.func(*args, **kwargs)
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 1037, in resf
    ret, should_abort = self.interpret_statement(code.replace('\n', ' '), var_stack, allow_recursion - 1)
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 441, in interpret_statement
    ret, should_return = self.interpret_statement(sub_stmt, local_vars, allow_recursion)
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 915, in interpret_statement
    return eval_method(), should_return
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 907, in eval_method
    return obj[idx](argvals, allow_recursion=allow_recursion)
KeyError: 'QV'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 825, in wrapper
    return func(self, *args, **kwargs)
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 846, in __extract_info
    ie_result = ie.extract(url)
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/extractor/common.py", line 535, in extract
    ie_result = self._real_extract(url)
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 2028, in _real_extract
    signature = self._decrypt_signature(sc['s'][0], video_id, player_url)
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1595, in _decrypt_signature
    raise ExtractorError(
youtube_dl.utils.ExtractorError: Signature extraction failed: Traceback (most recent call last):
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1585, in _decrypt_signature
    func = self._extract_signature_function(
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1510, in _extract_signature_function
    cache_res = res(test_string)
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1574, in <lambda>
    return lambda s: initial_function([s])
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 36, in __call__
    return self.func(*args, **kwargs)
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 1037, in resf
    ret, should_abort = self.interpret_statement(code.replace('\n', ' '), var_stack, allow_recursion - 1)
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 441, in interpret_statement
    ret, should_return = self.interpret_statement(sub_stmt, local_vars, allow_recursion)
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 915, in interpret_statement
    return eval_method(), should_return
  File "/var/miniconda3/envs/transcriber/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 907, in eval_method
    return obj[idx](argvals, allow_recursion=allow_recursion)
KeyError: 'QV'
 (caused by KeyError('QV')); please report this issue on https://yt-dl.org/bug .

Description

I am unable to get the filename or download this video. I am using it in python code, but even from the command line the error above occurs.

eric-gilbertson commented 1 year ago

I too have just started getting this error. It occurs on all my attempted downloads both on Mac and Linux.

MCStreetguy commented 1 year ago

Just now started getting the same error under Ubuntu 22.04 on every download i try. Cannot validate on other systems currently. Seems like something suddenly changed on YouTubes side, everything still worked perfectly fine about an hour ago. Tried downloading, dumping information only, with and without authentication, used several URLs from single videos and whole playlists, but it's always the same error for everything i tried. I was using the latest version already but also went and built a fresh version of youtube-dl myself just now from the master branch, but that also changed nothing.

My traceback looks mostly the same, except for the paths up until youtube-dl as i installed it to /usr/local/bin, but find it here anyway if required: https://pastebin.com/UBmBfZPU

gilson-emanuel commented 1 year ago

This error is happening to me too. Does anyone have a solution?

daniel-gonzalez-cedre commented 1 year ago

I just started getting this error a few hours ago as well

raulrozza commented 1 year ago

Just got this error as well, here on Windows

OatsCG commented 1 year ago

Here too on MacOS.

COMMAND: youtube-dl --extract-audio -f 'bestaudio[ext=m4a]' --get-url 'https://www.youtube.com/watch?v=E4E-rIjfPe0'

OUTPUT:


  File "/opt/homebrew/Cellar/youtube-dl/2021.12.17/libexec/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1360, in _decrypt_signature
    func = self._extract_signature_function(
  File "/opt/homebrew/Cellar/youtube-dl/2021.12.17/libexec/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1277, in _extract_signature_function
    cache_res = res(test_string)
  File "/opt/homebrew/Cellar/youtube-dl/2021.12.17/libexec/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1344, in <lambda>
    return lambda s: initial_function([s])
  File "/opt/homebrew/Cellar/youtube-dl/2021.12.17/libexec/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 258, in resf
    res, abort = self.interpret_statement(stmt, local_vars)
  File "/opt/homebrew/Cellar/youtube-dl/2021.12.17/libexec/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 56, in interpret_statement
    v = self.interpret_expression(expr, local_vars, allow_recursion)
  File "/opt/homebrew/Cellar/youtube-dl/2021.12.17/libexec/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 182, in interpret_expression
    return obj[member](argvals)
KeyError: 'QV'
 (caused by KeyError('QV')); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.```
Mochuleo commented 1 year ago

Same here on Linux

Dmi3Dev commented 1 year ago

Confirmed on two different linux machines, both up to date. Worked fine two days ago.

jcoy0907 commented 1 year ago

Same error on Ubuntu Server 20.04 LTS, newest commit.

NidaCode commented 1 year ago

I got the same Error on Windows 10. The traceback was a lot shorter. Then I tried with yt_dlp (youtube_dlp) and it worked fine with me.

OatsCG commented 1 year ago

It appears for me at least on MacOS that it's suddenly working fine now.

davidecavaliere commented 1 year ago

Another youtube downloader is suddenly failing too. From its error message seems dues to the new consent page you'd get redirected too when trying to reach a playlist without being logged in. Screenshot from 2023-06-17 11-47-06

this :point_down: is the other downloader's error message I mentioned Screenshot from 2023-06-17 11-48-21

dirkf commented 1 year ago

This is a new JS issue introduced with player 6ed0d907.

See also https://github.com/yt-dlp/yt-dlp/issues/7327.

Sergio00166 commented 1 year ago

I have the same issue

dirkf commented 1 year ago

The signature JS is like this (player line 2632):

Lsa = {
  a = a.split('');
  AH.QV(a, 46);
  AH.pO(a, 1);
  AH.QV(a, 26);
  AH.LR(a, 56);
  AH.pO(a, 3);
  AH.QV(a, 24);
  AH.pO(a, 2);
  return a.join('')
};

var Lsa is declared at the start of the player. var AH is defined much later, on lines 8734-6:

var AH = {
  LR: function (a, b) {
    var c = a[0];
    a[0] = a[b % a.length];
    a[b % a.length] = c
  },
  QV: function (a) {
    a.reverse()
  },
  pO: function (a, b) {
    a.splice(0, b)
  }
};

Because of var hoisting (thanks Brendan), AH is in scope when the assignment to Lsa is executed. However, we are not constructing or passing the gigantic local context, including AH, to the signature function.

Sergio00166 commented 1 year ago

the library yt_dlp worked fine for me

stillearnin commented 1 year ago

This is also happening to me.. ive tried many times. Has anyone found a solution?

dirkf commented 1 year ago

This is also happening to me.. ive tried many times. Has anyone found a solution?

No, have you?

stillearnin commented 1 year ago

I've been looking but have not found anything yet..

dirkf commented 1 year ago

@davidecavaliere, please open a new issue (subject to #30839) for the consent issue, if it affects yt-dl.

dirkf commented 1 year ago

Per https://github.com/yt-dlp/yt-dlp/issues/7327#issuecomment-1595764214, there is a short-term fix that needs to be verified before pushing to master.

thedtvn commented 1 year ago

same err

dirkf commented 1 year ago

The issue is fixed (until some new player breaks the hack) in the master code. Follow updating instructions in #31530 until a new release is made.

dirkf commented 1 year ago

I'll leave this open for now as a honeypot for affected users ...

japandotorg commented 1 year ago

Gettings this as well

discord.ext.commands.errors.CommandInvokeError: Command raised an exception: DownloadError: ERROR: Signature extraction failed: Traceback (most recent call last):
  File "{HOME}/.local/share/Red-DiscordBot/data/namora/cogs/Downloader/lib/youtube_dl/extractor/youtube.py", line 1360, in _decrypt_signature
    func = self._extract_signature_function(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "{HOME}/.local/share/Red-DiscordBot/data/namora/cogs/Downloader/lib/youtube_dl/extractor/youtube.py", line 1277, in _extract_signature_function
    cache_res = res(test_string)
                ^^^^^^^^^^^^^^^^
  File "{HOME}/.local/share/Red-DiscordBot/data/namora/cogs/Downloader/lib/youtube_dl/extractor/youtube.py", line 1344, in <lambda>
    return lambda s: initial_function([s])
                     ^^^^^^^^^^^^^^^^^^^^^
  File "{HOME}/.local/share/Red-DiscordBot/data/namora/cogs/Downloader/lib/youtube_dl/jsinterp.py", line 258, in resf
    res, abort = self.interpret_statement(stmt, local_vars)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "{HOME}/.local/share/Red-DiscordBot/data/namora/cogs/Downloader/lib/youtube_dl/jsinterp.py", line 56, in interpret_statement
    v = self.interpret_expression(expr, local_vars, allow_recursion)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "{HOME}/.local/share/Red-DiscordBot/data/namora/cogs/Downloader/lib/youtube_dl/jsinterp.py", line 182, in interpret_expression
    return obj[member](argvals)
           ~~~^^^^^^^^
KeyError: 'QV'
 (caused by KeyError('QV')); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
dirkf commented 1 year ago

@japandotorg, @masterivanic, @shankar-v, @stm32learn, @Arkansis2901, @NStuster: https://github.com/ytdl-org/youtube-dl/issues/32314#issuecomment-1595779984

@thedtvn, you are not running the commit that you think you are, which would have been apparent if you'd posted the whole log.

thedtvn commented 1 year ago

@japandotorg: #32314 (comment)

@thedtvn, you are not running the commit that you think you are, which would have been apparent if you'd posted the whole log.

sorry

masterivanic commented 1 year ago

same error, KeyError: 'QV' (caused by KeyError('QV'));

shankar-v commented 1 year ago

I think the problem that i am seeing is reported here. I am in the windows environment with the latest version

youtube-dl.exe --verbose https://www.youtube.com/watch?v=w265XTgOd0s [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: ['--verbose', 'https://www.youtube.com/watch?v=w265XTgOd0s'] [debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252 [debug] youtube-dl version 2021.12.17 [debug] Python version 3.4.4 (CPython) - Windows-10-10.0.22621 [debug] exe versions: none [debug] Proxy map: {} [youtube] w265XTgOd0s: Downloading webpage [youtube] w265XTgOd0s: Downloading player 6ed0d907 ERROR: Signature extraction failed: Traceback (most recent call last): File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\youtube.py", line 1361, in _decrypt_signature File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\youtube.py", line 1277, in _extract_signature_function File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\youtube.py", line 1344, in File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\jsinterp.py", line 258, in resf File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\jsinterp.py", line 56, in interpret_statement File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\jsinterp.py", line 182, in interpret_expression KeyError: 'QV' (caused by KeyError('QV',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose flag and include its complete output. Traceback (most recent call last): File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\youtube.py", line 1361, in _decrypt_signature File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\youtube.py", line 1277, in _extract_signature_function File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\youtube.py", line 1344, in File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\jsinterp.py", line 258, in resf File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\jsinterp.py", line 56, in interpret_statement File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\jsinterp.py", line 182, in interpret_expression KeyError: 'QV' Traceback (most recent call last): File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\youtube.py", line 1361, in _decrypt_signature File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\youtube.py", line 1277, in _extract_signature_function File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\youtube.py", line 1344, in File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\jsinterp.py", line 258, in resf File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\jsinterp.py", line 56, in interpret_statement File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\jsinterp.py", line 182, in interpret_expression KeyError: 'QV'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\YoutubeDL.py", line 815, in wrapper File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\YoutubeDL.py", line 836, in __extract_info File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\common.py", line 534, in extract File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\youtube.py", line 1641, in _real_extract File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\youtube.py", line 1371, in _decrypt_signature youtube_dl.utils.ExtractorError: Signature extraction failed: Traceback (most recent call last): File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\youtube.py", line 1361, in _decrypt_signature File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\youtube.py", line 1277, in _extract_signature_function File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\youtube.py", line 1344, in File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\jsinterp.py", line 258, in resf File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\jsinterp.py", line 56, in interpret_statement File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\jsinterp.py", line 182, in interpret_expression KeyError: 'QV' (caused by KeyError('QV',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

mmahdium commented 1 year ago

I'm having the exact same error. I have the latest version installed. No matter what I've tried it still has the same error. Tried it on replit(python), window 10, linux and all have the same error.

Arkansis2901 commented 1 year ago

Hi, i also have a problem, that my youtube-dl doesn't work for my bot. Every time when i typ in the code, it pops up an Error.... Idk why either the AI can help me or my friends, know i am asking y'all for help....

NStuster commented 1 year ago

Since today here too, on ubuntu in WSL in win 11: KeyError: 'QV'

ERROR: Signature extraction failed: Traceback (most recent call last): File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1584, in _decrypt_signature func = self._extract_signature_function( File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1506, in _extract_signature_function cache_res = res(test_string) File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1573, in return lambda s: initial_function([s]) File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 964, in resf ret, should_abort = self.interpret_statement(code.replace('\n', ' '), var_stack, allow_recursion - 1) File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 403, in interpret_statement ret, should_return = self.interpret_statement(sub_stmt, local_vars, allow_recursion) File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 855, in interpret_statement return eval_method(), should_return File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 847, in eval_method return obj[idx](argvals, allow_recursion=allow_recursion) KeyError: 'QV' (caused by KeyError('QV')); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see https://yt-dl.org/update on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output. Traceback (most recent call last): File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1584, in _decrypt_signature func = self._extract_signature_function( File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1506, in _extract_signature_function cache_res = res(test_string) File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1573, in return lambda s: initial_function([s]) File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 964, in resf ret, should_abort = self.interpret_statement(code.replace('\n', ' '), var_stack, allow_recursion - 1) File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 403, in interpret_statement ret, should_return = self.interpret_statement(sub_stmt, local_vars, allow_recursion) File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 855, in interpret_statement return eval_method(), should_return File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 847, in eval_method return obj[idx](argvals, allow_recursion=allow_recursion) KeyError: 'QV' Traceback (most recent call last): File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1584, in _decrypt_signature func = self._extract_signature_function( File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1506, in _extract_signature_function cache_res = res(test_string) File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1573, in return lambda s: initial_function([s]) File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 964, in resf ret, should_abort = self.interpret_statement(code.replace('\n', ' '), var_stack, allow_recursion - 1) File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 403, in interpret_statement ret, should_return = self.interpret_statement(sub_stmt, local_vars, allow_recursion) File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 855, in interpret_statement return eval_method(), should_return File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 847, in eval_method return obj[idx](argvals, allow_recursion=allow_recursion) KeyError: 'QV'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 819, in wrapper return func(self, *args, **kwargs) File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 840, in __extract_info ie_result = ie.extract(url) File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/extractor/common.py", line 535, in extract ie_result = self._real_extract(url) File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 2017, in _real_extract signature = self._decrypt_signature(sc['s'][0], video_id, player_url) File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1594, in _decrypt_signature raise ExtractorError( youtube_dl.utils.ExtractorError: Signature extraction failed: Traceback (most recent call last): File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1584, in _decrypt_signature func = self._extract_signature_function( File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1506, in _extract_signature_function cache_res = res(test_string) File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1573, in return lambda s: initial_function([s]) File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 964, in resf ret, should_abort = self.interpret_statement(code.replace('\n', ' '), var_stack, allow_recursion - 1) File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 403, in interpret_statement ret, should_return = self.interpret_statement(sub_stmt, local_vars, allow_recursion) File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 855, in interpret_statement return eval_method(), should_return File "/home/nikki/.local/lib/python3.10/site-packages/youtube_dl/jsinterp.py", line 847, in eval_method return obj[idx](argvals, allow_recursion=allow_recursion) KeyError: 'QV'