Spotify-downloader: Downloading fails on almost every song

Created on 13 Mar 2019  路  9Comments  路  Source: spotDL/spotify-downloader

  • [x] Using current version
  • [x] Searched for similar issues

    What is the purpose of your issue?

  • [ ] Feature Request

  • [x] Bug
  • [ ] Question
  • [ ] Other

Description

The first song in a playlist text file downloaded fine, but the second song gives an error. Happens on nearly every single song I have tried.

Log

C:\Users\alani\Music\Spotify>spotdl --list="s(r)ad-girl.txt" -f "/home/alani/Music/Spotify/" --log-level=DEBUG
INFO: Checking and removing any duplicate tracks in reading s(r)ad-girl.txt
INFO: Overriding s(r)ad-girl.txt with unique tracks
INFO: Preparing to download 40 songs

DEBUG: Input song is a Spotify URL
DEBUG: Fetching metadata for given track URL
DEBUG: Fetching lyrics
DEBUG: {'album': {'album_type': 'album',
               'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/492I2sQFcHDcsZECYX25dE'},
                            'href': 'https://api.spotify.com/v1/artists/492I2sQFcHDcsZECYX25dE',
                            'id': '492I2sQFcHDcsZECYX25dE',
                            'name': 'Lala Lala',
                            'type': 'artist',
                            'uri': 'spotify:artist:492I2sQFcHDcsZECYX25dE'}],
               'external_urls': {'spotify': 'https://open.spotify.com/album/1L3vOmYMc8UHmTVDh52kvl'},
               'href': 'https://api.spotify.com/v1/albums/1L3vOmYMc8UHmTVDh52kvl',
               'id': '1L3vOmYMc8UHmTVDh52kvl',
               'images': [{'height': 640,
                           'url': 'https://i.scdn.co/image/6c1b74d3b29a277ea5e5d039a963a383ecc7c8db',
                           'width': 640},
                          {'height': 300,
                           'url': 'https://i.scdn.co/image/8803df11cd7071202b7341cc544ee2e0ffaffe41',
                           'width': 300},
                          {'height': 64,
                           'url': 'https://i.scdn.co/image/6c093b5da03183035ad45b635f317584f05dd1e9',
                           'width': 64}],
               'name': 'Sleepyhead',
               'release_date': '2016-10-25',
               'release_date_precision': 'day',
               'total_tracks': 11,
               'type': 'album',
               'uri': 'spotify:album:1L3vOmYMc8UHmTVDh52kvl'},
     'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/492I2sQFcHDcsZECYX25dE'},
                  'href': 'https://api.spotify.com/v1/artists/492I2sQFcHDcsZECYX25dE',
                  'id': '492I2sQFcHDcsZECYX25dE',
                  'name': 'Lala Lala',
                  'type': 'artist',
                  'uri': 'spotify:artist:492I2sQFcHDcsZECYX25dE'}],
     'copyright': '2016 Lala Lala',
     'disc_number': 1,
     'duration': 184.331,
     'explicit': False,
     'external_ids': {'isrc': 'TCACY1759424'},
     'external_urls': {'spotify': 'https://open.spotify.com/track/3RfywJemVyr2DOXxsaH7is'},
     'genre': 'Art Pop',
     'href': 'https://api.spotify.com/v1/tracks/3RfywJemVyr2DOXxsaH7is',
     'id': '3RfywJemVyr2DOXxsaH7is',
     'is_local': False,
     'lyrics': None,
     'name': 'Exorcism',
     'popularity': 34,
     'preview_url': 'https://p.scdn.co/mp3-preview/7bbd72545b23f93e0001cb3f1321a8896b708591?cid=4fe3fecfe5334023a1472516cc99d805',
     'publisher': 'Lala Lala',
     'release_date': '2016-10-25',
     'spotify_metadata': True,
     'total_tracks': 11,
     'track_number': 1,
     'type': 'track',
     'uri': 'spotify:track:3RfywJemVyr2DOXxsaH7is',
     'year': '2016'}
