[x] Searched for similar issues
[ ] Feature Request
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.
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
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.
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

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
Edit : Solved by updating youtube-dl Thanks
Same here:
pip install --upgrade youtube-dl
Most helpful comment