youtube-dl: Getting error message for YouTube Videos (Signature extraction failed)

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.09.01. If it’s not, read this FAQ entry and update. Issues with outdated version will be rejected.

  • I’ve verified and I assure that I’m running youtube-dl 2018.09.01

Before submitting an issue make sure you have:

  • At least skimmed through the README, most notably the FAQ and BUGS sections
  • Searched the bugtracker for similar issues including closed ones
  • Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

  • Bug report (encountered problems with youtube-dl)
  • Site support request (request for adding support for a new site)
  • Feature request (request for a new functionality)
  • Question
  • Other

If I try ’ youtube-dl --skip-download --verbose --print-json 25lnfHkENm4 ’ I often get:

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--skip-download', '--verbose', '--print-json', '25lnfHkENm4']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2018.09.01
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.17134
[debug] exe versions: ffmpeg 4.0.2, ffprobe 4.0.2
[debug] Proxy map: {}
ERROR: Signature extraction failed: Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1210, in _decrypt_signature
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1121, in _extract_signature_function
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1182, in _parse_sig_js
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\common.py", line 972, in _search_regex
youtube_dl.utils.RegexNotFoundError: Unable to extract Initial JS player signature function name; 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.
 (caused by RegexNotFoundError('Unable to extract Initial JS player signature function name; 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.',)); 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\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1210, in _decrypt_signature
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1121, in _extract_signature_function
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1182, in _parse_sig_js
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\common.py", line 972, in _search_regex
youtube_dl.utils.RegexNotFoundError: Unable to extract Initial JS player signature function name; 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\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1210, in _decrypt_signature
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1121, in _extract_signature_function
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1182, in _parse_sig_js
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\common.py", line 972, in _search_regex
youtube_dl.utils.RegexNotFoundError: Unable to extract Initial JS player signature function name; 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.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\YoutubeDL.py", line 792, in extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\common.py", line 502, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1803, in _real_extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1220, 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\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1210, in _decrypt_signature
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1121, in _extract_signature_function
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1182, in _parse_sig_js
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\common.py", line 972, in _search_regex
youtube_dl.utils.RegexNotFoundError: Unable to extract Initial JS player signature function name; 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.
 (caused by RegexNotFoundError('Unable to extract Initial JS player signature function name; 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.',)); 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.

This also happens for all other Youtube videos I’ve tested. I get this error just since today. The last 2 days I had no problems with printing the json video information. But sometimes it works.

Update:

Seems like this is not a problem with the ‘–print-json’ argument. This also happens in other cases. (I just noticed it first with the ‘print-json’). For ’ youtube-dl --verbose 25lnfHkENm4 ’ i get:

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', '25lnfHkENm4']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2018.09.01
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.17134
[debug] exe versions: ffmpeg 4.0.2, ffprobe 4.0.2
[debug] Proxy map: {}
[youtube] 25lnfHkENm4: Downloading webpage
[youtube] 25lnfHkENm4: Downloading video info webpage
[youtube] {22} signature length 41.42, html5 player vflvABTsY
[youtube] 25lnfHkENm4: Downloading player https://www.youtube.com/yts/jsbin/player-vflvABTsY/en_US/base.js
ERROR: Signature extraction failed: Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1210, in _decrypt_signature
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1121, in _extract_signature_function
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1182, in _parse_sig_js
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\common.py", line 972, in _search_regex
youtube_dl.utils.RegexNotFoundError: Unable to extract Initial JS player signature function name; 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.
 (caused by RegexNotFoundError('Unable to extract Initial JS player signature function name; 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.',)); 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\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1210, in _decrypt_signature
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1121, in _extract_signature_function
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1182, in _parse_sig_js
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\common.py", line 972, in _search_regex
youtube_dl.utils.RegexNotFoundError: Unable to extract Initial JS player signature function name; 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\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1210, in _decrypt_signature
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1121, in _extract_signature_function
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1182, in _parse_sig_js
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\common.py", line 972, in _search_regex
youtube_dl.utils.RegexNotFoundError: Unable to extract Initial JS player signature function name; 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.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\YoutubeDL.py", line 792, in extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\common.py", line 502, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1803, in _real_extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1220, 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\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1210, in _decrypt_signature
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1121, in _extract_signature_function
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\youtube.py", line 1182, in _parse_sig_js
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpkzpz548c\build\youtube_dl\extractor\common.py", line 972, in _search_regex
youtube_dl.utils.RegexNotFoundError: Unable to extract Initial JS player signature function name; 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.
 (caused by RegexNotFoundError('Unable to extract Initial JS player signature function name; 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.',)); 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.

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 45
  • Comments: 69 (3 by maintainers)