DEBUG: Opening URL: https://www.youtube.com/results?sp=EgIQAQ%253D%253D&q=Lala%20Lala%20-%20Exorcism%20lyrics
INFO: 1. Lala Lala - Exorcism (http://www.youtube.com/watch?v=PPtCAOOaiwM)
DEBUG: Refining songname from "Lala Lala - Exorcism" to "Lala Lala - Exorcism"
DEBUG: Cleaning any temp files and checking if "Lala Lala - Exorcism" already exists
DEBUG: Found an already existing song: "Lala Lala - Exorcism.m4a"
Traceback (most recent call last):
  File "c:\users\alani\appdata\local\programs\python\python37-32\lib\site-packages\mutagen\mp4\__init__.py", line 931, in load
    moov = atoms[b"moov"]
  File "c:\users\alani\appdata\local\programs\python\python37-32\lib\site-packages\mutagen\mp4\_atom.py", line 194, in __getitem__
    raise KeyError("%r not found" % names[0])
KeyError: "b'moov' not found"

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\users\alani\appdata\local\programs\python\python37-32\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\users\alani\appdata\local\programs\python\python37-32\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\alani\AppData\Local\Programs\Python\Python37-32\Scripts\spotdl.exe\__main__.py", line 9, in <module>
  File "c:\users\alani\appdata\local\programs\python\python37-32\lib\site-packages\spotdl\spotdl.py", line 63, in main
    match_args()
  File "c:\users\alani\appdata\local\programs\python\python37-32\lib\site-packages\spotdl\spotdl.py", line 39, in match_args
    list_dl.download_list()
  File "c:\users\alani\appdata\local\programs\python\python37-32\lib\site-packages\spotdl\downloader.py", line 199, in download_list
    return self._download_list()
  File "c:\users\alani\appdata\local\programs\python\python37-32\lib\site-packages\spotdl\downloader.py", line 208, in _download_list
    track_dl.download_single()
  File "c:\users\alani\appdata\local\programs\python\python37-32\lib\site-packages\spotdl\downloader.py", line 118, in download_single
    if not song_existence.already_exists(self.raw_song):
  File "c:\users\alani\appdata\local\programs\python\python37-32\lib\site-packages\spotdl\downloader.py", line 36, in already_exists
    if internals.is_spotify(raw_song) and not self._has_metadata(song):
  File "c:\users\alani\appdata\local\programs\python\python37-32\lib\site-packages\spotdl\downloader.py", line 58, in _has_metadata
    os.path.join(self.filepath, song), self.meta_tags
  File "c:\users\alani\appdata\local\programs\python\python37-32\lib\site-packages\spotdl\metadata.py", line 20, in compare
    audiofile = MP4(music_file)
  File "c:\users\alani\appdata\local\programs\python\python37-32\lib\site-packages\mutagen\_file.py", line 49, in __init__
    self.load(*args, **kwargs)
  File "c:\users\alani\appdata\local\programs\python\python37-32\lib\site-packages\mutagen\_util.py", line 140, in wrapper
    return func(self, h, *args, **kwargs)
  File "c:\users\alani\appdata\local\programs\python\python37-32\lib\site-packages\mutagen\mp4\__init__.py", line 1061, in load
    self.info.load(atoms, fileobj)
  File "c:\users\alani\appdata\local\programs\python\python37-32\lib\site-packages\mutagen\_util.py", line 169, in wrapper
    return func(*args, **kwargs)
  File "c:\users\alani\appdata\local\programs\python\python37-32\lib\site-packages\mutagen\mp4\__init__.py", line 933, in load
    raise MP4StreamInfoError("not a MP4 file")
mutagen.mp4.MP4StreamInfoError: not a MP4 file
bug

Most helpful comment

Update v1.2.1 i got error in pafy, i'm already update the pafy but still error
image

Edit : Solved by updating youtube-dl Thanks
Same here:
pip install --upgrade youtube-dl

All 9 comments

It seems like the tool is having trouble checking for already existing files (corrupted .m4a downloads? idk). Could you try downloading tracks to a different directory with debug logging enabled? If these errors still occur, post the output here. I'll see if I can narrow down the problem.

Description

I am having these errors. I have tried both the ways to download tracks.

Via Spotify URL - ERROR: Signature extraction failed: Traceback (most recent call last):

` spotdl --song https://open.spotify.com/track/3TOsbHtTO9RQjjAjxLJ7rB
ERROR: Signature extraction failed: Traceback (most recent call last):
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1210, in _decrypt_signature
video_id, player_url, s
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1121, in _extract_signature_function
res = self._parse_sig_js(code)
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1182, in _parse_sig_js
jscode, 'Initial JS player signature function name', group='sig')
File "c:\program files\python37\lib\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 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.')); 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:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1210, in _decrypt_signature
video_id, player_url, s
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1121, in _extract_signature_function
res = self._parse_sig_js(code)
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1182, in _parse_sig_js
jscode, 'Initial JS player signature function name', group='sig')
File "c:\program files\python37\lib\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 "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 792, in extract_info
ie_result = ie.extract(url)
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\common.py", line 502, in extract
ie_result = self._real_extract(url)
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1803, in _real_extract
encrypted_sig, video_id, player_url, age_gate)
File "c:\program files\python37\lib\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 "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1210, in _decrypt_signature
video_id, player_url, s
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1121, in _extract_signature_function
res = self._parse_sig_js(code)
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1182, in _parse_sig_js
jscode, 'Initial JS player signature function name', group='sig')
File "c:\program files\python37\lib\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 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.')); 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:\program files\python37\lib\site-packages\pafy\backend_youtube_dl.py", line 38, in _fetch_basic
self._ydl_info = ydl.extract_info(self.videoid, download=False)
File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 815, in extract_info
self.report_error(compat_str(e), e.format_traceback())
File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 620, in report_error
self.trouble(error_message, tb)
File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 590, in trouble
raise DownloadError(message, exc_info)
youtube_dl.utils.DownloadError: ERROR: Signature extraction failed: Traceback (most recent call last):
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1210, in _decrypt_signature
video_id, player_url, s
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1121, in _extract_signature_function
res = self._parse_sig_js(code)
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1182, in _parse_sig_js
jscode, 'Initial JS player signature function name', group='sig')
File "c:\program files\python37\lib\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 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.')); 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:\program files\python37\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\program files\python37\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Program Files\Python37\Scripts\spotdl.exe__main__.py", line 9, in
File "c:\program files\python37\lib\site-packages\spotdl\spotdl.py", line 63, in main
match_args()
File "c:\program files\python37\lib\site-packages\spotdl\spotdl.py", line 27, in match_args
track_dl = downloader.Downloader(raw_song=track)
File "c:\program files\python37\lib\site-packages\spotdl\downloader.py", line 98, in __init__
self.content, self.meta_tags = youtube_tools.match_video_and_metadata(raw_song)
File "c:\program files\python37\lib\site-packages\spotdl\youtube_tools.py", line 77, in match_video_and_metadata
content = go_pafy(track, meta_tags)
File "c:\program files\python37\lib\site-packages\spotdl\youtube_tools.py", line 41, in go_pafy
track_info = pafy.new(track_url)
File "c:\program files\python37\lib\site-packages\pafy\pafy.py", line 124, in new
return Pafy(url, basic, gdata, size, callback, ydl_opts)
File "c:\program files\python37\lib\site-packages\pafy\backend_youtube_dl.py", line 29, in __init__
super(YtdlPafy, self).__init__(args, *kwargs)
File "c:\program files\python37\lib\site-packages\pafy\backend_shared.py", line 96, in __init__
self._fetch_basic()
File "c:\program files\python37\lib\site-packages\pafy\backend_youtube_dl.py", line 41, in _fetch_basic
raise IOError(str(e).replace('YouTube said', 'Youtube says'))
OSError: ERROR: Signature extraction failed: Traceback (most recent call last):
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1210, in _decrypt_signature
video_id, player_url, s
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1121, in _extract_signature_function
res = self._parse_sig_js(code)
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1182, in _parse_sig_js
jscode, 'Initial JS player signature function name', group='sig')
File "c:\program files\python37\lib\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 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.')); 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.`

Error via Track Title

`spotdl --song "alan walker fade"
c:\program files\python37\lib\site-packages\spotdl\handle.py:61: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
cfg = yaml.load(ymlfile)
ERROR: Signature extraction failed: Traceback (most recent call last):
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1210, in _decrypt_signature
video_id, player_url, s
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1121, in _extract_signature_function
res = self._parse_sig_js(code)
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1182, in _parse_sig_js
jscode, 'Initial JS player signature function name', group='sig')
File "c:\program files\python37\lib\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 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.')); 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:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1210, in _decrypt_signature
video_id, player_url, s
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1121, in _extract_signature_function
res = self._parse_sig_js(code)
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1182, in _parse_sig_js
jscode, 'Initial JS player signature function name', group='sig')
File "c:\program files\python37\lib\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 "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 792, in extract_info
ie_result = ie.extract(url)
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\common.py", line 502, in extract
ie_result = self._real_extract(url)
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1803, in _real_extract
encrypted_sig, video_id, player_url, age_gate)
File "c:\program files\python37\lib\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 "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1210, in _decrypt_signature
video_id, player_url, s
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1121, in _extract_signature_function
res = self._parse_sig_js(code)
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1182, in _parse_sig_js
jscode, 'Initial JS player signature function name', group='sig')
File "c:\program files\python37\lib\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 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.')); 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:\program files\python37\lib\site-packages\pafy\backend_youtube_dl.py", line 38, in _fetch_basic
self._ydl_info = ydl.extract_info(self.videoid, download=False)
File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 815, in extract_info
self.report_error(compat_str(e), e.format_traceback())
File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 620, in report_error
self.trouble(error_message, tb)
File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 590, in trouble
raise DownloadError(message, exc_info)
youtube_dl.utils.DownloadError: ERROR: Signature extraction failed: Traceback (most recent call last):
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1210, in _decrypt_signature
video_id, player_url, s
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1121, in _extract_signature_function
res = self._parse_sig_js(code)
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1182, in _parse_sig_js
jscode, 'Initial JS player signature function name', group='sig')
File "c:\program files\python37\lib\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 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.')); 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:\program files\python37\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\program files\python37\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Program Files\Python37\Scripts\spotdl.exe__main__.py", line 9, in
File "c:\program files\python37\lib\site-packages\spotdl\spotdl.py", line 63, in main
match_args()
File "c:\program files\python37\lib\site-packages\spotdl\spotdl.py", line 27, in match_args
track_dl = downloader.Downloader(raw_song=track)
File "c:\program files\python37\lib\site-packages\spotdl\downloader.py", line 98, in __init__
self.content, self.meta_tags = youtube_tools.match_video_and_metadata(raw_song)
File "c:\program files\python37\lib\site-packages\spotdl\youtube_tools.py", line 87, in match_video_and_metadata
content = go_pafy(track, meta_tags=meta_tags)
File "c:\program files\python37\lib\site-packages\spotdl\youtube_tools.py", line 41, in go_pafy
track_info = pafy.new(track_url)
File "c:\program files\python37\lib\site-packages\pafy\pafy.py", line 124, in new
return Pafy(url, basic, gdata, size, callback, ydl_opts)
File "c:\program files\python37\lib\site-packages\pafy\backend_youtube_dl.py", line 29, in __init__
super(YtdlPafy, self).__init__(args, *kwargs)
File "c:\program files\python37\lib\site-packages\pafy\backend_shared.py", line 96, in __init__
self._fetch_basic()
File "c:\program files\python37\lib\site-packages\pafy\backend_youtube_dl.py", line 41, in _fetch_basic
raise IOError(str(e).replace('YouTube said', 'Youtube says'))
OSError: ERROR: Signature extraction failed: Traceback (most recent call last):
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1210, in _decrypt_signature
video_id, player_url, s
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1121, in _extract_signature_function
res = self._parse_sig_js(code)
File "c:\program files\python37\lib\site-packages\youtube_dl\extractor\youtube.py", line 1182, in _parse_sig_js
jscode, 'Initial JS player signature function name', group='sig')
File "c:\program files\python37\lib\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 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.')); 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.`

I'm having a similar issue on songs, you can reproduce the issue with (Win10 64bit, Python3.6 spotdl1.2.0:

spotdl -s https://open.spotify.com/track/6oylMTVIJOuouQuHEGwuW5

Which outputs:

INFO: MID CITY - No Surrender (http://www.youtube.com/watch?v=RJtbtNCXwsI)
Traceback (most recent call last):
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\mutagen\mp4\__init__.py", line 931, in load
    moov = atoms[b"moov"]
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\mutagen\mp4\_atom.py", line 194, in __getitem__
    raise KeyError("%r not found" % names[0])
KeyError: "b'moov' not found"

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\wackm\AppData\Local\Programs\Python\Python36\Scripts\spotdl.exe\__main__.py", line 9, in <module>
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\spotdl\spotdl.py", line 63, in main
    match_args()
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\spotdl\spotdl.py", line 28, in match_args
    track_dl.download_single()
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\spotdl\downloader.py", line 118, in download_single
    if not song_existence.already_exists(self.raw_song):
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\spotdl\downloader.py", line 36, in already_exists
    if internals.is_spotify(raw_song) and not self._has_metadata(song):
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\spotdl\downloader.py", line 58, in _has_metadata
    os.path.join(self.filepath, song), self.meta_tags
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\spotdl\metadata.py", line 20, in compare
    audiofile = MP4(music_file)
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\mutagen\_file.py", line 49, in __init__
    self.load(*args, **kwargs)
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\mutagen\_util.py", line 140, in wrapper
    return func(self, h, *args, **kwargs)
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\mutagen\mp4\__init__.py", line 1061, in load
    self.info.load(atoms, fileobj)
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\mutagen\_util.py", line 169, in wrapper
    return func(*args, **kwargs)
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\mutagen\mp4\__init__.py", line 933, in load
    raise MP4StreamInfoError("not a MP4 file")
mutagen.mp4.MP4StreamInfoError: not a MP4 file

When running:

-s https://open.spotify.com/track/6oylMTVIJOuouQuHEGwuW5 -ll DEBUG

Output:

DEBUG: Input song is a Spotify URL
DEBUG: Fetching metadata for given track URL
DEBUG: Fetching lyrics
DEBUG: {'album': {'album_type': 'single',
               'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/5CfLIXfiqkmqz5If0yFu5E'},
                            'href': 'https://api.spotify.com/v1/artists/5CfLIXfiqkmqz5If0yFu5E',
                            'id': '5CfLIXfiqkmqz5If0yFu5E',
                            'name': 'MID CITY',
                            'type': 'artist',
                            'uri': 'spotify:artist:5CfLIXfiqkmqz5If0yFu5E'}],
               'external_urls': {'spotify': 'https://open.spotify.com/album/2Ni1PuNMXGG1zulOXApomU'},
               'href': 'https://api.spotify.com/v1/albums/2Ni1PuNMXGG1zulOXApomU',
               'id': '2Ni1PuNMXGG1zulOXApomU',
               'images': [{'height': 640,
                           'url': 'https://i.scdn.co/image/8b1e727e44edfa516188569a6b6ab4d9ad75aefb',
                           'width': 640},
                          {'height': 300,
                           'url': 'https://i.scdn.co/image/0d7f6772e41829af6c32a73e2f547a2feb20bb4e',
                           'width': 300},
                          {'height': 64,
                           'url': 'https://i.scdn.co/image/49b1e8edc33cc0de20156ee9cdc31a94e820b3b9',
                           'width': 64}],
               'name': 'No Surrender',
               'release_date': '2019-03-06',
               'release_date_precision': 'day',
               'total_tracks': 1,
               'type': 'album',
               'uri': 'spotify:album:2Ni1PuNMXGG1zulOXApomU'},
     'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/5CfLIXfiqkmqz5If0yFu5E'},
                  'href': 'https://api.spotify.com/v1/artists/5CfLIXfiqkmqz5If0yFu5E',
                  'id': '5CfLIXfiqkmqz5If0yFu5E',
                  'name': 'MID CITY',
                  'type': 'artist',
                  'uri': 'spotify:artist:5CfLIXfiqkmqz5If0yFu5E'}],
     'copyright': '2019 MID CITY',
     'disc_number': 1,
     'duration': 187.042,
     'explicit': True,
     'external_ids': {'isrc': 'GBKPL1940998'},
     'external_urls': {'spotify': 'https://open.spotify.com/track/6oylMTVIJOuouQuHEGwuW5'},
     'genre': None,
     'href': 'https://api.spotify.com/v1/tracks/6oylMTVIJOuouQuHEGwuW5',
     'id': '6oylMTVIJOuouQuHEGwuW5',
     'is_local': False,
     'lyrics': None,
     'name': 'No Surrender',
     'popularity': 44,
     'preview_url': 'https://p.scdn.co/mp3-preview/8457693bb9dddd31e20372aa94467fbebf604b73?cid=4fe3fecfe5334023a1472516cc99d805',
     'publisher': 'MID CITY',
     'release_date': '2019-03-06',
     'spotify_metadata': True,
     'total_tracks': 1,
     'track_number': 1,
     'type': 'track',
     'uri': 'spotify:track:6oylMTVIJOuouQuHEGwuW5',
     'year': '2019'}
