GithubHelp home page GithubHelp logo

awillheartwu / yunplex Goto Github PK

View Code? Open in Web Editor NEW
31.0 1.0 4.0 1.25 MB

一个用来同步plex歌曲资料库和网易云歌单的工具

JavaScript 97.69% Dockerfile 2.31%
docker net neteasecloud nodejs plex

yunplex's People

Contributors

awillheartwu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

yunplex's Issues

账号登陆就显示安全风险不知道什么原因换个其他账号可以

[email protected] start
node ./sync.mjs
{
status: 400,

{
loginType: 1,
code: 10004,
message: '当前登录存在安全风险,请稍后再试',
redirectUrl: 'https://st.music.163.com/st/user-new/phoneReuse/index.html?scene=-1&userId=119498754&failCode=10003&systemOs=iphone&ts=1714742720084&NMSCVT=-115636536'
},
cookie: [
'NMSCVT=null; Max-Age=1200; Expires=Fri, 03 May 2024 13:45:20 GMT; Path=/;',
'NMTID=00OQ4B4mMagl_sipEqrsty0hdj5_IEAAAGPPqF2Ww; Max-Age=315360000; Expires=Mon, 01 May 2034 13:25:20 GMT; Path=/;'
]
}
♿️ - file: sync.mjs:32 - main - selectName: 9977368074
TypeError: Cannot read properties of undefined (reading 'playlistName')
at main (file:///app/sync.mjs:371:94)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async file:///app/sync.mjs:413:1
[email protected] start
node ./sync.mjs

容器意外停止运行

♿️ - file: sync.mjs:32 - main - item: 大崩壊
{ ids: '[2078005474]', level: 'jymaster', encodeType: 'flac' }
{ ids: '[2152798482]', level: 'hires', encodeType: 'flac' }
FetchError: request to http://m701.music.126.net/20240518182837/9b78212253c734bf2d591e010753877a/jdymusic/obj/wo3DlMOGwrbDjj7DisKw/35911748115/8ea5/5fd8/4037/e86fe1f905228e79cf9bee8cceed7991.flac failed, reason: getaddrinfo EAI_AGAIN m701.music.126.net
at ClientRequest. (file:///app/node_modules/node-fetch/src/index.js:108:11)
at ClientRequest.emit (node:events:513:28)
at Socket.socketErrorListener (node:_http_client:494:9)
at Socket.emit (node:events:513:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
type: 'system',
errno: 'EAI_AGAIN',
code: 'EAI_AGAIN',
erroredSysCall: 'getaddrinfo'
}

启动报错

使用的是最新镜像,启动之后报如下错误

image

docker 版经常停止,有文件夹但没有歌曲,下载失败

如题,网易云创建了同名歌单,docker 运行时能读取到歌曲信息,并创建歌手文件夹,但是没有下载歌曲
网易云同名歌单
读取信息正常
只有文件夹没歌曲

经常意外停止容器,偶尔能下载几首歌。
无法下载停止容器


另外说一下,偶尔下载的歌曲没有ID3 标签,而且文件名只有歌曲名,无法自定义【歌手-歌曲名】的命名格式,导致 plex 的网易云插件或音乐标签等工具也无法自动匹配。
没有 ID3 标签

Docker版本启动报错,建议修改latest标签

群晖安装docker版启动报错,貌似是歌单信息获取有问题,具体见截图。

TypeError: Cannot read properties of undefined (reading 'playlistName')

报错截图


刚研究了一会儿,终于知道原因了,博主你的docker标签有1.0和1.1,但是docker默认下载的是1.0(一路点确认就容易误操作)。建议修改为常见的latest标签,获取最新版本,也方便以后自动更新。

另外催更一下下载歌曲目录自定义功能,我下载的基本都是单曲,没有套嵌文件夹的需求,那样反而更麻烦了。

关于多歌手的歌曲和专辑及歌词的建议

YunPlex 应该是会在转换格式以后重新写入元数据吧?

目前对于多歌手的歌曲,似乎是把歌曲歌手 A & B 写成了专辑歌手 A & B,因为 Plex 的专辑歌手只支持一个人,希望在写入专辑歌手时只保留排在前面的歌手,去掉后面的歌手,否则会导致识别问题(我不太确定配合网易云音乐刮削有没有这个问题,因为我是用 Plex Music 刮削的)。

另外如果有可能,希望在上述前提下,把歌曲的多歌手 A & B 写到歌曲歌手上面,这样就不需要到 Plex 里手动编辑歌曲歌手了,因为 Plex 的歌曲歌手是支持多歌手的,但是现在歌曲歌手这个字段是空的,没有写入数据,希望 YunPlex 按照正确的专辑歌手(Album Artist)和歌曲歌手(Artist)来写入元数据(如果歌曲的歌手只有一个建议留空 Artist 字段,只在多歌手的情况下写入 Artist)。

另外在保存文件时,多歌手的歌曲会被保存在 A & B 这样的文件夹内,会以这个作为文件夹在里面再建立一个同名的专辑,这样对于文件管理来说不太友好,希望在保存歌曲文件时也遵循上面的原则,专辑歌手只留一个人,同一张专辑里如果有单个歌手和多人合作的歌曲,全部都放在这个专辑的歌手(一个人)的文件夹内的这张专辑下面,而不要把多歌手的歌曲单独保存。

最后说一下多歌手的正确格式,Plex 在某些客户端内实际上是支持歌曲多歌手关联的,也就是歌曲的歌曲歌手这个字段,使用正确的格式写入信息,在 Plexamp 内是可以被识别为多歌手,并与所有歌手关联的。正确的格式有:

A feat. B
A ft. B
A & B
A / B
A, B
A with B
A and B

上面格式中的空格是必须要有的,否则不会识别为多歌手。YunPlex 可以考虑在处理多歌手时按照上面的格式处理,这样部分 Plex 客户端就可以识别。

还有个关于歌词的请求,有没有可能在下载歌词的时候下载包括翻译的歌词啊?现在的歌词都不包括翻译,有些外语歌网易云是双语的版本,YunPlex 下下来都是一种语言的,Plex 是支持双语歌词的。

两个建议

1、希望可以自定义下载音质。如果是会员,最高的超清母带等音质是计算出来的,文件太大。最高hires实际已经够了。
2、会员下载的大多是ncm加密格式,不知道是否调用解密?

无法同步歌单

我第一次接触docker 我改上传什么文件来让您了解错误?docker的日志吗

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.