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

Invalid status code for player api response: 400 #77

Open
4 tasks done
sangnekk opened this issue Nov 15, 2024 · 5 comments
Open
4 tasks done

Invalid status code for player api response: 400 #77

sangnekk opened this issue Nov 15, 2024 · 5 comments
Labels
bug Something isn't working

Comments

@sangnekk
Copy link

sangnekk commented Nov 15, 2024

Basic Troubleshooting

  • I have checked for similar issues (open AND closed), and my issue is not a duplicate. (MANDATORY)
  • I have checked for pull requests that may already address my issue. (MANDATORY)
  • I am using (and my issue is reproducible on) the latest version of youtube-source.
  • My issue is reproducible with IPv6 rotation.

Version of youtube-source

1.8.3

The search query/queries, URL(s), playlist ID(s)/URL(s) or video ID(s)/URL(s) that triggered the issue

ytsearch

Code Example

N/A

Exception and Stacktrace

2024-11-15T19:09:31.409+07:00 ERROR 6792 --- [Lavalink] [lava-daemon-pool-playback-1-thread-1] c.s.d.l.t.p.LocalAudioTrackExecutor      : Error in playback of 3jwxsav_Ezk

com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Something broke when playing the track.
	at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.wrapUnfriendlyExceptions(ExceptionTools.java:45) ~[lavaplayer-2.2.1.jar!/:na]
	at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:121) ~[lavaplayer-2.2.1.jar!/:na]
	at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$executeTrack$2(DefaultAudioPlayerManager.java:339) ~[lavaplayer-2.2.1.jar!/:na]
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[na:na]
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[na:na]
	at java.base/java.lang.Thread.run(Thread.java:1575) ~[na:na]
Caused by: java.io.IOException: Invalid status code for player api response: 400
	at com.sedmelluq.discord.lavaplayer.tools.io.HttpClientTools.assertSuccessWithContent(HttpClientTools.java:154) ~[lavaplayer-2.2.1.jar!/:na]
	at dev.lavalink.youtube.clients.skeleton.NonMusicClient.loadJsonResponse(NonMusicClient.java:67) ~[jar:file:C:\Users\Administrator\Desktop\Music Port\.\plugins\youtube-plugin-1.8.3.jar!/:na]
	at dev.lavalink.youtube.clients.skeleton.NonMusicClient.loadTrackInfoFromInnertube(NonMusicClient.java:107) ~[jar:file:C:\Users\Administrator\Desktop\Music Port\.\plugins\youtube-plugin-1.8.3.jar!/:na]
	at dev.lavalink.youtube.clients.skeleton.StreamingNonMusicClient.loadFormats(StreamingNonMusicClient.java:35) ~[jar:file:C:\Users\Administrator\Desktop\Music Port\.\plugins\youtube-plugin-1.8.3.jar!/:na]
	at dev.lavalink.youtube.track.YoutubeAudioTrack.loadBestFormatWithUrl(YoutubeAudioTrack.java:193) ~[jar:file:C:\Users\Administrator\Desktop\Music Port\.\plugins\youtube-plugin-1.8.3.jar!/:na]
	at dev.lavalink.youtube.track.YoutubeAudioTrack.processWithClient(YoutubeAudioTrack.java:119) ~[jar:file:C:\Users\Administrator\Desktop\Music Port\.\plugins\youtube-plugin-1.8.3.jar!/:na]
	at dev.lavalink.youtube.track.YoutubeAudioTrack.process(YoutubeAudioTrack.java:72) ~[jar:file:C:\Users\Administrator\Desktop\Music Port\.\plugins\youtube-plugin-1.8.3.jar!/:na]
	at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:109) ~[lavaplayer-2.2.1.jar!/:na]
	... 4 common frames omitted

What is your client configuration?

