fent / node-ytdl-core

YouTube video downloader in javascript.
MIT License
4.51k stars 797 forks source link

"Could not find player config" #690

Closed JamesHawkinss closed 4 years ago

JamesHawkinss commented 4 years ago

Stack trace:

1|communit |     at exports.getBasicInfo (/home/jameshawkins/community-bot/node_modules/ytdl-core/lib/info.js:90:13)
1|communit |     at runMicrotasks (<anonymous>)
1|communit |     at processTicksAndRejections (internal/process/task_queues.js:97:5)
1|communit |     at async Map.getOrSet (/home/jameshawkins/community-bot/node_modules/ytdl-core/lib/cache.js:24:19)
1|communit |     at async exports.getInfo (/home/jameshawkins/community-bot/node_modules/ytdl-core/lib/info.js:215:14)
1|communit |     at async Map.getOrSet (/home/jameshawkins/community-bot/node_modules/ytdl-core/lib/cache.js:24:19)

Related code:

const dispatcher = this.connection.play(ytdl(`https://youtube.com/watch?v=${this.playlist[this.currentIndex].id}`, {
    filter: "audioonly",
    highWaterMark: 1024 * 1024 * 10
}));

This error has started occurring on videos that worked perfectly previously.

Thanks in advance for any help.

fent commented 4 years ago

daily tests show this too https://github.com/fent/node-ytdl-core/runs/1005506799

this is happening on age restricted videos

SugarD-x commented 4 years ago

I hate to comment on a closed issue, but this error apparently also appears in region-restricted videos, but is not very clear on the error message. The above fix doesn't resolve it.

fent commented 4 years ago

I'll look into that

Qwerty1Verified commented 4 years ago

Something weird I'm experiencing is just every other video will have the "Could not find player config" error, if you re-request it then it works fine that next time

MikeDev96 commented 4 years ago

Something weird I'm experiencing is just every other video will have the "Could not find player config" error, if you re-request it then it works fine that next time

Same here.

AlwaysTraid commented 4 years ago

I'm still getting this issue to this day.

Error: Could not find player config at exports.getBasicInfo (/home/traid/Echo Bot/node_modules/ytdl-core-discord/node_modules/ytdl-core/lib/info.js:59:13) at runMicrotasks () at processTicksAndRejections (internal/process/task_queues.js:97:5) at async Object.exports. [as getBasicInfo] (/home/traid/Echo Bot/node_modules/ytdl-core-discord/node_modules/ytdl-core/lib/info.js:296:18) at async exports.getFullInfo (/home/traid/Echo Bot/node_modules/ytdl-core-discord/node_modules/ytdl-core/lib/info.js:187:14) at async Object.exports. [as getFullInfo] (/home/traid/Echo Bot/node_modules/ytdl-core-discord/node_modules/ytdl-core/lib/info.js:296:18)

fent commented 4 years ago

is ytdl-core-discord still using an older ytdl-core version?

Qwerty1Verified commented 4 years ago

is ytdl-core-discord still using an older ytdl-core version?

It wouldn't surprise me

csanszan1 commented 4 years ago

I just updated ytdl-core and the issue is still there

Error: Could not find player config
    at exports.getBasicInfo (/home/csanad/SektorMusicEris/node_modules/ytdl-core/lib/info.js:59:13)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async Object.exports.<computed> [as getBasicInfo] (/home/csanad/SektorMusicEris/node_modules/ytdl-core/lib/info.js:296:18)
    at async exports.getFullInfo (/home/csanadSektorMusicEris/node_modules/ytdl-core/lib/info.js:187:14)
    at async Object.exports.<computed> [as getFullInfo] (/home/csanad/SektorMusicEris/node_modules/ytdl-core/lib/info.js:296:18)
Datura359 commented 4 years ago

Just for posterity, I was receiving this error when attempting to use ytdl.getInfo() with URLs that have additional parameters beyond "v=", for example, &list, &index, &ab_channel. Cleaning up the URL so it only has https://www.youtube.com/watch?v=(videoID) appears to have fixed on my end.

Qwerty1Verified commented 4 years ago

Just for posterity, I was receiving this error when attempting to use ytdl.getInfo() with URLs that have additional parameters beyond "v=", for example, &list, &index, &ab_channel. Cleaning up the URL so it only has https://www.youtube.com/watch?v=(videoID) appears to have fixed on my end.

It randomly happening was fixed in a later merge, the whole cleaning the URL thing up I'm not sure of because I never noticed it having a pattern. If so I will try it out but so far it seems fine without that.

fent commented 4 years ago

