首页
/ ncmdump:网易云音乐NCM格式转换工具使用指南

ncmdump:网易云音乐NCM格式转换工具使用指南

2026-02-06 04:42:17作者:卓炯娓

ncmdump是一个专门用于转换网易云音乐专有格式.ncm文件为通用.mp3或.flac格式的开源工具。该项目基于C++开发,支持跨平台使用,能够完美处理包含中文、日文、韩文等UTF-8字符的文件名。

项目概述

ncmdump是最早支持网易云音乐NCM格式转换的C++版本程序,源码复刻自anonymous5l/ncmdump。该项目经过优化,修复了内存溢出问题,并实现了全操作系统的跨平台编译移植。1.3.0版本后彻底解决了特殊字符文件名无法解密的问题。

快速开始

安装方法

通过源码编译安装:

git clone https://gitcode.com/gh_mirrors/nc/ncmdump
cd ncmdump
cmake -DCMAKE_BUILD_TYPE=Release -B build
cmake --build build -j$(nproc)

编译完成后,可在build文件夹找到编译好的二进制文件。

基本使用

转换单个或多个文件:

ncmdump file1.ncm file2.ncm

批量处理文件夹:

ncmdump -d source_dir

递归处理子文件夹:

ncmdump -d source_dir -r

指定输出目录:

ncmdump -d source_dir -o output_dir -r

删除源文件(成功转换后):

ncmdump -m

高级功能

动态库集成

ncmdump提供libncmdump动态库,支持在C#、Python、Java等项目中集成使用。示例代码位于example/csharp目录:

C#调用示例:

// 创建NeteaseCrypt实例
NeteaseCrypt neteaseCrypt = new NeteaseCrypt("test.ncm");

// 启动转换过程
int result = neteaseCrypt.Dump("");

// 修复元数据
neteaseCrypt.FixMetadata();

// 销毁实例
neteaseCrypt.Destroy();

注意:在Windows环境下开发时,传递到库构造函数的文件名编码必须为UTF-8编码。

跨平台支持

Windows编译: 需要安装Visual Studio 2022、CMake和vcpkg,配置taglib静态库。

macOS编译:

brew install taglib
cmake -DCMAKE_BUILD_TYPE=Release -B build
cmake --build build -j$(nproc)

Linux编译: 需要手动编译安装taglib 2.x版本,然后使用CMake配置和编译项目。

注意事项

  • 网易云音乐3.0之后的部分版本下载的ncm文件可能不内置歌曲专辑封面图片,需要从网络获取
  • 对于需要自动获取封面图的功能,建议使用基于此项目开发的GUI程序或其他重写版本
  • 确保使用UTF-8编码处理文件名,特别是包含非ASCII字符的情况

应用场景

ncmdump非常适合以下场景:

  • 个人音乐库管理,将网易云音乐下载的专有格式转换为通用格式
  • 自动化脚本集成,定时处理新下载的ncm文件
  • 二次开发项目,通过动态库接口集成到其他应用程序中

通过ncmdump,用户可以轻松地将网易云音乐的加密格式转换为标准的音频格式,实现音乐文件的长期保存和跨平台播放。

登录后查看全文
热门项目推荐
相关项目推荐