youtube-dl: Unsupported JS expression '['

Checklist

  • I’m reporting a broken site support issue
  • I’ve verified that I’m running youtube-dl version 2020.06.16.1
  • 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

C:\Users\dan>youtube-dl https://www.youtube.com/watch?v=moZtoMP7HAA -v
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['https://www.youtube.com/watch?v=moZtoMP7HAA', '-v']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] youtube-dl version 2020.06.16.1
[debug] Python version 3.8.3 (CPython) - Windows-10-10.0.18362-SP0
[debug] exe versions: ffmpeg git-2020-06-17-0b3bd00, ffprobe git-2020-06-17-0b3bd00
[debug] Proxy map: {}
[youtube] moZtoMP7HAA: Downloading webpage
[youtube] {18} signature length 108, html5 player f82a8c37
[youtube] moZtoMP7HAA: Downloading player https://www.youtube.com/s/player/f82a8c37/player_ias.vflset/en_US/base.js
ERROR: Signature extraction failed: Traceback (most recent call last):
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\extractor\youtube.py", line 1425, in _decrypt_signature
    func = self._extract_signature_function(
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\extractor\youtube.py", line 1338, in _extract_signature_function
    cache_res = res(test_string)
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\extractor\youtube.py", line 1402, in <lambda>
    return lambda s: initial_function([s])
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 258, in resf
    res, abort = self.interpret_statement(stmt, local_vars)
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 56, in interpret_statement
    v = self.interpret_expression(expr, local_vars, allow_recursion)
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 91, in interpret_expression
    right_val = self.interpret_expression(
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 188, in interpret_expression
    x, abort = self.interpret_statement(
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 56, in interpret_statement
    v = self.interpret_expression(expr, local_vars, allow_recursion)
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 211, in interpret_expression
    raise ExtractorError('Unsupported JS expression %r' % expr)
youtube_dl.utils.ExtractorError: Unsupported JS expression '['; 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.
 (caused by ExtractorError("Unsupported JS expression '['; 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.")); 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 "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\extractor\youtube.py", line 1425, in _decrypt_signature
    func = self._extract_signature_function(
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\extractor\youtube.py", line 1338, in _extract_signature_function
    cache_res = res(test_string)
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\extractor\youtube.py", line 1402, in <lambda>
    return lambda s: initial_function([s])
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 258, in resf
    res, abort = self.interpret_statement(stmt, local_vars)
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 56, in interpret_statement
    v = self.interpret_expression(expr, local_vars, allow_recursion)
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 91, in interpret_expression
    right_val = self.interpret_expression(
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 188, in interpret_expression
    x, abort = self.interpret_statement(
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 56, in interpret_statement
    v = self.interpret_expression(expr, local_vars, allow_recursion)
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 211, in interpret_expression
    raise ExtractorError('Unsupported JS expression %r' % expr)
youtube_dl.utils.ExtractorError: Unsupported JS expression '['; 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 "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\extractor\youtube.py", line 1425, in _decrypt_signature
    func = self._extract_signature_function(
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\extractor\youtube.py", line 1338, in _extract_signature_function
    cache_res = res(test_string)
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\extractor\youtube.py", line 1402, in <lambda>
    return lambda s: initial_function([s])
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 258, in resf
    res, abort = self.interpret_statement(stmt, local_vars)
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 56, in interpret_statement
    v = self.interpret_expression(expr, local_vars, allow_recursion)
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 91, in interpret_expression
    right_val = self.interpret_expression(
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 188, in interpret_expression
    x, abort = self.interpret_statement(
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 56, in interpret_statement
    v = self.interpret_expression(expr, local_vars, allow_recursion)
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 211, in interpret_expression
    raise ExtractorError('Unsupported JS expression %r' % expr)
youtube_dl.utils.ExtractorError: Unsupported JS expression '['; 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.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\YoutubeDL.py", line 797, in extract_info
    ie_result = ie.extract(url)
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\extractor\common.py", line 530, in extract
    ie_result = self._real_extract(url)
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\extractor\youtube.py", line 2106, in _real_extract
    signature = self._decrypt_signature(
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\extractor\youtube.py", line 1435, in _decrypt_signature
    raise ExtractorError(
youtube_dl.utils.ExtractorError: Signature extraction failed: Traceback (most recent call last):
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\extractor\youtube.py", line 1425, in _decrypt_signature
    func = self._extract_signature_function(
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\extractor\youtube.py", line 1338, in _extract_signature_function
    cache_res = res(test_string)
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\extractor\youtube.py", line 1402, in <lambda>
    return lambda s: initial_function([s])
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 258, in resf
    res, abort = self.interpret_statement(stmt, local_vars)
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 56, in interpret_statement
    v = self.interpret_expression(expr, local_vars, allow_recursion)
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 91, in interpret_expression
    right_val = self.interpret_expression(
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 188, in interpret_expression
    x, abort = self.interpret_statement(
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 56, in interpret_statement
    v = self.interpret_expression(expr, local_vars, allow_recursion)
  File "c:\users\dan\appdata\local\programs\python\python38-32\lib\site-packages\youtube_dl\jsinterp.py", line 211, in interpret_expression
    raise ExtractorError('Unsupported JS expression %r' % expr)
youtube_dl.utils.ExtractorError: Unsupported JS expression '['; 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.
 (caused by ExtractorError("Unsupported JS expression '['; 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.")); 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.

Description

When I try to download this video: https://www.youtube.com/watch?v=moZtoMP7HAA, it gives me the error: “Unsupported JS expression ‘[’”, and it happens with any video that has special characters in the title, such as https://www.youtube.com/watch?v=yzC4hFK5P3g. Not sure what to do.

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 19
  • Comments: 15

Commits related to this issue

Most upvoted comments

I think we have enough backtraces 😛 this is happening on all videos for everyone as far as I can tell.

I think everything opened in the last hour or so is the same underlying issue.