Just for posterity, I was receiving this error when attempting to use ytdl.getInfo() with URLs that have additional parameters beyond "v=", for example, &list, &index, &ab_channel. Cleaning up the URL so it only has https://www.youtube.com/watch?v=(videoID) appears to have fixed on my end.

internally, ytdl-core extracts the id out of whatever url format its given. so this wouldn't matter.

aikozijlemans commented 4 years ago

getting error: Error: Could not find player config at exports.getBasicInfo (/home/container/node_modules/ytdl-core-discord/node_modules/ytdl-core/lib/info.js:59:13) at processTicksAndRejections (internal/process/task_queues.js:97:5) at async Object.exports. [as getBasicInfo] (/home/container/node_modules/ytdl-core-discord/node_modules/ytdl-core/lib/info.js:296:18) at async exports.getFullInfo (/home/container/node_modules/ytdl-core-discord/node_modules/ytdl-core/lib/info.js:187:14) at async Object.exports. [as getFullInfo] (/home/container/node_modules/ytdl-core-discord/node_modules/ytdl-core/lib/info.js:296:18)

Versions: "ytdl-core": "^3.1.0", "ytdl-core-discord": "^1.2.1"

MahoMuri commented 4 years ago

Henlo I am still getting this error, I am no longer sure as to why

SugarD-x commented 4 years ago

Just for posterity, I was receiving this error when attempting to use ytdl.getInfo() with URLs that have additional parameters beyond "v=", for example, &list, &index, &ab_channel. Cleaning up the URL so it only has https://www.youtube.com/watch?v=(videoID) appears to have fixed on my end.

That seems to make sense on my end. YouTube has recently started appending channel names to video URL's by default. It sounds like it doesn't know how to properly parse this additional information in the URL.

Qwerty1Verified commented 4 years ago

getting error: Error: Could not find player config at exports.getBasicInfo (/home/container/node_modules/ytdl-core-discord/node_modules/ytdl-core/lib/info.js:59:13) at processTicksAndRejections (internal/process/task_queues.js:97:5) at async Object.exports. [as getBasicInfo] (/home/container/node_modules/ytdl-core-discord/node_modules/ytdl-core/lib/info.js:296:18) at async exports.getFullInfo (/home/container/node_modules/ytdl-core-discord/node_modules/ytdl-core/lib/info.js:187:14) at async Object.exports. [as getFullInfo] (/home/container/node_modules/ytdl-core-discord/node_modules/ytdl-core/lib/info.js:296:18)

Versions: "ytdl-core": "^3.1.0", "ytdl-core-discord": "^1.2.1"

Update to YTDL 3.4+ that is fixed in a merge or latest which is 4.00

AlwaysTraid commented 4 years ago

getting error: Error: Could not find player config at exports.getBasicInfo (/home/container/node_modules/ytdl-core-discord/node_modules/ytdl-core/lib/info.js:59:13) at processTicksAndRejections (internal/process/task_queues.js:97:5) at async Object.exports. [as getBasicInfo] (/home/container/node_modules/ytdl-core-discord/node_modules/ytdl-core/lib/info.js:296:18) at async exports.getFullInfo (/home/container/node_modules/ytdl-core-discord/node_modules/ytdl-core/lib/info.js:187:14) at async Object.exports. [as getFullInfo] (/home/container/node_modules/ytdl-core-discord/node_modules/ytdl-core/lib/info.js:296:18) Versions: "ytdl-core": "^3.1.0", "ytdl-core-discord": "^1.2.1"

Update to YTDL 3.4+ that is fixed in a merge or latest which is 4.00

4.0.0? What about ytdl-core-discord version?

Qwerty1Verified commented 4 years ago

getting error: Error: Could not find player config at exports.getBasicInfo (/home/container/node_modules/ytdl-core-discord/node_modules/ytdl-core/lib/info.js:59:13) at processTicksAndRejections (internal/process/task_queues.js:97:5) at async Object.exports. [as getBasicInfo] (/home/container/node_modules/ytdl-core-discord/node_modules/ytdl-core/lib/info.js:296:18) at async exports.getFullInfo (/home/container/node_modules/ytdl-core-discord/node_modules/ytdl-core/lib/info.js:187:14) at async Object.exports. [as getFullInfo] (/home/container/node_modules/ytdl-core-discord/node_modules/ytdl-core/lib/info.js:296:18) Versions: "ytdl-core": "^3.1.0", "ytdl-core-discord": "^1.2.1"

Update to YTDL 3.4+ that is fixed in a merge or latest which is 4.00

