spotDL / spotify-downloader

Download your Spotify playlists and songs along with album art and metadata (from YouTube if a match is found).
https://spotdl.readthedocs.io/en/latest/
MIT License
17.15k stars 1.58k forks source link

After new version release, I have this error #2054

Closed aquariustech12 closed 2 months ago

aquariustech12 commented 6 months ago

System OS

Linux

Python Version

3.11 (CPython)

Install Source

pip / PyPi

Install version / commit hash

pip3 install spotdl

Expected Behavior vs Actual Behavior

Music starts to download/Music don't download

Steps to reproduce - Ensure to include actual links!

spotdl save 'https://open.spotify.com/playlist/xxxxxxxxxxxxxxxxxx' --save-file xxxxxxxxx.spotdl spotdl download xxxxxxxxxxx.spotdl AudioProviderError: YT-DLP download error -

Traceback

AudioProviderError: YT-DLP download error -

Other details

I was downloading some songs without any problem but now I have this error AudioProviderError: YT-DLP download error -

xnetcat commented 6 months ago

Can you upload logs with --log-level DEBUG

aquariustech12 commented 6 months ago

[21:03:30] ERROR asyncio_0 - Traceback (most recent call last): progress_handler.py:358 File "/home/julian/.local/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1594, in wrapper
return func(self, *args, **kwargs)
File "/home/julian/.local/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1729, in __extract_info
ie_result = ie.extract(url)
File "/home/julian/.local/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 732, in extract
ie_result = self._real_extract(url)
File "/home/julian/.local/lib/python3.10/site-packages/yt_dlp/extractor/youtube.py", line 4075, in _real_extract
webpage, master_ytcfg, player_responses, player_url = self._download_player_responses(url, smuggled_data, video_id, webpage_url)
File "/home/julian/.local/lib/python3.10/site-packages/yt_dlp/extractor/youtube.py", line 4039, in _download_player_responses
player_responses, player_url = self._extract_player_responses(
File "/home/julian/.local/lib/python3.10/site-packages/yt_dlp/extractor/youtube.py", line 3728, in _extract_player_responses
raise ExtractorError(
yt_dlp.utils.ExtractorError: HtYZIhtOaMQ: All player responses are invalid. Your IP is likely being blocked by Youtube

                During handling of the above exception, another exception occurred:                                                                                                                     

                Traceback (most recent call last):                                                                                                                                                      
                  File "/home/julian/.local/lib/python3.10/site-packages/spotdl/providers/audio/base.py", line 369, in get_download_metadata                                                            
                    data = self.audio_handler.extract_info(url, download=download)                                                                                                                      
                  File "/home/julian/.local/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1583, in extract_info                                                                               
                    return self.__extract_info(url, self.get_info_extractor(key), download, extra_info, process)                                                                                        
                  File "/home/julian/.local/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1612, in wrapper                                                                                    
                    self.report_error(str(e), e.format_traceback())                                                                                                                                     
                  File "/home/julian/.local/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1061, in report_error                                                                               
                    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)                                                                                         
                  File "/home/julian/.local/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 980, in trouble                                                                                     
                    self.to_stderr(message)                                                                                                                                                             
                  File "/home/julian/.local/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 920, in to_stderr                                                                                   
                    self.params['logger'].error(message)                                                                                                                                                
                  File "/home/julian/.local/lib/python3.10/site-packages/spotdl/providers/audio/base.py", line 57, in error                                                                             
                    raise AudioProviderError(msg)                                                                                                                                                       
                spotdl.providers.audio.base.AudioProviderError: ERROR:  HtYZIhtOaMQ: All player responses are invalid. Your IP is likely being blocked by Youtube                                       

                The above exception was the direct cause of the following exception:                                                                                                                    

                Traceback (most recent call last):                                                                                                                                                      
                  File "/home/julian/.local/lib/python3.10/site-packages/spotdl/download/downloader.py", line 661, in search_and_download                                                               
                    download_info = audio_downloader.get_download_metadata(                                                                                                                             
                  File "/home/julian/.local/lib/python3.10/site-packages/spotdl/providers/audio/base.py", line 375, in get_download_metadata                                                            
                    raise AudioProviderError(f"YT-DLP download error - {url}") from exception                                                                                                           
                spotdl.providers.audio.base.AudioProviderError: YT-DLP download error - https://music.youtube.com/watch?v=HtYZIhtOaMQ                            
xnetcat commented 6 months ago

here's your answer

ERROR: HtYZIhtOaMQ: All player responses are invalid. Your IP is likely being blocked by Youtube

aquariustech12 commented 6 months ago

It was supossed that the download is from youtube to avoid issues with Spotify, so there`s also issues with YouTube right?

xnetcat commented 6 months ago

It was supossed that the download is from youtube to avoid issues with Spotify, so there`s also issues with YouTube right?

This happens only if you download too much too quickly. Try using different audio provider piped is probably your best bet, but try not hitting their servers too hard.

aquariustech12 commented 6 months ago

I see, I was mostly updating metadata not only downloading. I've never heard of piped, do you have a guide to usse it? Or webpage to configure? Thanks in advance.

xnetcat commented 6 months ago

I see, I was mostly updating metadata not only downloading. I've never heard of piped, do you have a guide to usse it? Or webpage to configure? Thanks in advance.

--audio piped and that's it.

check spotdl --help for more info

aquariustech12 commented 6 months ago

Thank you very much

aquariustech12 commented 6 months ago

I have this issue

JSONDecodeError: Expecting value: line 1 column 1 (char 0)

aquariustech12 commented 6 months ago

I also have this issue

Processing query: MiPlayList35.spotdl
AudioProviderError: ERROR: [download] Got error: 0 bytes read, 3543586 more expected. Giving up after 5 retries

aquariustech12 commented 6 months ago

That error came after this request:

spotdl download MiPlayList35.spotdl --audio piped

xnetcat commented 6 months ago

I also have this issue

Processing query: MiPlayList35.spotdl AudioProviderError: ERROR: [download] Got error: 0 bytes read, 3543586 more expected. Giving up after 5 retries

That error came after this request:

spotdl download MiPlayList35.spotdl --audio piped

Piped is not as stable as youtube, because it's community hosted server. This could happen. You have to keep retrying or use VPN with YouTube.

xnetcat commented 6 months ago

I have this issue

JSONDecodeError: Expecting value: line 1 column 1 (char 0)

When does this happen? Can you provide debug logs?

aquariustech12 commented 6 months ago

Sure I will