转换网易云音乐 ncm 到 mp3 / flac. Convert Netease Cloud Music ncm files to mp3/flac files.
Go to file
TaurusXin cce512bbf3 feat: parse directory with -d option (#4) 2024-01-05 18:34:42 +08:00
taglib chore: bump taglib to 1.13.1 2023-10-04 17:43:00 +08:00
.gitignore add vscode and idea ingore file 2023-06-02 21:49:28 +01:00
Makefile fix: compiler cannot find libtag in M1 Mac #2 2023-10-04 17:02:06 +08:00
README.md feat: parse directory with -d option (#4) 2024-01-05 18:34:42 +08:00
aes.cpp feat: added project files 2021-10-06 17:34:29 +01:00
aes.h feat: added project files 2021-10-06 17:34:29 +01:00
base64.h fix: build error on win32 with gcc 13.2.0 2023-10-04 17:42:47 +08:00
cJSON.cpp feat: added project files 2021-10-06 17:34:29 +01:00
cJSON.h feat: added project files 2021-10-06 17:34:29 +01:00
main.cpp feat: parse directory with -d option (#4) 2024-01-05 18:34:42 +08:00
ncmcrypt.cpp feat: parse directory with -d option (#4) 2024-01-05 18:34:42 +08:00
ncmcrypt.h feat: added project files 2021-10-06 17:34:29 +01:00

README.md

ncmdump

使用本程序可将下载的网易云音乐缓存文件ncm转换为 mp3 或 flac 格式

简介

该版本为最早的 C++ 版本,也是作者开发的市面上第一个支持 ncm 转换的程序

源码复刻自 anonymous5l/ncmdump感谢前辈的付出 做了 Windows 下的移植,修复了一些编译问题

传送门

2021年10月6日原作者已经删库

依赖库及不同平台编译方法

依赖库

  • taglib

Linux / macOS

# CentOS
yum install taglib-devel
make linux

# Ubuntu / Debian
apt install libtag1-dev
make linux

# macOS with Intel chip
brew install taglib
make macos-intel

# macOS with Apple Silicon (M1 / M2)
brew install taglib
make macos-arm64

注意Linux / macOS 为动态库支持Linux 下静态编译需要手动编译 taglib 静态库macOS 原生库不支持静态链接

Windows

MinGW

因为部分代码(例如常量引用等)在 msvc 下面编译不通过,本项目需要使用 MinGW 编译 已经修改部分代码使得支持 msvc 编译,详见下面的 Visual Studio 部分

下载 mingw-w64 的 Windows 版本,这里推荐从 winlibs 这个网站下载,编译器版本始终跟随上游保持最新

将 mingw64/bin 添加到系统环境变量

taglib 在 Windows 下已经编译好放在项目内,直接执行

mingw32-make win32

生成的二进制程序为静态链接版本,可脱离运行库运行在裸机上

msys2

pacman -Syu
git clone https://github.com/taurusxin/ncmdump && cd ncmdump
make win32

Visual Studio

使用 git 切换到 msvc 分支,使用 Visual Studio 打开 ncmdump.sln编译即可

使用

  1. 多文件:命令行下使用 ncmdump file1 file2...
  2. 文件夹批量处理:命令行下使用 ncmdump -d folder
  3. 直接 ncm 拖拽文件到二进制文件上