DEBUG: Opening URL: https://www.youtube.com/results?sp=EgIQAQ%253D%253D&q=MID%20CITY%20-%20No%20Surrender%20lyrics
INFO: MID CITY - No Surrender (http://www.youtube.com/watch?v=RJtbtNCXwsI)
DEBUG: Refining songname from "MID CITY - No Surrender" to "MID CITY - No Surrender"
DEBUG: Cleaning any temp files and checking if "MID CITY - No Surrender" already exists
DEBUG: Found an already existing song: "MID CITY - No Surrender.m4a"
Traceback (most recent call last):
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\mutagen\mp4\__init__.py", line 931, in load
    moov = atoms[b"moov"]
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\mutagen\mp4\_atom.py", line 194, in __getitem__
    raise KeyError("%r not found" % names[0])
KeyError: "b'moov' not found"

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\wackm\AppData\Local\Programs\Python\Python36\Scripts\spotdl.exe\__main__.py", line 9, in <module>
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\spotdl\spotdl.py", line 63, in main
    match_args()
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\spotdl\spotdl.py", line 28, in match_args
    track_dl.download_single()
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\spotdl\downloader.py", line 118, in download_single
    if not song_existence.already_exists(self.raw_song):
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\spotdl\downloader.py", line 36, in already_exists
    if internals.is_spotify(raw_song) and not self._has_metadata(song):
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\spotdl\downloader.py", line 58, in _has_metadata
    os.path.join(self.filepath, song), self.meta_tags
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\spotdl\metadata.py", line 20, in compare
    audiofile = MP4(music_file)
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\mutagen\_file.py", line 49, in __init__
    self.load(*args, **kwargs)
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\mutagen\_util.py", line 140, in wrapper
    return func(self, h, *args, **kwargs)
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\mutagen\mp4\__init__.py", line 1061, in load
    self.info.load(atoms, fileobj)
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\mutagen\_util.py", line 169, in wrapper
    return func(*args, **kwargs)
  File "c:\users\wackm\appdata\local\programs\python\python36\lib\site-packages\mutagen\mp4\__init__.py", line 933, in load
    raise MP4StreamInfoError("not a MP4 file")
mutagen.mp4.MP4StreamInfoError: not a MP4 file

Hope the extra info helps!

I'm having the same issue as of spotdl 1.2.0

I've released v1.2.1. See https://github.com/ritiek/spotify-downloader/issues/149#issuecomment-487371795 on how to update. Does updating to v1.2.1 fix the problem?

Update v1.2.1 i got error in pafy, i'm already update the pafy but still error
image

Edit : Solved by updating youtube-dl Thanks

For me the problem is solved with v1.2.1.

Thanks for the heads up! I'll close this as fixed.

Update v1.2.1 i got error in pafy, i'm already update the pafy but still error
image

Edit : Solved by updating youtube-dl Thanks
Same here:
pip install --upgrade youtube-dl

Was this page helpful?
0 / 5 - 0 ratings

Related issues

noahball picture noahball  路  3Comments

b-rad15 picture b-rad15  路  4Comments

EsmailELBoBDev2 picture EsmailELBoBDev2  路  5Comments

MangoTornado picture MangoTornado  路  6Comments

isdito picture isdito  路  5Comments