yoki123 / Ncmdump
Licence: apache-2.0
netease cloud music copyright protection file dump(golang版本网易云音乐ncm文件格式转换)
Stars: ✭ 1,232
Programming Languages
go
31211 projects - #10 most used programming language
Projects that are alternatives of or similar to Ncmdump
Simple Netease Cloud Music
🎵A simple netease music api lib. 简单、统一、轻巧的 Node.js 版网易云音乐 API
Stars: ✭ 268 (-78.25%)
Mutual labels: netease-cloud-music
Neteasemusic
网易云音乐 & QQ音乐 & 咪咕音乐 第三方 web端 (可播放 vip、下架歌曲)
Stars: ✭ 952 (-22.73%)
Mutual labels: netease-cloud-music
Tonzhon Music
将QQ音乐、网易云音乐和酷我音乐上的歌添加到一个列表来播放!
Stars: ✭ 257 (-79.14%)
Mutual labels: netease-cloud-music
Electron Netease Cloud Music
UNOFFICIAL client for music.163.com. Powered by Electron and Vue
Stars: ✭ 257 (-79.14%)
Mutual labels: netease-cloud-music
Musicbox
😊 🎵 MusicPlayer 一站式收听多平台音乐(网易云, 虾米, QQ)的跨平台音乐播放器,尽情享受吧~✨
Stars: ✭ 1,130 (-8.28%)
Mutual labels: netease-cloud-music
Cloudreader
🗡️ 云阅:一款基于网易云音乐UI,使用玩Android Api,Retrofit2 + RxJava2 + Room + MVVM-databinding架构开发的Android客户端
Stars: ✭ 4,611 (+274.27%)
Mutual labels: netease-cloud-music
Netease Music Tui
netease cloud music terminal client by rust ⚡️
Stars: ✭ 276 (-77.6%)
Mutual labels: netease-cloud-music
Vsc Netease Music
UNOFFICIAL Netease Music extension for Visual Studio Code
Stars: ✭ 983 (-20.21%)
Mutual labels: netease-cloud-music
Spider For Netease Music
抓取网易云音乐上所有歌曲的评论数量,并整理数据打造一个前端展示页面
Stars: ✭ 268 (-78.25%)
Mutual labels: netease-cloud-music
Musicdl
A lightweight music downloader written by pure python.
Stars: ✭ 641 (-47.97%)
Mutual labels: netease-cloud-music
Qq Music List To Kwl
导出qq音乐歌单的小工具,导出格式为.kwl,可以把.kwl导入到网易云、酷我里面去。
Stars: ✭ 16 (-98.7%)
Mutual labels: netease-cloud-music
ncmdump.go - 导出网易云音乐 NCM 格式
简介
用于导出网易云音乐 NCM 格式的相关内容,核心转换功能参考 anonymous5l/ncmdump,并使用 golang 实现,起初是为了能在 Windows 下快速编译和运行。有任何BUG在这里提交。
特性
- 转换ncm文件
- 为音频(flac和mp3)文件补充tag信息,包含标题、歌手、专辑、封面等
- 保留163key使播放器能识别转换后的文件
如何使用?
-
下载程序ncmdump
- 拖拽方式执行:
拖拽ncm文件或者包含ncm文件夹到执行程序
ncmdump-xxx
上,等待程序运行完成- 命令行方式执行:
ncmdump-xxx [files.../dirs...]
参数支持:--output 输出文件夹,为空时默认输出文件夹为音频文件的原文件夹 --tag 是否使用ncm的元信息来为音频文件补充tag,默认true
参数需要放到输入文件、文件夹之前,如
ncmdump-xxx --output=D:\music_dump\ D:\music D:\music\name.ncm
-
代码中使用
下载:
go get -u github.com/yoki123/ncmdump
导入:
import "github.com/yoki123/ncmdump"
顺便提一句,为了转换以及处理方便,使用 ncmdump.Dump(fp)
会将已经解出来的原音乐格式放入内存中,如果想直接写入文件建议修改 writer 的指向即可。
格式分析
NCM 实际上不是音频格式是容器格式,封装了对应格式的 Meta 以及封面等信息,主要的格式如下:
因此,需要解开原格式信息的关键就是拿到 AES 的 KEY,好在每个 NCM 的加密的 KEY 都是一致的(出于性能考虑?)。所以,我们只要拿到 AES 的 KEY 以后,就可以根据格式解开对应的资源。
已知问题
新版的云音乐已经不在 NCM 嵌入图片以及 Meta 等信息,因此使用 ncmdump.DumpMeta
去调用的时候,需要检查 Meta 信息的完整性。如果您需要 Meta 等信息,建议不要使用最新的客户端。
相关链接
- http://www.bewindoweb.com/228.html
- https://github.com/anonymous5l/ncmdump
- https://github.com/go-flac/go-flac
- https://github.com/mingcheng/ncmdump
- eof -
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].