server: # REST and WS server   port: 25581 # The port that the server listens on   address: 0.0.0.0   http2:     enabled: false # Whether to enable HTTP/2 support plugins:   dunctebot:     ttsLanguage: 'en-US' # language of the TTS engine     sources:       # true = source enabled, false = source disabled       getyarn: true # www.getyarn.io       clypit: true # www.clyp.it       tts: true # speak:Words to speak       pornhub: true # should be self-explanatory       reddit: true # should be self-explanatory       ocremix: true # www.ocremix.org       tiktok: true # tiktok.com       mixcloud: true # mixcloud.com       soundgasm: true # soundgasm.net       pixeldrain: true # pixeldrain.com   jiosaavn:     apiURL: "https://jiosaavn-plugin-api.deno.dev" # JioSaavn API URL     playlistTrackLimit: 50 # The maximum number of tracks to return from given playlist (default 50 tracks)     recommendationsTrackLimit: 10 # The maximum number of track to return from recommendations (default 10 tracks)   lavasrc:     providers: # Custom providers for track loading. This is the default       # - "dzisrc:%ISRC%" # Deezer ISRC provider       # - "dzsearch:%QUERY%" # Deezer search provider       - "ytsearch:\"%ISRC%\"" # Will be ignored if track does not have an ISRC. See https://en.wikipedia.org/wiki/International_Standard_Recording_Code       - "ytsearch:%QUERY%" # Will be used if track has no ISRC or no track could be found for the ISRC       #  you can add multiple other fallback sources here     sources:       spotify: true # Enable Spotify source       applemusic: false # Enable Apple Music source       deezer: false # Enable Deezer source       yandexmusic: false # Enable Yandex Music source       flowerytts: false # Enable Flowery TTS source       youtube: true # Enable YouTube search source (https://github.com/topi314/LavaSearch)       vkmusic: false # Enable Vk Music source     lyrics-sources:       spotify: true # Enable Spotify lyrics source       deezer: false # Enable Deezer lyrics source       youtube: true # Enable YouTube lyrics source       yandexmusic: false # Enable Yandex Music lyrics source       vkmusic: false # Enable Vk Music lyrics source     spotify:       clientId: "df09524006714bbdaae89715df577981"       clientSecret: "09fcf59d3cff4df78248f6781694e1e1"       # spDc: "your sp dc cookie" # the sp dc cookie used for accessing the spotify lyrics api       countryCode: "US" # the country code you want to use for filtering the artists top tracks. See https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2       playlistLoadLimit: 6 # The number of pages at 100 tracks each       albumLoadLimit: 6 # The number of pages at 50 tracks each       resolveArtistsInSearch: true # Whether to resolve artists in track search results (can be slow)       localFiles: false # Enable local files support with Spotify playlists. Please note `uri` & `isrc` will be `null` & `identifier` will be `"local"`     applemusic:       countryCode: "US" # the country code you want to use for filtering the artists top tracks and language. See https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2       mediaAPIToken: "your apple music api token" # apple music api token       # or specify an apple music key       keyID: "your key id"       teamID: "your team id"       musicKitKey: |         -----BEGIN PRIVATE KEY-----         your key         -----END PRIVATE KEY-----             playlistLoadLimit: 6 # The number of pages at 300 tracks each       albumLoadLimit: 6 # The number of pages at 300 tracks each     deezer:       masterDecryptionKey: "your master decryption key" # the master key used for decrypting the deezer tracks. (yes this is not here you need to get it from somewhere else)       # arl: "your deezer arl" # the arl cookie used for accessing the deezer api this is optional but required for formats above MP3_128       formats: [ "FLAC", "MP3_320", "MP3_256", "MP3_128", "MP3_64", "AAC_64" ] # the formats you want to use for the deezer tracks. "FLAC", "MP3_320", "MP3_256" & "AAC_64" are only available for premium users and require a valid arl     yandexmusic:       accessToken: "your access token" # the token used for accessing the yandex music api. See https://github.com/TopiSenpai/LavaSrc#yandex-music       playlistLoadLimit: 1 # The number of pages at 100 tracks each       albumLoadLimit: 1 # The number of pages at 50 tracks each       artistLoadLimit: 1 # The number of pages at 10 tracks each     flowerytts:       voice: "default voice" # (case-sensitive) get default voice from here https://api.flowery.pw/v1/tts/voices       translate: false # whether to translate the text to the native language of voice       silence: 0 # the silence parameter is in milliseconds. Range is 0 to 10000. The default is 0.       speed: 1.0 # the speed parameter is a float between 0.5 and 10. The default is 1.0. (0.5 is half speed, 2.0 is double speed, etc.)       audioFormat: "mp3" # supported formats are: mp3, ogg_opus, ogg_vorbis, aac, wav, and flac. Default format is mp3     youtube:       countryCode: "US" # the country code you want to use for searching lyrics via ISRC. See https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2     vkmusic:       userToken: "your user token" # This token is needed for authorization in the api. Guide: https://github.com/topi314/LavaSrc#vk-music       playlistLoadLimit: 1 # The number of pages at 50 tracks each       artistLoadLimit: 1 # The number of pages at 10 tracks each       recommendationsLoadLimit: 10 # Number of tracks   youtube:     enabled: true # Whether this source can be used.     allowSearch: true # Whether "ytsearch:" and "ytmsearch:" can be used.     allowDirectVideoIds: true # Whether just video IDs can match. If false, only complete URLs will be loaded.     allowDirectPlaylistIds: true # Whether just playlist IDs can match. If false, only complete URLs will be loaded.     # The clients to use for track loading. See below for a list of valid clients.     # Clients are queried in the order they are given (so the first client is queried first and so on...)     clients:       - ANDROID_MUSIC       - MUSIC       - WEB       - WEBEMBEDDED       - TVHTML5EMBEDDED       # This secure your lavalink is working and playing music if you used this two things below.     oauth:       enabled: true # IF YOU RUN YOUR LAVALINK CHECK YOUR CONSOLE AND CLICK THE GOOGLE.COM/DEVICES LINK AND THERE IS A CODE THAT YOU NEED TO PUT IN TO THE GOOGLE AND USE A BURNER ACCOUNT OR ALT ACCOUNT THERE IS A POSSIBLE CHANGE YOU CAN GET BANNED FROM GOOGLE OR YOUTUBE SO JUST USE A BURNER ACCOUNT IN CASE.     #pot:    #   token: "" # THIS REQUIRE INSTALLING https://github.com/iv-org/youtube-trusted-session-generator THIS IS A PYTHON FILE INSTALL THE REQUIREMENTS AND RUN PYTON INDEX FILE AND AFTER RUNNING YOU WILL RECIVE AND TOKEN AND VISTOR DATA AND PASTE IT BELOW.    #   visitorData: "" lavalink:   plugins:     - dependency: "com.github.appujet:jiosaavn-plugin:1.0.2"       repository: "https://jitpack.io"     - dependency: "com.dunctebot:skybot-lavalink-plugin:1.7.0"       snapshot: false # set to true if you want to use snapshot builds     - dependency: "com.github.topi314.lavasearch:lavasearch-plugin:1.0.0"       snapshot: false # set to true if you want to use snapshot builds     - dependency: "com.github.topi314.lavasrc:lavasrc-plugin:4.3.0"       snapshot: false # set to true if you want to use snapshot builds     - dependency: "com.github.topi314.sponsorblock:sponsorblock-plugin:3.0.1"       snapshot: false # set to true if you want to use snapshot builds     - dependency: "dev.lavalink.youtube:youtube-plugin:1.8.3"       snapshot: false # set to true if you want to use snapshot builds   pluginsDir: './plugins'   server:     password: "localhost"     sources:       # The default Youtube source is now deprecated and won't receive further updates. Please use https://github.com/lavalink-devs/youtube-source#plugin instead.       youtube: false       bandcamp: true       soundcloud: true       twitch: true       vimeo: true       mixer: true       nico: true       http: true # warning: keeping HTTP enabled without a proxy configured could expose your server's IP address.       local: false     filters: # All filters are enabled by default       volume: true       equalizer: true       karaoke: true       timescale: true       tremolo: true       vibrato: true       distortion: true       rotation: true       channelMix: true       lowPass: true     bufferDurationMs: 400 # The duration of the NAS buffer. Higher values fare better against longer GC pauses. Duration <= 0 to disable JDA-NAS. Minimum of 40ms, lower values may introduce pauses.     frameBufferDurationMs: 5000 # How many milliseconds of audio to keep buffered     opusEncodingQuality: 10 # Opus encoder quality. Valid values range from 0 to 10, where 10 is best quality but is the most expensive on the CPU.     resamplingQuality: MEDIUM # Quality of resampling operations. Valid values are LOW, MEDIUM and HIGH, where HIGH uses the most CPU.     trackStuckThresholdMs: 10000 # The threshold for how long a track can be stuck. A track is stuck if does not return any audio data.     useSeekGhosting: true # Seek ghosting is the effect where whilst a seek is in progress, the audio buffer is read from until empty, or until seek is ready.     youtubePlaylistLoadLimit: 10 # Number of pages at 100 each     playerUpdateInterval: 5 # How frequently to send player updates to clients, in seconds     youtubeSearchEnabled: true     soundcloudSearchEnabled: true     gc-warnings: true     #ratelimit:       #ipBlocks: ["1.0.0.0/8", "..."] # list of ip blocks       #excludedIps: ["...", "..."] # ips which should be explicit excluded from usage by lavalink       #strategy: "RotateOnBan" # RotateOnBan | LoadBalance | NanoSwitch | RotatingNanoSwitch       #searchTriggersFail: true # Whether a search 429 should trigger marking the ip as failing       #retryLimit: -1 # -1 = use default lavaplayer value | 0 = infinity | >0 = retry will happen this numbers times     #youtubeConfig: # Required for avoiding all age restrictions by YouTube, some restricted videos still can be played without.       #email: "your account mail" # Email of Google account       #password: "your account password" # Password of Google account     #httpConfig: # Useful for blocking bad-actors from ip-grabbing your music node and attacking it, this way only the http proxy will be attacked       #proxyHost: "localhost" # Hostname of the proxy, (ip or domain)       #proxyPort: 3128 # Proxy port, 3128 is the default for squidProxy       #proxyUser: "" # Optional user for basic authentication fields, leave blank if you don't use basic auth       #proxyPassword: "" # Password for basic authentication  metrics:   prometheus:     enabled: false     endpoint: /metrics  sentry:   dsn: ""   environment: "" #  tags: #    some_key: some_value #    another_key: another_value  logging:   file:     path: ./logs/    level:     # Set this to DEBUG to enable more detailed logging. Please note that this will likely spam your console.     root: INFO     # Set this to DEBUG to enable more detailed logging from Lavalink.     lavalink: INFO    request:     enabled: true     includeClientInfo: true     includeHeaders: false     includeQueryString: true     includePayload: true     maxPayloadLength: 10000    logback:     rollingpolicy:       max-file-size: 1GB       max-history: 30
@sangnekk sangnekk added the bug Something isn't working label Nov 15, 2024
@topi314 topi314 changed the title error 404 error 400 Nov 15, 2024
@topi314 topi314 changed the title error 400 Invalid status code for player api response: 400 Nov 15, 2024
@PingelPL
Copy link

