lavalink-devs/youtube-source

Youtube source loads the track but does not playing

Closed this issue · 11 comments

Youtube source loads the track but does not playing. And i dont get any error.

Here is my logs and configuration
spring.log

server: # REST and WS server
  port: 1234
  address: 127.0.0.1
  http2:
    enabled: false # Whether to enable HTTP/2 support
plugins:
  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:
      - WEB
      - TVHTML5EMBEDDED
    # You can configure individual clients with the following.
    # Any options or clients left unspecified will use their default values,
    # which enables everything for all clients.
    WEB: # names are specified as they are written below under "Available Clients".
      # This will disable using the WEB client for video playback.
      playback: true
      playlistLoading: true
      videoLoading: true
      searching: true
    TVHTML5EMBEDDED:
      # The below config disables everything except playback for this client.
      playlistLoading: false # Disables loading of playlists and mixes for this client.
      videoLoading: false # Disables loading of videos for this client (playback is still allowed).
      searching: false # Disables the ability to search for videos for this client.
lavalink:
  plugins:
    - dependency: "dev.lavalink.youtube:youtube-plugin:1.3.0"
      snapshot: false # Set to true if you want to use a snapshot version.
#    - dependency: "com.github.example:example-plugin:1.0.0" # required, the coordinates of your plugin
#      repository: "https://maven.example.com/releases" # optional, defaults to the Lavalink releases repository by default
#      snapshot: false # optional, defaults to false, used to tell Lavalink to use the snapshot repository instead of the release repository
#  pluginsDir: "./plugins" # optional, defaults to "./plugins"
#  defaultPluginRepository: "https://maven.lavalink.dev/releases" # optional, defaults to the Lavalink release repository
#  defaultPluginSnapshotRepository: "https://maven.lavalink.dev/snapshots" # optional, defaults to the Lavalink snapshot repository
  server:
    password: "youshallnotpass"
    sources:
      youtube: false
      bandcamp: true
      soundcloud: true
      twitch: true
      vimeo: true
      http: true
      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: HIGH # 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: 6 # Number of pages at 100 each
    playerUpdateInterval: 5 # How frequently to send player updates to clients, in seconds
    youtubeSearchEnabled: false
    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: "" # Email of Google 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: "" # Hostname of the proxy, (ip or domain)
    #  proxyPort: 443 # 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:
    root: INFO
    lavalink: INFO

    level:
    # Set this to TRACE to see all WebSocket messages
      lavalink.server.io.SocketContext: TRACE
    # Log all track exceptions (COMMON, SUSPICIOUS & FAULT)
      com.sedmelluq.discord.lavaplayer.tools.ExceptionTools: DEBUG


  request:
    enabled: true
    includeClientInfo: true
    includeHeaders: false
    includeQueryString: true
    includePayload: true
    maxPayloadLength: 10000


  logback:
    rollingpolicy:
      max-file-size: 1GB
      max-history: 30

Enable debug logs.

logging:
  file:
    path: ./logs/

  level:
    root: DEBUG
    lavalink: DEBUG

    level:
    # Set this to TRACE to see all WebSocket messages
      lavalink.server.io.SocketContext: DEBUG
    # Log all track exceptions (COMMON, SUSPICIOUS & FAULT)
      com.sedmelluq.discord.lavaplayer.tools.ExceptionTools: DEBUG


  request:
    enabled: true
    includeClientInfo: true
    includeHeaders: false
    includeQueryString: true
    includePayload: true
    maxPayloadLength: 10000


  logback:
    rollingpolicy:
      max-file-size: 1GB
      max-history: 30

spring.log

Those logs look fine to me and it does appear to be playing.

Does the bot join the voice channel? Do you see a green ring around the bot's icon in the voice channel? Is your User-Id header set correctly?

The bot enters the voice channel, packets from the voice servers also go to lavalink, but there is no sound.

You haven't answered the last two questions.

  • Do you see a green ring around the bot's icon in the voice channel?
  • Is your User-Id header set correctly? Specifying the wrong user ID can cause issues with no audio.

I dont see green ring and User-Id header is correct

Try changing voice channel region.

Nothing changed

  • Check that you're not fighting your client library for a voice channel connection
    • ...such as using built-in connect methods, the library may try to instantiate its own voice websocket.
  • Check that you're not fighting a duplicated Lavalink connection for a voice channel connection
    • ...such as running a second bot instance in the background, so you have two separate bot instances processing the same commands causing them to fight each other for a voice connection.
  • Check that your firewall is not blocking packets to Discord.
  • Check whether audio from another source is audible (i.e. Bandcamp, Soundcloud, Twitch, Vimeo, Deezer, or any HTTP/Local source. NOT Spotify or Apple Music as these MIRROR and do not play directly).
  • Check your own voice connection, make sure the signal bars are green and that Discord does NOT report RTC Connecting/Awaiting Endpoint or similar error. Orange/red signal bars usually indicate a lack of, or unstable connection.

I tried with soundcloud and its failed again i think its not only about youtube source now

I would do more testing and rule out as much of your system/network being the problem as possible. Other than that, all I can really suggest is opening an issue on the Lavalink server repo (but do your best to rule out the issue being on your end).