三条命令完成 qmc3 转 mp3:qmc-decoder 做 QQ音乐格式转换的指南
【免费下载链接】qmc-decoderFastest & best convert qmc 2 mp3 | flac tools项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder
你刚在 QQ音乐 下载完一首歌,文件叫DaiPeng-JiangHu.qmc3,拷进 U 盘插到车上,车机列表完全不认。QMC 是 QQ音乐 自家的加密格式,脱离 App 就用不了。qmc-decoder 是一款针对 QQ音乐格式转换 的 QMC解密工具:丢一个 qmc3 进去,出来一个 mp3;丢一个 qmcflac,出来一个 flac,全程不重新编码。
谁适合用这个工具:三类人
对照下面三条,命中任意一条就值得花十分钟,一条都没中可以直接关掉文章。
- 你经常往车里插 U 盘,被 QQ音乐下载的文件放车上不能播 的事卡过。
- 你正从 QQ音乐 换到其他播放器或平台,想把曲库一并带走。
- 你在做长期曲库备份,不希望几年后手里的文件没法播。
🔧 三步跑起来:三条命令完成 qmc3 转 mp3
你只需要做三件事:下载源码、编译出一个可执行文件、转换一首歌验证。普通电脑上全程大约十分钟。
第一步,下载源码和依赖库。
git clone https://gitcode.com/gh_mirrors/qm/qmc-decoder cd qmc-decoder && git submodule update --init第二步,编译。
mkdir build && cd build cmake .. && makebuild 目录里会生成名为qmc-decoder(Windows 下是qmc-decoder.exe)的文件。三个平台的命令有差异,对照下面这张表即可:
| 平台 | 额外前提 | build 目录内的完整编译命令 |
|---|---|---|
| Linux | 已装 cmake 和 C++ 编译器 | cmake .. && make |
| macOS | 先执行brew install cmake | cmake .. && make |
| Windows | 进入 VS 的 Native Tools Command Prompt,或自行装好 MSVC 与 Git | cmake -G "NMake Makefiles" .. -DCMAKE_BUILD_TYPE=Release && nmake |
第三步,转换一首歌验证。
./qmc-decoder ~/Downloads/DaiPeng-JiangHu.qmc3跑完后原文件旁边多出一个同名DaiPeng-JiangHu.mp3,qmc3 原样保留。用任意播放器打开这个 mp3,能出声就算跑通了。
三个最常用的功能:单文件、批量转换整个下载目录、格式自动识别
工具的功能不多,下面三个覆盖了日常 QQ音乐格式转换 的全部需求。
- 单文件转换:执行
qmc-decoder 文件路径.qmc3,一次传一个路径。输入文件同目录会生成同名 mp3,原文件保留,输出文件名不可手动指定。 - 批量转换整个下载目录:把可执行文件放进歌曲所在目录,不带参数运行
qmc-decoder。它会扫描当前目录及全部子目录,把 qmc 文件一次转完,原文件保持原样。macOS 用户还可以把可执行文件和decoder.command一起放进该目录,双击运行。 - 格式自动识别:输出格式由输入扩展名决定,不需要你记忆或指定:
.qmc3与.qmc0变 mp3,.qmcflac变 flac,.qmcogg变 ogg。
主要逻辑集中在 src/decoder.cpp 和 src/seed.hpp 两个文件里,想看实现可以翻这两处。
🚗 两个典型场景走一遍
这两个故事讲完,用法也就讲完了,这里不贴任何命令。
车载 U 盘。挑出常听的 20 首歌,把它们的 qmc3 文件放进一个文件夹,批量转换一次。几秒后得到 20 个 mp3,只把这些 mp3 拷进 U 盘。插进车里,列表直接能播,顺序也是你排的。20 首歌从开始到结束,用时不到一分钟。
曲库备份。硬盘里的曲库有 500 个文件,qmc3 和 qmcflac 混在一起。批量跑一次,原地转出 500 个 mp3 和 flac。再把原目录和转换后的目录分别拷到两块不同的盘上。将来 QQ音乐 调整下载格式,标准格式的文件照样能播,原始文件也可以放心删掉。
🩺 出了问题查这里
绝大多数报错都能在下表里对号入座,先查表,再怀疑别的原因。
| 现象 | 原因 | 解决办法 |
|---|---|---|
提示please check if you have the write permissions on this dir. | 当前目录不可写,或输入文件不可读 | 换到有写权限的目录运行,或先把文件拷到用户主目录 |
提示failed write file: xxx | 输出文件写不出去,常见是磁盘满或目标目录只读 | 检查磁盘空间和目录写权限 |
| 传了两个路径直接报错 | 程序只接收一个路径参数,输出固定为同目录同名文件 | 只传一个路径 |
| 不带参数运行后没有任何新文件 | 当前目录里没有匹配 qmc3 / qmc0 / qmcflac / qmcogg 四种扩展名的文件 | 核对扩展名,或先进入存放 qmc 文件的目录再运行 |
| 转出的 mp3 没有歌手、专辑等信息 | 转换只处理音频数据,不改动任何标签信息 | 用任意图标编辑工具补写 tag |
原理三句话:解密是怎么做到的
整套解密逻辑可以用三句话说完:第一,src/seed.hpp 里的种子表按顺序逐个字节产生掩码,加密文件的每个字节与掩码做异或运算,就还原出原始音频数据,所谓解密只有这一步;第二,程序中间不做解码和再编码,码率、采样率、编码参数都不变;第三,产出本身就是标准的 mp3、flac 或 ogg 文件,任何播放器都认识,不需要额外壳。
现在就去转换第一首:挑一首刚下载的 qmc3,把命令指过去,几秒后你就能在播放器里听到结果。这款 QMC解密工具 只做一件事——把加密文件变成你可以留着的文件。
【免费下载链接】qmc-decoderFastest & best convert qmc 2 mp3 | flac tools项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考