Commits related to this issue

Most upvoted comments

Can someone try my solution? It’s just a workaround, but currently It works for all video I’ve tested. PR https://github.com/rg3/youtube-dl/pull/17464

pip install git+https://github.com/Khang-NT/youtube-dl.git@fix_js_func_not_found#egg=youtube-dl --upgrade

Stop posting “me too”

It looks like that YouTube shipped a new obfuscated JS player 😦 (code: https://www.youtube.com/yts/jsbin/player-vflvABTsY/en_US/base.js)

Having the same issue too.

Can confirm issue. I propose the title is changed, as it has nothing to do with json information

***-mbp:Desktop foobard$ youtube-dl --verbose https://www.youtube.com/watch?v=a-4GMvayKcE [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: [u’–verbose’, u’https://www.youtube.com/watch?v=a-4GMvayKcE’] [debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8 [debug] youtube-dl version 2018.09.01 [debug] Python version 2.7.15 (CPython) - Darwin-17.5.0-x86_64-i386-64bit [debug] exe versions: ffmpeg 4.0.2, ffprobe 4.0.2 [debug] Proxy map: {} [youtube] a-4GMvayKcE: Downloading webpage [youtube] a-4GMvayKcE: Downloading video info webpage [youtube] {22} signature length 41.42, html5 player vflvABTsY [youtube] a-4GMvayKcE: Downloading player https://www.youtube.com/yts/jsbin/player-vflvABTsY/en_US/base.js ERROR: Signature extraction failed: Traceback (most recent call last): File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1210, in _decrypt_signature video_id, player_url, s File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1121, in _extract_signature_function res = self._parse_sig_js(code) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1182, in _parse_sig_js jscode, ‘Initial JS player signature function name’, group=‘sig’) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py”, line 972, in _search_regex raise RegexNotFoundError(‘Unable to extract %s’ % _name) RegexNotFoundError: Unable to extract Initial JS player signature function name; 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. (caused by RegexNotFoundError(u’Unable to extract \x1b[0;34mInitial JS player signature function name\x1b[0m; 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.',)); 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 “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1210, in _decrypt_signature video_id, player_url, s File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1121, in _extract_signature_function res = self._parse_sig_js(code) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1182, in _parse_sig_js jscode, ‘Initial JS player signature function name’, group=‘sig’) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py”, line 972, in _search_regex raise RegexNotFoundError(‘Unable to extract %s’ % _name) RegexNotFoundError: Unable to extract Initial JS player signature function name; 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 “/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py”, line 792, in extract_info ie_result = ie.extract(url) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py”, line 502, in extract ie_result = self._real_extract(url) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1803, in _real_extract encrypted_sig, video_id, player_url, age_gate) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1220, in _decrypt_signature ‘Signature extraction failed: ’ + tb, cause=e) ExtractorError: Signature extraction failed: Traceback (most recent call last): File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1210, in _decrypt_signature video_id, player_url, s File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1121, in _extract_signature_function res = self._parse_sig_js(code) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1182, in _parse_sig_js jscode, ‘Initial JS player signature function name’, group=‘sig’) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py”, line 972, in _search_regex raise RegexNotFoundError(‘Unable to extract %s’ % _name) RegexNotFoundError: Unable to extract Initial JS player signature function name; 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. (caused by RegexNotFoundError(u’Unable to extract \x1b[0;34mInitial JS player signature function name\x1b[0m; 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.’,)); 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.

***-mbp:Desktop foobard$ youtube-dl -U youtube-dl is up-to-date (2018.09.01)

@orzFly

It looks like that YouTube shipped a new obfuscated JS player 😦

Typical, well as we all know where this is a will there is a way and obfuscation is just a forlorn hope attempt at staving off the inevitable.

And I too in Linux

I have tried the newest just released version 2018.09.08 (sig) and it’s working great again! thank you devs!

Sigh Can we not have “Confirmed” posts with walls of improperly formatted text, please?

Same for me on Archlinux lastest kernel, with python 3.7

$ youtube-dl --verbose “https://www.youtube.com/watch?v=3wxyN3z9PL4” [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: [‘–verbose’, ‘https://www.youtube.com/watch?v=3wxyN3z9PL4’] [debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8 [debug] youtube-dl version 2018.09.01 [debug] Python version 3.7.0 (CPython) - Linux-4.18.5-arch1-1-ARCH-x86_64-with-arch [debug] exe versions: ffmpeg n4.0.2, ffprobe n4.0.2 [debug] Proxy map: {} [youtube] 3wxyN3z9PL4: Downloading webpage [youtube] 3wxyN3z9PL4: Downloading video info webpage [youtube] {43} signature length 41.42, html5 player vflvABTsY [youtube] 3wxyN3z9PL4: Downloading player https://www.youtube.com/yts/jsbin/player-vflvABTsY/en_US/base.js ERROR: Signature extraction failed: Traceback (most recent call last): File “/usr/lib/python3.7/site-packages/youtube_dl/extractor/youtube.py”, line 1210, in _decrypt_signature video_id, player_url, s File “/usr/lib/python3.7/site-packages/youtube_dl/extractor/youtube.py”, line 1121, in _extract_signature_function res = self._parse_sig_js(code) File “/usr/lib/python3.7/site-packages/youtube_dl/extractor/youtube.py”, line 1182, in _parse_sig_js jscode, ‘Initial JS player signature function name’, group=‘sig’) File “/usr/lib/python3.7/site-packages/youtube_dl/extractor/common.py”, line 972, in _search_regex raise RegexNotFoundError(‘Unable to extract %s’ % _name) youtube_dl.utils.RegexNotFoundError: Unable to extract Initial JS player signature function name; 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 RegexNotFoundError(‘Unable to extract \x1b[0;34mInitial JS player signature function name\x1b[0m; 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 “/usr/lib/python3.7/site-packages/youtube_dl/extractor/youtube.py”, line 1210, in _decrypt_signature video_id, player_url, s File “/usr/lib/python3.7/site-packages/youtube_dl/extractor/youtube.py”, line 1121, in _extract_signature_function res = self._parse_sig_js(code) File “/usr/lib/python3.7/site-packages/youtube_dl/extractor/youtube.py”, line 1182, in _parse_sig_js jscode, ‘Initial JS player signature function name’, group=‘sig’) File “/usr/lib/python3.7/site-packages/youtube_dl/extractor/common.py”, line 972, in _search_regex raise RegexNotFoundError(‘Unable to extract %s’ % _name) youtube_dl.utils.RegexNotFoundError: Unable to extract Initial JS player signature function name; 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 “/usr/lib/python3.7/site-packages/youtube_dl/extractor/youtube.py”, line 1210, in _decrypt_signature video_id, player_url, s File “/usr/lib/python3.7/site-packages/youtube_dl/extractor/youtube.py”, line 1121, in _extract_signature_function res = self._parse_sig_js(code) File “/usr/lib/python3.7/site-packages/youtube_dl/extractor/youtube.py”, line 1182, in _parse_sig_js jscode, ‘Initial JS player signature function name’, group=‘sig’) File “/usr/lib/python3.7/site-packages/youtube_dl/extractor/common.py”, line 972, in _search_regex raise RegexNotFoundError(‘Unable to extract %s’ % _name) youtube_dl.utils.RegexNotFoundError: Unable to extract Initial JS player signature function name; 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 “/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py”, line 792, in extract_info ie_result = ie.extract(url) File “/usr/lib/python3.7/site-packages/youtube_dl/extractor/common.py”, line 502, in extract ie_result = self._real_extract(url) File “/usr/lib/python3.7/site-packages/youtube_dl/extractor/youtube.py”, line 1803, in _real_extract encrypted_sig, video_id, player_url, age_gate) File “/usr/lib/python3.7/site-packages/youtube_dl/extractor/youtube.py”, line 1220, in _decrypt_signature 'Signature extraction failed: ’ + tb, cause=e) youtube_dl.utils.ExtractorError: Signature extraction failed: Traceback (most recent call last): File “/usr/lib/python3.7/site-packages/youtube_dl/extractor/youtube.py”, line 1210, in _decrypt_signature video_id, player_url, s File “/usr/lib/python3.7/site-packages/youtube_dl/extractor/youtube.py”, line 1121, in _extract_signature_function res = self._parse_sig_js(code) File “/usr/lib/python3.7/site-packages/youtube_dl/extractor/youtube.py”, line 1182, in _parse_sig_js jscode, ‘Initial JS player signature function name’, group=‘sig’) File “/usr/lib/python3.7/site-packages/youtube_dl/extractor/common.py”, line 972, in _search_regex raise RegexNotFoundError(‘Unable to extract %s’ % _name) youtube_dl.utils.RegexNotFoundError: Unable to extract Initial JS player signature function name; 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 RegexNotFoundError(‘Unable to extract \x1b[0;34mInitial JS player signature function name\x1b[0m; 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.

Same issue here, although it appears to be just music-related videos that aren’t working. I’ve checked a few random videos which are all recently uploaded and are working:

It is possible to avoid pip (It can give some troubles in some environments), but you need to recompile from source, which is what I did. For not-so tech savory users:

  1. Uninstall the previous version in Linux-based distros (if you are using a package manager, remove the package. If not, you can skip this.)
  2. Clone the latest source (git clone https://github.com/rg3/youtube-dl.git) or download it and decompress it wherever you want.
  3. Manually apply @Khang-NT 's patch (https://github.com/rg3/youtube-dl/pull/17464/commits/6d7359775ae4eef1d1213aae81e092467a2c675c). This means opening the following file: youtube_dl/extractor/youtube.py , which is located in the source, with an editor of your choice, and replacing the content of the line 1180 (THe red-highlighted line) with the green-highlighted lines.
  4. Go to your source file with a command-line and run: make && sudo make install.

However, this requires a bit of attention as this is python, and copy-pasting code can give troubles if you don’t respect the indentation and you accidentally leave some typos in the code, so If you are not into this kind of stuff, I suggest you wait for a patched executable!

Also doing it this way means you’ll have to either manually update from source for every next version, or remove the executable and program files by hand and then switch back to your repo’s version. So unless you really need it working right now for whatever reason, just wait for a patched version.

Also yes, I didn’t test it enough but the patch works.

Probleme Fixed ( Solved)

just open the python.py file in your editor and replace these lines as shown below. probably this file can be find at this location:

/usr/local/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py

def _parse_sig_js(self, jscode): funcname = self._search_regex( (r'(["\'])signature\1\s*,\s*(?P<sig>[a-zA-Z0-9$]+)\(', r'\.sig\|\|(?P<sig>[a-zA-Z0-9$]+)\('), jscode, 'Initial JS player signature function name', group='sig ')

with this def _parse_sig_js(self, jscode): funcname = self._search_regex( (r'(?P<sig>\w+)\s*=\s*function\((\w+)\){\s*\2=\s*\2\.split\(""\)\ r'(["\'])signature\1\s*,\s*(?P<sig>[a-zA-Z0-9$]+)\(', r'\.sig\|\|(?P<sig>[a-zA-Z0-9$]+)\('), jscode, 'Initial JS player signature function name', group='sig')

Confirmed

youtube-dl --verbose ‘https://www.youtube.com/watch?time_continue=86&v=9Ri7TcukAJ8’ [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: [u’–verbose’, u’https://www.youtube.com/watch?time_continue=86&v=9Ri7TcukAJ8’] [debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8 [debug] youtube-dl version 2018.09.01 [debug] Python version 2.7.15rc1 (CPython) - Linux-4.15.0-33-generic-x86_64-with-Ubuntu-18.04-bionic [debug] exe versions: ffmpeg 3.4.4-0ubuntu0.18.04.1, ffprobe 3.4.4-0ubuntu0.18.04.1 [debug] Proxy map: {} [youtube] 9Ri7TcukAJ8: Downloading webpage [youtube] 9Ri7TcukAJ8: Downloading video info webpage [youtube] {43} signature length 41.42, html5 player vflvABTsY [youtube] 9Ri7TcukAJ8: Downloading player https://www.youtube.com/yts/jsbin/player-vflvABTsY/en_US/base.js ERROR: Signature extraction failed: Traceback (most recent call last): File “/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1210, in _decrypt_signature video_id, player_url, s File “/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1121, in _extract_signature_function res = self._parse_sig_js(code) File “/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1182, in _parse_sig_js jscode, ‘Initial JS player signature function name’, group=‘sig’) File “/usr/bin/youtube-dl/youtube_dl/extractor/common.py”, line 972, in _search_regex raise RegexNotFoundError(‘Unable to extract %s’ % _name) RegexNotFoundError: Unable to extract Initial JS player signature function name; 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. (caused by RegexNotFoundError(u’Unable to extract \x1b[0;34mInitial JS player signature function name\x1b[0m; 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.',)); 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 “/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1210, in _decrypt_signature video_id, player_url, s File “/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1121, in _extract_signature_function res = self._parse_sig_js(code) File “/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1182, in _parse_sig_js jscode, ‘Initial JS player signature function name’, group=‘sig’) File “/usr/bin/youtube-dl/youtube_dl/extractor/common.py”, line 972, in _search_regex raise RegexNotFoundError(‘Unable to extract %s’ % _name) RegexNotFoundError: Unable to extract Initial JS player signature function name; 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 “/usr/bin/youtube-dl/youtube_dl/YoutubeDL.py”, line 792, in extract_info ie_result = ie.extract(url) File “/usr/bin/youtube-dl/youtube_dl/extractor/common.py”, line 502, in extract ie_result = self._real_extract(url) File “/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1803, in _real_extract encrypted_sig, video_id, player_url, age_gate) File “/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1220, in _decrypt_signature ‘Signature extraction failed: ’ + tb, cause=e) ExtractorError: Signature extraction failed: Traceback (most recent call last): File “/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1210, in _decrypt_signature video_id, player_url, s File “/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1121, in _extract_signature_function res = self._parse_sig_js(code) File “/usr/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1182, in _parse_sig_js jscode, ‘Initial JS player signature function name’, group=‘sig’) File “/usr/bin/youtube-dl/youtube_dl/extractor/common.py”, line 972, in _search_regex raise RegexNotFoundError(‘Unable to extract %s’ % _name) RegexNotFoundError: Unable to extract Initial JS player signature function name; 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. (caused by RegexNotFoundError(u’Unable to extract \x1b[0;34mInitial JS player signature function name\x1b[0m; 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.’,)); 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.

Getting the same error on Linux Debian.

user@localhost:~$ youtube-dl -f 18 https://www.youtube.com/anyvideoname… [youtube] RPDBcdDGrnE: Downloading webpage [youtube] RPDBcdDGrnE: Downloading video info webpage [youtube] RPDBcdDGrnE: Downloading js player vflvABTsY ERROR: Signature extraction failed: Traceback (most recent call last): File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1210, in _decrypt_signature video_id, player_url, s File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1121, in _extract_signature_function res = self._parse_sig_js(code) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1182, in _parse_sig_js jscode, ‘Initial JS player signature function name’, group=‘sig’) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py”, line 972, in _search_regex raise RegexNotFoundError(‘Unable to extract %s’ % _name) RegexNotFoundError: Unable to extract Initial JS player signature function name; 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. (caused by RegexNotFoundError(u’Unable to extract \x1b[0;34mInitial JS player signature function name\x1b[0m; 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.',)); 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.

I get the same symptoms with 2018-09-01 on Ubuntu 16.04.1 LTS (Xenial Xerus):

youtube-dl --verbose -F “https://www.youtube.com/watch?v=nlpopwqIiq4” [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: [u’–verbose’, u’-F’, u’https://www.youtube.com/watch?v=nlpopwqIiq4’] [debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8 [debug] youtube-dl version 2018.09.01 [debug] Python version 2.7.12 (CPython) - Linux-4.4.0-130-generic-x86_64-with-Ubuntu-16.04-xenial [debug] exe versions: avconv N-80901-gfebc862, avprobe N-80901-gfebc862, ffmpeg N-80901-gfebc862, ffprobe N-80901-gfebc862 [debug] Proxy map: {} [youtube] nlpopwqIiq4: Downloading webpage [youtube] nlpopwqIiq4: Downloading video info webpage [youtube] {22} signature length 41.42, html5 player vflvABTsY [youtube] nlpopwqIiq4: Downloading player https://www.youtube.com/yts/jsbin/player-vflvABTsY/en_US/base.js ERROR: Signature extraction failed: Traceback (most recent call last): File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1210, in _decrypt_signature video_id, player_url, s File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1121, in _extract_signature_function res = self._parse_sig_js(code) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1182, in _parse_sig_js jscode, ‘Initial JS player signature function name’, group=‘sig’) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py”, line 972, in _search_regex raise RegexNotFoundError(‘Unable to extract %s’ % _name) RegexNotFoundError: Unable to extract Initial JS player signature function name; 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. (caused by RegexNotFoundError(u’Unable to extract \x1b[0;34mInitial JS player signature function name\x1b[0m; 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.',)); 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 “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1210, in _decrypt_signature video_id, player_url, s File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1121, in _extract_signature_function res = self._parse_sig_js(code) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1182, in _parse_sig_js jscode, ‘Initial JS player signature function name’, group=‘sig’) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py”, line 972, in _search_regex raise RegexNotFoundError(‘Unable to extract %s’ % _name) RegexNotFoundError: Unable to extract Initial JS player signature function name; 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 “/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py”, line 792, in extract_info ie_result = ie.extract(url) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py”, line 502, in extract ie_result = self._real_extract(url) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1803, in _real_extract encrypted_sig, video_id, player_url, age_gate) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1220, in _decrypt_signature ‘Signature extraction failed: ’ + tb, cause=e) ExtractorError: Signature extraction failed: Traceback (most recent call last): File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1210, in _decrypt_signature video_id, player_url, s File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1121, in _extract_signature_function res = self._parse_sig_js(code) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/youtube.py”, line 1182, in _parse_sig_js jscode, ‘Initial JS player signature function name’, group=‘sig’) File “/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py”, line 972, in _search_regex raise RegexNotFoundError(‘Unable to extract %s’ % _name) RegexNotFoundError: Unable to extract Initial JS player signature function name; 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. (caused by RegexNotFoundError(u’Unable to extract \x1b[0;34mInitial JS player signature function name\x1b[0m; 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.’,)); 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.

This is why I love this project. Way to go devs!

@PortNumber53 read the Error ERROR: This video contains content from SME, who has blocked it in your country on copyright grounds. Another word, user error and nothing to do with this issue. The fix by @Khang-NT works for this issue only.

@AstroSnout open a cmd (make sure python is in path too): python -m pip install git+https://github.com/Khang-NT/youtube-dl.git@fix_js_func_not_found#egg=youtube-dl --upgrade

By the looks of it, this only happens on videos with music Content ID claims (ones that have “music in this video” in the description). I’m able to download ForgaLorga videos (most are hasbro claimed) but not anything with music claims, eg most videos from “Trap Nation” and other remix channels.

@dlucadou That video:

I imagine this is in relation to videos enabled for content ID or videos that have been content ID’d themselves.