4.0.0? What about ytdl-core-discord version?

I'm not sure as I don't use ytdl-core-discord :/

chicken999 commented 4 years ago

im having the same issue before and after updating to version 4.0.0

(node:4708) UnhandledPromiseRejectionWarning: Error: Could not find player config at exports.getBasicInfo (home\bot-master\node_modules\yt-dl-playlist\node_modules\ytdl-core\lib\info.js:59:13) at processTicksAndRejections (internal/process/task_queues.js:97:5) at async Object.exports. [as getBasicInfo] (home\bot-master\node_modules\yt-dl-playlist\node_modules\ytdl-core\lib\info.js:296:18) at async exports.getFullInfo (home\bot-master\node_modules\yt-dl-playlist\node_modules\ytdl-core\lib\info.js:187:14) at async Object.exports. [as getFullInfo] (home\bot-master\node_modules\yt-dl-playlist\node_modules\ytdl-core\lib\info.js:296:18) (node:4708) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:4708) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

EddiesTech commented 4 years ago

@chicken999 I fixed it by downgrading to version 3.4.2 The new v4 causes this, as I only just started getting this error. @fent

Qwerty1Verified commented 4 years ago

@chicken999 I fixed it by downgrading to version 3.4.2 The new v4 causes this, as I only just started getting this error. @fent

3.4.2 is the version that fixed it originally so I'm not sure how 4.0.0 messes with it as I assume he wouldn't change something he not long ago merged

EddiesTech commented 4 years ago

@chicken999 I fixed it by downgrading to version 3.4.2 The new v4 causes this, as I only just started getting this error. @fent

3.4.2 is the version that fixed it originally so I'm not sure how 4.0.0 messes with it as I assume he wouldn't change something he not long ago merged

@fbagjug All I can say is that changing to that version fixed it. I have no idea why.

SugarD-x commented 4 years ago

There's currently a legal battle going on over the internet between the ytdl teams and the RIAA because of YouTube. YouTube has also been repeatedly changing their URL formatting lately on videos. I would not be surprised if some of these issues were related to that. (ytdl-core at one point even patched this issue directly). I believe ytdl-core-discord and node-ytdl-core both rely on ytdl-core as a dependency too, which has since been pulled from GitHub during this incident via a DMCA takedown notice. (Microsoft, GitHub, Discord, and everyone else involved are not too happy about it either). We may have to be patient on getting this properly resolved in the latest versions until we know the outcome of everything. There could be broken resources resulting from this whole mess the RIAA started.

Edit: It seems the latest node-ytdl-core doesn't rely on it anymore. Maybe that change is lacking something that caused the new errors while mimicking the same behavior? I still would be willing to bet YouTube made some changes to cause this.

fent commented 3 years ago

I believe ytdl-core-discord and node-ytdl-core both rely on ytdl-core as a dependency too, which has since been pulled from GitHub during this incident via a DMCA takedown notice.

node-ytdl-core is ytdl-core

ytdl-core-discord wasn't DMCA'd, it was taken down by the developer. either to avoid it getting DMCA'd in the future, or because they no longer maintain it.

curiosbasant commented 3 years ago

I'm still having this issue. Is it fixed now?

JotaOdiceu commented 3 years ago

After updating my dependencies with npm i ytdl-core -S and npm i ytdl-core-discord -S , everything went back to working normally.

TapsHTS commented 3 years ago

I have the same problème: (node:36) UnhandledPromiseRejectionWarning: Error: Could not find player config at exports.getBasicInfo (/home/container/node_modules/ytdl-core/lib/info.js:59:13) at processTicksAndRejections (internal/process/task_queues.js:97:5) at async Function.exports.<computed> [as getBasicInfo] (/home/container/node_modules/ytdl-core/lib/info.js:296:18) at async MessageCollector.<anonymous> (/home/container/commands/Musique/play.js:70:24) (node:36) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:36) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. What is the realy solution ?

Qwerty1Verified commented 3 years ago

What fixed it for me was updating to the latest version

On Fri, Oct 30, 2020 at 7:36 PM TapsHTS notifications@github.com wrote:

I have the same problème: (node:36) UnhandledPromiseRejectionWarning: Error: Could not find player config at exports.getBasicInfo (/home/container/node_modules/ytdl-core/lib/info.js:59:13) at processTicksAndRejections (internal/process/task_queues.js:97:5) at async Function.exports. [as getBasicInfo] (/home/container/node_modules/ytdl-core/lib/info.js:296:18) at async MessageCollector. (/home/container/commands/Musique/play.js:70:24) (node:36) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:36) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. What is the realy solution ?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/fent/node-ytdl-core/issues/690#issuecomment-719756235, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIGPEHQ6P3HUTFEMF5XPAWDSNMISHANCNFSM4QFYRVQQ .

