Gamdl 实战:把 Apple Music 无损歌曲和 4K 音乐视频下载到本地
【免费下载链接】gamdlA command-line app for downloading Apple Music songs, music videos and post videos.项目地址: https://gitcode.com/GitHub_Trending/ga/gamdl
"歌单里的三百多首歌,哪一首是你真正拥有的?"
去年冬天,我发现收藏多年的歌从 Apple Music 下架,而会员一到期,连缓存都跟着清零。那一刻我才认真琢磨:Apple Music 下载这件事,到底能不能把流媒体内容真正装进自己的硬盘?Gamdl 就是答案——一个纯命令行的 Apple Music 下载工具,能把歌曲、音乐视频和上传视频变成本地文件,音质最高摸到 ALAC 24-bit/192kHz,画面最高冲到 4K。下面这条闯关路线,是我一路踩坑后整理出来的完整攻略。
第一关:认清对手,为什么平台上没有"另存为"按钮
这一节结束时你会明白:Apple Music 的内容加密到底是怎么回事,Gamdl 又凭什么能成功。
流媒体平台不让你下载,不是技术做不到,而是想控制内容流向。Apple Music 的音频默认套着 FairPlay 加密,视频走 Widevine 体系,就算你把网络请求里的文件扒下来,拿到的也是一堆密文。
Gamdl 的思路非常干净:它不做"录屏录音"这种旁门左道,而是以合法订阅者的身份,完整模拟官方 App 的请求链路——登录、拉取曲目信息、申请解密密钥、下载音视频分片、解密、混流、写标签。数据源始终是 Apple Music 的官方服务器,yt-dlp 在这里只扮演"搬运工",负责把文件流拉下来,仅此而已。
第二关:备齐三样装备,五分钟左右就绪
这一节结束时你会得到:一份不会踩坑的环境清单,照着做就能开工。
工欲善其事,先备三样东西:
- Python 3.10 或更高版本
- 有效的 Apple Music 订阅
- 一份 Netscape 格式的浏览器 Cookie 文件(登录音乐网站后用浏览器插件导出,命名成 cookies.txt)
然后一条命令完成安装:
pip install gamdl如果之后想玩 ALAC 无损或加速下载,再补两件可选装备:Wrapper v2 服务器(负责高级解密)和 N_m3u8DL-RE(更快的下载引擎)。不装也能跑,只是部分高级玩法打不开。
第三关:下载第一首歌,先尝到甜头
这一节结束时你会看到:第一条命令跑通,文件真实落盘。
一切就绪后,把歌曲页面的链接直接丢给 Gamdl:
gamdl "https://music.apple.com/cn/album/album-name/1234567890?i=1234567891"默认情况下你拿到的是一首 AAC 256kbps 的歌曲,封面、歌手、专辑名这些标签已经自动写进文件,同步歌词默认以 LRC 格式存在旁边。命令跑完,去 ./Apple Music 目录翻一翻,第一个战利品已经躺在那里了。
小提示:第一次运行会自动生成 ~/.gamdl/config.ini 配置文件,之后所有参数都能固化进去,命令行参数永远比配置优先。
第四关:挑战无损,从 AAC 爬到 ALAC
这一节结束时你会解锁:Apple Music 最高音质的完整姿势,外加一条重要的避坑提醒。
AAC 256kbps 对大多数人已经够用,但真正追求听感的人,目标一定是 ALAC。这里有个必须提前知道的真相:ALAC 的解密依赖 Wrapper v2 服务器,裸跑大概率失败——这不是工具的问题,而是 Apple API 本身的限制。
所以无损之路的标准姿势是三步:把 Wrapper v2 跑起来、加上开关、用优先级告诉工具你心里想要什么。
gamdl "URL" --use-wrapper --song-codec-priority "alac,aac,aac-he-web"这段参数的意思是:优先尝试 ALAC,失败就自动降级到 AAC。类似的玩法还有 Dolby Atmos 空间音频,把优先级里的 alac 换成 atmos 即可;想自己拍板时,交互模式会弹出编码列表让你亲手挑,像自助餐一样按需取用。
第五关:向 4K 进军,MV 的画质天花板
这一节结束时你会掌握:把音乐视频从 720p 一路拉满到 4K 的参数组合。
音乐视频是 Gamdl 的另一个高光点。H.264 编码最高到 1080p,而 H.265(HEVC)能一路顶到 2160p,也就是真正的 4K。命令同样直白:
gamdl "MV链接" --music-video-resolution 2160p --music-video-codec-priority "h265,h264"下载完成后,视频轨和音轨会被合并封装成 .m4v 文件,封面和歌词照常嵌入。唯一的门槛是:4K 片源同样需要 Wrapper 配合,而普通 AAC 音频完全不用——这一点下载前心里有数就行。
第六关:从单曲到整座音乐库,批量下载才是正餐
这一节结束时你会获得:一次拉完专辑、艺术家全集、播放列表的批处理能力,外加免重复下载的数据库机制。
单曲只是热身,真正的价值在批量。Gamdl 认得的链接类型相当全:专辑、播放列表、艺术家主页,甚至 Apple Music Classical 的曲目,统统喂给同一个命令:
gamdl "艺术家主页链接" --artist-auto-select "all-albums,music-videos"这里的灵魂参数是 --artist-auto-select:它让工具自动勾选要拉的内容——主专辑、合辑、现场版、单曲 EP、热门歌曲、MV,随意组合,全程不用人盯。再配合 --database-path 指向一个 SQLite 文件,下载过的媒体会被登记在案,下次重跑同一批链接直接跳过,历史记录一清二楚。链接实在太多时,还可以把 URL 写进文本文件,用 --read-urls-as-txt 一次性读入,换新设备后的大规模回流尤其好用。
第七关:让文件按你的规矩归档
这一节结束时你会明白:目录结构、文件命名、标签全部可定制,下载库从此长成你自己的样子。
很多人容易忽略的一点是,Gamdl 的归档能力堪称"强迫症福音"。文件夹模板、文件名模板全部开放,我自己常用的配置长这样:
[gamdl] album_folder_template = {album_artist}/{album} ({date:%Y}) single_disc_file_template = {track:02d} {title} synced_lyrics_format = srt cover_format = png cover_size = 1600 save_cover = true database_path = ./music.db效果是:专辑按"艺术家/专辑名 (年份)"分目录,曲目按序号命名,歌词用时间轴更精细的 SRT 格式,封面单独存一份 1600px 的 PNG。想精简,就用 --exclude-tags 把用不到的标签逐项剔除;想省空间,调小封面尺寸就行。归档规则一次定型,之后每一批下载都自动遵守。
尾声:什么时候该用它,什么时候该放手
这一节结束时你会得到:一份诚实的边界清单,以及现在就该动手的理由。
说句公道话,Gamdl 不是为所有人准备的:它要求命令行基础,要求维护 Cookie,ALAC 和 4K 还额外要一个 Wrapper 环境。如果你只是偶尔听歌放松,流媒体本身已经足够,不必折腾。
但如果你是下面三种人之一,它几乎就是为你量身定做的:
- 收藏型乐迷:怕歌单下架、怕会员过期,想建立一份不依赖任何平台的本地点藏
- 内容创作者:需要 4K 素材做剪辑,或想研究异步下载与加密处理的工程实现
- 效率控:一次拉下某位艺术家的全量作品,还要求数据库去重、模板归档一条龙
把 Apple Music 下载做成一条可靠的流水线,Gamdl 是我见过最接近"完美答案"的方案——它用命令行换来了确定性与自由度,而这两样东西,恰恰是流媒体时代最稀缺的。现在就去 pip install 一把,把第一首歌装进硬盘吧。你的音乐库,不该只活在一个 App 里。
【免费下载链接】gamdlA command-line app for downloading Apple Music songs, music videos and post videos.项目地址: https://gitcode.com/GitHub_Trending/ga/gamdl
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考