PingelPL commented Nov 15, 2024

Simillar issue but using dev.lavalink.youtube version 1.8.2 in jagrosh/MusicBot

Nov 15 14:58:18 Pingel.pl java[954637]: [14:58:18] [ERROR] [LocalAudioTrackExecutor]: Error in playback of 6hmPxjuDytI
Nov 15 14:58:18 Pingel.pl java[954637]: com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Something broke when playing the track.
Nov 15 14:58:18 Pingel.pl java[954637]:         at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.wrapUnfriendlyExceptions(ExceptionTools.java:45)
Nov 15 14:58:18 Pingel.pl java[954637]:         at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:121)
Nov 15 14:58:18 Pingel.pl java[954637]:         at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$executeTrack$2(DefaultAudioPlayerManager.java:339)
Nov 15 14:58:18 Pingel.pl java[954637]:         at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
Nov 15 14:58:18 Pingel.pl java[954637]:         at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
Nov 15 14:58:18 Pingel.pl java[954637]:         at java.base/java.lang.Thread.run(Thread.java:829)
Nov 15 14:58:18 Pingel.pl java[954637]: Caused by: java.io.IOException: Invalid status code for player api response: 400
Nov 15 14:58:18 Pingel.pl java[954637]:         at com.sedmelluq.discord.lavaplayer.tools.io.HttpClientTools.assertSuccessWithContent(HttpClientTools.java:154)
Nov 15 14:58:18 Pingel.pl java[954637]:         at dev.lavalink.youtube.clients.skeleton.NonMusicClient.loadJsonResponse(NonMusicClient.java:67)
Nov 15 14:58:18 Pingel.pl java[954637]:         at dev.lavalink.youtube.clients.skeleton.NonMusicClient.loadTrackInfoFromInnertube(NonMusicClient.java:107)
Nov 15 14:58:18 Pingel.pl java[954637]:         at dev.lavalink.youtube.clients.skeleton.StreamingNonMusicClient.loadFormats(StreamingNonMusicClient.java:35)
Nov 15 14:58:18 Pingel.pl java[954637]:         at dev.lavalink.youtube.track.YoutubeAudioTrack.loadBestFormatWithUrl(YoutubeAudioTrack.java:193)
Nov 15 14:58:18 Pingel.pl java[954637]:         at dev.lavalink.youtube.track.YoutubeAudioTrack.processWithClient(YoutubeAudioTrack.java:119)
Nov 15 14:58:18 Pingel.pl java[954637]:         at dev.lavalink.youtube.track.YoutubeAudioTrack.process(YoutubeAudioTrack.java:72)
Nov 15 14:58:18 Pingel.pl java[954637]:         at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:109)
Nov 15 14:58:18 Pingel.pl java[954637]:         ... 4 common frames omitted
Nov 15 14:58:18 Pingel.pl java[954637]: [14:58:18] [ERROR] [AudioHandler]: Track 6hmPxjuDytI has failed to play
Nov 15 14:58:18 Pingel.pl java[954637]: com.sedmelluq.discord.lavaplayer.tools.FriendlyException: Something broke when playing the track.
Nov 15 14:58:18 Pingel.pl java[954637]:         at com.sedmelluq.discord.lavaplayer.tools.ExceptionTools.wrapUnfriendlyExceptions(ExceptionTools.java:45)
Nov 15 14:58:18 Pingel.pl java[954637]:         at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:121)
Nov 15 14:58:18 Pingel.pl java[954637]:         at com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager.lambda$executeTrack$2(DefaultAudioPlayerManager.java:339)
Nov 15 14:58:18 Pingel.pl java[954637]:         at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
Nov 15 14:58:18 Pingel.pl java[954637]:         at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
Nov 15 14:58:18 Pingel.pl java[954637]:         at java.base/java.lang.Thread.run(Thread.java:829)
Nov 15 14:58:18 Pingel.pl java[954637]: Caused by: java.io.IOException: Invalid status code for player api response: 400
Nov 15 14:58:18 Pingel.pl java[954637]:         at com.sedmelluq.discord.lavaplayer.tools.io.HttpClientTools.assertSuccessWithContent(HttpClientTools.java:154)
Nov 15 14:58:18 Pingel.pl java[954637]:         at dev.lavalink.youtube.clients.skeleton.NonMusicClient.loadJsonResponse(NonMusicClient.java:67)
Nov 15 14:58:18 Pingel.pl java[954637]:         at dev.lavalink.youtube.clients.skeleton.NonMusicClient.loadTrackInfoFromInnertube(NonMusicClient.java:107)
Nov 15 14:58:18 Pingel.pl java[954637]:         at dev.lavalink.youtube.clients.skeleton.StreamingNonMusicClient.loadFormats(StreamingNonMusicClient.java:35)
Nov 15 14:58:18 Pingel.pl java[954637]:         at dev.lavalink.youtube.track.YoutubeAudioTrack.loadBestFormatWithUrl(YoutubeAudioTrack.java:193)
Nov 15 14:58:18 Pingel.pl java[954637]:         at dev.lavalink.youtube.track.YoutubeAudioTrack.processWithClient(YoutubeAudioTrack.java:119)
Nov 15 14:58:18 Pingel.pl java[954637]:         at dev.lavalink.youtube.track.YoutubeAudioTrack.process(YoutubeAudioTrack.java:72)
Nov 15 14:58:18 Pingel.pl java[954637]:         at com.sedmelluq.discord.lavaplayer.track.playback.LocalAudioTrackExecutor.execute(LocalAudioTrackExecutor.java:109)
Nov 15 14:58:18 Pingel.pl java[954637]:         ... 4 common frames omitted

@WoozyDev
Copy link

Same thing happens for me

@HagarJNode
Copy link

Have the same issue

@devoxin
Copy link
Member

devoxin commented Nov 15, 2024

Please stop with the "me too" posts. They do not offer anything of value. If you have information that might be useful for the resolution of the problem then please post it, otherwise, refrain from adding a comment otherwise this issue will be locked.

@WeeeeeeeeeeS
Copy link

WeeeeeeeeeeS commented Nov 15, 2024

youtube patched oauth, try using something else

yt-dlp/yt-dlp#11558
yt-dlp/yt-dlp#11462

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants