Androz2091 / discord-music-bot

The perfect music bot for your Discord server! 🤘
238 stars 128 forks source link

Error playing live youtube videos #82

Open thyme4soup opened 2 years ago

thyme4soup commented 2 years ago

Hi, I've been trying to figure out an issue when playing live youtube video streams using the bot (example).

I'll give the command and the bot will join, playing the stream for a few seconds, then disconnect with the discord message ✅ | Queue finished!

Looking at the console output of the bot I don't see any message at the time, but shortly after I'll see Error emitted from the queue: aborted with no other info.

Logged in as <BOT LOGIN>!
Generating docs...
[<GUILD>] Error emitted from the queue: aborted

Are there any other steps I can take to increase logging? Is this a known issue/duplicate? If this is an issue with a dependency I can go there as well

thyme4soup commented 2 years ago

I've found that reverting #76 allows the bot to play live videos once again. Per https://github.com/fent/node-ytdl-core/issues/925 it seems that it might be related to the 'audioonly' setting.

thyme4soup commented 2 years ago
        const queue = await client.player.createQueue(guild, {
            ytdlOptions: {
                highWaterMark: 1 << 25,
            },
            metadata: channel
        });

these settings work fine with livestream videos. Are the options filter: 'audioonly' and dlChunkSize: 0 required? I'll confirm if we can isolate the 'audioonly' settings as the cause.

thyme4soup commented 2 years ago

confirmed that

        const queue = await client.player.createQueue(guild, {
            ytdlOptions: {
                highWaterMark: 1 << 30,
                dlChunkSize: 0,
            },
            metadata: channel
        });

works just fine in commands/play.js

If no objections I'd recommend removing the 'audioonly' filter due to the bug in ytdl-core (I'm also happy to create the PR once someone checks my reasoning)

nitpum commented 2 years ago

I just try with few video and it work properly. not sure it has a problem or not. maybe need more people to confirm this.