37

It is considered very useful to utilize youtube-dl software for downloading youtubes.

A message is seen and it stopped working, which is following.

ERROR: Signature extraction failed: Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 479, in _decrypt_signature
    video_id, player_url, s
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 383, in _extract_signature_function
    res = self._parse_sig_js(code)
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 454, in _parse_sig_js
    u'Initial JS player signature function name')
  File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 391, in _search_regex
    raise RegexNotFoundError(u'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 . 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.

What should I do to proceed?

  • 1
    It clearly states in the message: "please report this issue on yt-dl.org/bug" So why not do that? – Rinzwind Mar 18 '15 at 9:53
  • 3
    Make sure you are using the latest version; type youtube-dl -U to update. Did you do that? – David Foerster Mar 18 '15 at 10:28
  • Dear David Foerster, I tried and got a message 'It looks like you installed youtube-dl with a package manager, pip, setup.py or a tarball. Please use that to update.' – Taeyeon Mar 18 '15 at 11:34
  • @HELLOVENUS You're right youtube-dl -U doesn't work anymore. The instructions for updating youtube-dl to the latest version are at: youtube-dl is not working. btw it also works if you use pip install --upgrade youtube-dl instead of pip install --upgrade youtube_dl and it also works for a local install (i.e. without using sudo) done inside a Python virtual environment. – karel Mar 18 '15 at 12:39
  • I installed youtube-dl from http://rg3.github.io/youtube-dl/. sudo youtube-dl -U works just fine for this install. I just updated to version 2015.03.15 – DK Bose Mar 18 '15 at 13:43
57

You are getting this error:

Unable to extract Initial JS player signature function name

...because youtube-dl is not up-to-date. Google has been changing the way to access YouTube videos more frequently now than was the case a few years ago, so in order to keep youtube-dl up-to-date, it has to be updated more frequently too. To install the latest version of youtube-dl open the terminal and type:

sudo apt install python-pip
sudo pip install youtube-dl

To upgrade youtube-dl to the latest version:

sudo pip install --upgrade youtube-dl  

or

sudo snap install youtube-dl-casept # python-pip is not required     

It's crazy how frequently Google has been changing the code for accessing videos on YouTube. I seem to have remembered updating youtube-dl only a couple of month's ago, but it still couldn't download the selected video until I updated it.

youtube-dl is a Python program, so you can also locally install the latest version of youtube-dl in a Python virtual environment. For information about how to setup and use a Python virtual environment see How to set up and use a virtual python environment in Ubuntu?.

  • Didn't work for me :-( – Philippe Gachoud Nov 9 '18 at 10:58
  • 1
    For me I had to uninstall first "sudo apt-get remove youtube-dl" and then use the command to install with pip – Diego Andrés Díaz Espinoza Dec 22 '18 at 13:16
3

It once happened to me. As they said on comments you must update your system or just youtube-dl. Also is good use quotes as follow in this example:

youtube-dl "https://www.youtube.com/watch?v=n6AL-WpgoFw"
  • This character ¨ you used in your post is not visible. replace it with ' or ". – afzalex Jan 11 '17 at 6:17
  • worked for me ;) – Prateek Joshi May 6 '17 at 14:00
2

The only way I was to get it working was the latest version (for me on debian) with

sudo wget https://yt-dl.org/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+x /usr/local/bin/youtube-dl
hash -r

from the github repo

1

I had the same problem and this solved it

 sudo -H pip install --upgrade youtube-dl

and try to put the link into "link"

0

None of these answers worked for me. I got this thing work by using the instruction given in the error:-

sudo youtube-dl -U

I don't know the exact reason for why this way of update worked and not that upgrade command..

  • sudo youtube-dl -U didn't work on Ubuntu 18.04. It gave these results: sudo youtube-dl -U Usage: youtube-dl [OPTIONS] URL [URL...] youtube-dl: error: youtube-dl's self-update mechanism is disabled on Debian. Please update youtube-dl using apt(8). See https://packages.debian.org/sid/youtube-dl for the latest packaged version. however sudo snap install youtube-dl-casept did work on 18.04. – karel Nov 10 '18 at 9:14

protected by Community Jun 21 '17 at 12:11

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.