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 上的内容无法直接带走离线播放,想自建本地曲库又控制不了码率和分辨率。gamdl 是一款命令行导出工具,让你按编码器、分辨率、歌词格式自选规格,拿到 ALAC 无损文件和最高 4K 的音乐视频。适合有有效订阅、需要整理本地媒体库的用户。
gamdl 是什么,适合谁
gamdl 直接请求 Apple Music 接口,负责把歌曲、音乐视频和 Post 视频三类内容导出成文件。
| 你的场景 | 它给你什么 |
|---|---|
| 换设备或迁移曲库,想让订阅歌曲离线留存 | ALAC 无损(最高 24-bit/192kHz)或 AAC 256kbps 文件,自动写入元数据与封面 |
| 需要高清音乐视频存档 | 分辨率最高 4K,H.264 / H.265 可选 |
| 想要同步歌词随文件保存 | LRC、SRT、TTML 三种格式任选 |
| 想批量处理某位歌手 | 传入艺术家主页链接,交互式勾选专辑或音乐视频 |
gamdl 安装与 Cookie 登录态准备
按顺序备齐以下四项,装完即可开跑:
pip install gamdl- Python 3.10+:gamdl 要求的最低运行版本,用
python --version确认。 - 有效的 Apple Music 订阅:gamdl 启动时会校验订阅状态,无订阅直接拒绝运行。
cookies.txt登录态:这是请求媒体流的凭据。登录 Apple Music 网页后,用浏览器扩展把 Cookie 按 Netscape 格式导出为cookies.txt,放在工作目录,或用--cookies-path指定路径。- 设备文件(可选):4K 音乐视频需要 Widevine L1 的
.wvd或 PlayReady SL3K 的.prd文件;ALAC 建议搭配 Wrapper v2 服务使用。
首次运行:导出一个完整专辑
gamdl "https://music.apple.com/us/album/whenever-you-need-somebody-2022-remaster/1624945511" -o "./Apple Music"文件按“艺术家/专辑”结构保存在./Apple Music下,元数据与封面自动写入。首次运行会在~/.gamdl/config.ini(Windows 为%USERPROFILE%\.gamdl\config.ini)自动生成配置文件,常用参数可写进去,命令行参数优先于配置。
⚙️ 能力深挖
4K 音乐视频导出,把画质拉满
音乐视频默认只给 1080p,要拿到 4K 需要凑齐分辨率参数和安全级设备文件两样东西。
关键参数:--music-video-resolution设为2160p;该档位仅 H.265 支持,需同时写--music-video-codec-priority h265;再用--wvd-path提供 Widevine L1 设备文件,或改用--drm-backend playready并提供--prd-path。
gamdl "<音乐视频链接>" --music-video-resolution 2160p --music-video-codec-priority h265 --wvd-path ./device.wvd效果:可导出 2160p H.265 视频,容器默认 m4v,--music-video-remux-format mp4可换成 mp4。限制:拿不到高安全级设备文件时,服务端不会下发 4K 流,上限停在 1080p。
ALAC 无损切换,一命令拿到最高规格音频
歌曲默认走 AAC 256kbps 的 Web 流,只有把优先级改成alac才能拿到无损文件。
关键参数:--song-codec-priority alac;ALAC 流受 API 限制,建议同时启用--use-wrapper对接 Wrapper v2 服务——它接管账号、播放和解密请求,启用后还可以跳过 Cookie。
命令:gamdl "<专辑链接>" --song-codec-priority alac --use-wrapper
效果:得到最高 24-bit/192kHz 的完整无损文件。限制:未启用 Wrapper 就选 ALAC 时,CLI 会主动给出警告,下载大概率失败,这是接口限制而不是参数配错。
同步歌词与元数据写入
下载结束后,艺术家、专辑、封面等元数据会自动写进文件,同步歌词一并附带。
关键参数:--synced-lyrics-format在lrc/srt/ttml中选择;--language设定元数据语言(ISO 639-1 编码,如en-US);--cover-size控制封面像素,默认 1200。
命令:gamdl "<歌曲链接>" --synced-lyrics-format srt
效果:srt 的时间轴最精确,适合喂给播放器当字幕。限制:ttml 是 Apple Music 原生格式,多数播放器不认,要在播放界面显示歌词就选 lrc 或 srt。
🩺 常见问题自查表
| 现象 | 原因 | 处理 |
|---|---|---|
| 启动即报登录相关错误、订阅校验不通过 | cookies.txt已过期,Apple Music 的 Cookie 有有效期 | 重新从浏览器导出一份 Netscape 格式 Cookie;或启用--use-wrapper后不再依赖 Cookie |
| 选了 ALAC 有警告且下载失败 | ALAC 流受接口限制,缺少 Wrapper 支撑 | 部署并启动 Wrapper v2 服务,加--use-wrapper重试 |
| 设置 2160p 却只得到 1080p 文件 | 没有 Widevine L1.wvd或 PlayReady SL3K.prd设备文件 | 提供--wvd-path;或换--drm-backend playready并提供--prd-path |
深入阅读
- 完整参数表、模板变量、编码器与分辨率清单:README.md 的 Configuration 一节。
- 解密与封装引擎:gamdl/downloader/ammuxer/,内置 Rust 扩展,核心逻辑见 src/decrypt.rs。
- 全部命令行参数源码定义:gamdl/cli/cli_config.py。
- Wrapper 服务对接逻辑:gamdl/api/wrapper.py。
收尾
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
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考