soloZ
V2EX  ›  分享创造

[开源] 做了个把喜马拉雅 .xm 转成 MP3 的小工具: xm2mp3

By soloZ at 4 月 3 日 · 2116 次点击

背景

做这个项目主要是室友求助从喜马拉雅下载的.xm 文件有限制,只能在应用中播放。想要离线得转成 MP3 格式。

所以我想着能不能解决这个问题,主要干三件事:

  • 把本地 .xm 文件解密出来
  • 自动转成 MP3
  • 支持批量处理整个目录

实践

我这次没有把它做成特别重的工程,重点就是实用:

  • python3 main.py 就能启动
  • 支持单文件和批量模式
  • 输出会按 专辑名 / 标题.mp3 整理
  • 文件名里的非法字符会自动处理
  • 跑完就是可直接播放的 MP3

依赖也比较直接:Python 3.9 + ffmpeg

项目地址: https://github.com/Hazel-Lin/xm2mp3

如果你手里刚好有一批喜马拉雅客户端下载的 .xm 文件,这个工具应该能省你一点时间。

欢迎提 Issue 和 PR 。如果你在不同系统上跑过、踩到兼容性问题,或者想补更顺手的使用方式,我都很欢迎。

这个项目仅用于学习和技术研究。

3 条回复  •  2026-04-03 17:29:34 +08:00
keepfun
   1
keepfun  
   4 月 3 日
是不是 按照这个思路 一些爱奇艺 腾讯视频等的下载的视频 也可以这么干。

现在你在 vip 下载的视频,等你 vip 过期就没法看了。
Chicagoake
   2
Chicagoake  
   4 月 3 日
@keepfun 理论上都可以,你能破解就行,网易云音乐的文件叫 ncm ,很好转成 mp3 ; b 站倒是还行,不过音视频分开,且不能直接合并,需要改动部分字段来着,网上有教程。
AoEiuV020JP
   3
AoEiuV020JP  
   4 月 3 日
看着意思 xm 是用 xm_encryptor.wasm 解密,这代码有吗,
爱意满满的作品展示区。
© 2026 V2EX · 29ms · 3.9.8.5