Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

youtube-dl 2014.11.09 - ERROR: Signature extraction failed #4186

Closed
ariava opened this issue Nov 13, 2014 · 7 comments
Closed

youtube-dl 2014.11.09 - ERROR: Signature extraction failed #4186

ariava opened this issue Nov 13, 2014 · 7 comments

Comments

@ariava
Copy link

@ariava ariava commented Nov 13, 2014

While attempting to download a video, youtube-dl crashed with the following output. My distro is Arch Linux and I have updated youtube-dl to its newest version. I use python3 and see no problems in running youtube-dl with other URLs.

[user@machine ~]$ youtube-dl --verbose https://www.youtube.com/watch?v=0j-r50pr5II
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['--verbose', 'https://www.youtube.com/watch?v=0j-r50pr5II']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2014.11.09
[debug] Python version 3.4.2 - Linux-3.17.2-1-ARCH-x86_64-with-arch
[debug] exe versions: ffmpeg 2.4.3, ffprobe 2.4.3, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] Confirming age
[youtube] 0j-r50pr5II: Downloading webpage
[youtube] 0j-r50pr5II: Downloading video info webpage
[youtube] 0j-r50pr5II: Extracting video information
[youtube] 0j-r50pr5II: Encrypted signatures detected.
[youtube] {22} signature length 45.43, html5 player en_US-vfln6g5Eq
[youtube] 0j-r50pr5II: Downloading js player vfln6g5Eq
ERROR: Signature extraction failed: Traceback (most recent call last):
File "/usr/lib/python3.4/site-packages/youtube_dl/extractor/youtube.py", line 539, in _decrypt_signature
video_id, player_url, s
File "/usr/lib/python3.4/site-packages/youtube_dl/extractor/youtube.py", line 453, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/lib/python3.4/site-packages/youtube_dl/extractor/youtube.py", line 514, in _parse_sig_js
'Initial JS player signature function name')
File "/usr/lib/python3.4/site-packages/youtube_dl/extractor/common.py", line 436, 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 . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type youtube-dl -U to update.
(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 . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type youtube-dl -U to update.',)); please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type youtube-dl -U to update.
Traceback (most recent call last):
File "/usr/lib/python3.4/site-packages/youtube_dl/extractor/youtube.py", line 539, in _decrypt_signature
video_id, player_url, s
File "/usr/lib/python3.4/site-packages/youtube_dl/extractor/youtube.py", line 453, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/lib/python3.4/site-packages/youtube_dl/extractor/youtube.py", line 514, in _parse_sig_js
'Initial JS player signature function name')
File "/usr/lib/python3.4/site-packages/youtube_dl/extractor/common.py", line 436, 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 . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type youtube-dl -U to update.
Traceback (most recent call last):
File "/usr/lib/python3.4/site-packages/youtube_dl/extractor/youtube.py", line 539, in _decrypt_signature
video_id, player_url, s
File "/usr/lib/python3.4/site-packages/youtube_dl/extractor/youtube.py", line 453, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/lib/python3.4/site-packages/youtube_dl/extractor/youtube.py", line 514, in _parse_sig_js
'Initial JS player signature function name')
File "/usr/lib/python3.4/site-packages/youtube_dl/extractor/common.py", line 436, 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 . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type youtube-dl -U to update.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3.4/site-packages/youtube_dl/YoutubeDL.py", line 536, in extract_info
ie_result = ie.extract(url)
File "/usr/lib/python3.4/site-packages/youtube_dl/extractor/common.py", line 199, in extract
return self._real_extract(url)
File "/usr/lib/python3.4/site-packages/youtube_dl/extractor/youtube.py", line 934, in _real_extract
encrypted_sig, video_id, player_url, age_gate)
File "/usr/lib/python3.4/site-packages/youtube_dl/extractor/youtube.py", line 549, 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.4/site-packages/youtube_dl/extractor/youtube.py", line 539, in _decrypt_signature
video_id, player_url, s
File "/usr/lib/python3.4/site-packages/youtube_dl/extractor/youtube.py", line 453, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/lib/python3.4/site-packages/youtube_dl/extractor/youtube.py", line 514, in _parse_sig_js
'Initial JS player signature function name')
File "/usr/lib/python3.4/site-packages/youtube_dl/extractor/common.py", line 436, 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 . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type youtube-dl -U to update.
(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 . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type youtube-dl -U to update.',)); please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type youtube-dl -U to update.

@timing
Copy link

@timing timing commented Nov 13, 2014

I can confirm this issue and have the same output more or less.

@phihag
Copy link
Contributor

@phihag phihag commented Nov 13, 2014

As evidenced by the title, you are running an outdated version of youtube-dl. YouTube changed their player yesterday. See our FAQ on how to update.

We tried notifying you by adding this in the error message:

Make sure you are using the latest version

Can you suggest how we should phrase that (or where we should notify you) so that you would try the current version before posting bug reports? Don't get me wrong, we appreciate every report we get, but of course we'd love to simplify the process both for our users and ourselves.

@phihag phihag closed this Nov 13, 2014
@ariava
Copy link
Author

@ariava ariava commented Nov 13, 2014

I am sorry that my bugreport was just noise. Unfortunately I use the youtube-dl version provided by my distribution's package repositories, as I think many users do. I ensured to update the package and re-test the scenario before submitting the report, but it seems that the binary provided by the package is not the latest one.

Perhaps you could also inform the user in the error message that if they are using the version from a package repo it is most likely not to be up-to-date. I use a rolling distro (Arch Linux) so I should be "on edge", I cannot even imagine how Ubuntu or Debian users are dealing with the need for constant updates like that, or yes I can: by re-compiling the source code from github every day :-)

Thanks and sorry again for the noise.

@timing
Copy link

@timing timing commented Nov 13, 2014

Thanks, updating now.
@phihag We could create a mailinglist? I just stumbled on this issue and I couldn't imagine there was already a fix out there so I expected to wait for a bit, but you guys were faster than that. Thanks

@ariava I recommend to run the latest from the git repo, just doing git pull and have these issues solved is really convenient for us.

@phihag
Copy link
Contributor

@phihag phihag commented Nov 13, 2014

We also provide a custom packaging precisely for this reason.

@timing You can simply subscribe to these issues, that is our version of a mailing list.

@ariava
Copy link
Author

@ariava ariava commented Nov 13, 2014

Thank you @phihag and @timing I will make sure to always get the latest version! Sorry again and thank you for the excellent software!

@RingoTheDog
Copy link

@RingoTheDog RingoTheDog commented Nov 13, 2014

[quote]
phihag wrote:

We tried notifying you by adding this in the error message:

"Make sure you are using the latest version"
Can you suggest how we should phrase that (or where we should notify you) so that you would try the current version before posting bug reports? Don't get me wrong, we appreciate every report we get, but of course we'd love to simplify the process both for our users and ourselves.
[/quote]

"Make sure you are using the latest version"....
"Would you like to check for updates now? Y/N"

(While you can try making it idiot proof, there will always be a bigger idiot ;-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.