TapsHTS commented 3 years ago

Ce qui l’a corrigé pour moi a été mise à jour à la dernière version ... Le ven 30 octobre 2020 à 19h36 TapsHTS @.***> a écrit: J’ai le même problème: (node:36) UnhandledPromiseRejectionWarning: Erreur: Impossible de trouver le joueur config à exports.getBasicInfo (/home/container/node_modules/ytdl-core/lib/info.js:59:13) à processTicksAndRejections (internal/process/task_queues.js:97:5) à async Function.exports. [as getBasicInfo] (/home/container/node_modules/ytdl-core/lib/info.js:296:18) at async MessageCollector. (/home/container/commands/Musique/play.js:70:24) (nod:36) UnhandledPromiseRejectionWarning: Unhandled promise rejection. Cette erreur est née soit en jetant à l’intérieur d’une fonction asynchrone sans bloc de capture, soit en rejetant une promesse qui n’a pas été traitée avec .catch(). Pour mettre fin au processus de nœud sur le rejet de promesse non manipulé, utilisez le drapeau CLI '--non manipulé-rejections=strict' (voir https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (id de rejet : 1) (nœud:36) [DEP0018] DeprecationWarning : Les rejets de promesses non manipulés sont dépréciés. À l’avenir, les rejets de promesses qui ne sont pas traités termineront le processus Node.js avec un code de sortie non zéro. Quelle est la solution réelle ? — Vous recevez cela parce que vous avez été mentionné. Répondez directement à cet e-mail, affichez-le sur GitHub <#690 (commentaire)>, ou désabonnez https://github.com/notifications/unsubscribe-auth/AIGPEHQ6P3HUTFEMF5XPAWDSNMISHANCNFSM4QFYRVQQ .

How can i update ?

Qwerty1Verified commented 3 years ago

npm i ytdl-core@latest is a decent way of doing it

Clydeston commented 3 years ago

Updated ytdl-core and dependencies, no luck. Hopefully DMCA issues get resolved soon.

HershKirsh commented 3 years ago

I'm also still having this issue.

Annabxlla commented 3 years ago

npm i ytdl-core@latest is a decent way of doing it

Doing this kinda fixed it, my bot is now joining the channel but is disconnecting right after, (console):


Error: Could not find player config
    at exports.getBasicInfo (F:\backup_____\vibebot\node_modules\ytdl-core-discord\node_modules\ytdl-core\lib\info.js:59:13)
    at processTicksAndRejections (node:internal/process/task_queues:93:5)
    at async Object.exports.<computed> [as getBasicInfo] (F:\backup_____\vibebot\node_modules\ytdl-core-discord\node_modules\ytdl-core\lib\info.js:296:18)
    at async exports.getFullInfo (F:\backup_____\vibebot\node_modules\ytdl-core-discord\node_modules\ytdl-core\lib\info.js:187:14)
    at async Object.exports.<computed> [as getFullInfo] (F:\backup_____\vibebot\node_modules\ytdl-core-discord\node_modules\ytdl-core\lib\info.js:296:18)```
kaleemshoukat commented 3 years ago

npm i ytdl-core@latest is a decent way of doing it

Thanks! It worked!

CompaCodeRC commented 3 years ago

Fixed: npm update ytdl-core npm update ytdl-core-discord

nkehoe03 commented 2 years ago

Still having this issue after running these @CompaCodeRC @kaleemshoukat

AndriyKozh commented 1 year ago

Hello! There was such a problem! and no queries work! My code is const ytdl = require("ytdl-core");

const url = "https://www.youtube.com/watch?v=ufT62Qz4fCw";

(async () => { try { const info = await ytdl.getInfo(url); const res = info;

console.log(res);

} catch (error) { console.error(error); } })();

And this is an error: evalmachine.:8 /,()[/,-71,//};Vla(ncode); ^

SyntaxError: Invalid regular expression: missing / at new Script (node:vm:100:7) at exports.decipherFormats (/Users/andrijkozevnikov/Documents/ProjectYoutube/allInfo/node_modules/ytdl-core/lib/sig.js:116:51) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Promise.all (index 0) at async exports.getInfo (/Users/andrijkozevnikov/Documents/ProjectYoutube/allInfo/node_modules/ytdl-core/lib/info.js:401:17)

"ytdl-core": "^4.11.4" updated to the latest version