首页 / 资讯中心 / 文章详情

gamdl 无损下载完全实操:3 步把 Apple Music 的 ALAC 拿到手

gamdl 无损下载完全实操:3 步把 Apple Music 的 ALAC 拿到手 ★ FEATURED ARTICLE
gamdl 无损下载完全实操3 步把 Apple Music 的 ALAC 拿到手【免费下载链接】gamdlA command-line app for downloading Apple Music songs, music videos and post videos.项目地址: https://gitcode.com/GitHub_Trending/ga/gamdl你想把整张专辑存成本地文件眼前却只有一串不知从何下手的加密码流——Apple Music 的无损格式都躲在 DRM 后面自己找码流、换密钥、解密、封装折腾起来很痛苦。gamdl 是一款专门干这件事的命令行下载器它把认证、选流、解密、打标签整条链路装进一条命令配置得当的话ALAC最高 24-bit/192kHz可以直接落到你的硬盘上。先说它能帮你做什么批量拉取专辑、播放列表和艺术家—— 一个 URL 丢进去整批处理还带交互式清单下载 ALAC 无损、Dolby Atmos 等高品质音频—— 从 256kbps AAC 到 24-bit/192kHz 无损按你自己的优先级选自动嵌入封面、同步歌词和完整元数据—— lrc/srt 歌词、1200px 封面、专辑艺术家标签全自动顺手处理音乐视频和 post 视频—— 视频最高 4K4K 需要额外的 DRM 设备文件 核心链路一条加密码流怎么变成你本地的 m4a流程拆开看并不神秘gamdl 先拿你的身份去 Apple 那边说我要这首歌的 ALAC拿到m3u8码流播放清单和一组 DRM 密钥接着下载加密的码流最后把字节交给内置的 Rust 引擎解密、封装成标准 m4a。四个组件各管一段组件干的活为什么需要它API 层向 Apple Music 发请求、管认证替你过验票环节的身份校验接口层挑编码码流、解析歌词和元数据决定你最终拿到的音质和标签下载层下载、解密、写文件把码流真正变成文件Rust 引擎 ammuxerFairPlay 解密与 m4a 封装最吃性能的一步Python 干不快音质优先级的判断逻辑就在gamdl/interface/song.py的get_stream_info里核心循环长这样stream_info None fetched_m3u8_master_url False for codec in self.codec_priority: # 按你指定的编码优先级逐个尝试 if codec.is_web: # 带 -web 后缀的是网页流 stream_info await self._get_web_stream_info(webplayback, codec) else: # 非 web 流alac、atmos 等必须先拿到 m3u8 主播放清单 if not fetched_m3u8_master_url: m3u8_master_url await self._get_m3u8_master_url(media_id, playback) fetched_m3u8_master_url True stream_info await self._get_stream_info_nonweb(m3u8_master_url, codec) if stream_info: # 命中第一个可用格式 break也就是说你写alac,aac-web它就先在码流清单里找 ALAC找不到再自动退到 256kbps 的 AAC。但要留意ALAC 这类非 web 码流受 Apple API 限制实际基本得走Wrapper——一个跑在你本地的代理服务替你完成账户、播放和解密请求相当于中间人。gamdl/api/wrapper.py里的逻辑是首次连接先查账户状态没登录就引导你输凭证含双因素验证之后 cookies 都可以省掉。所以 Wrapper 集成配置并不复杂本地跑起 wrapper-v2 服务再给 gamdl 加--use-wrapper默认控制地址就是http://127.0.0.1。⚡ 从零跑通gamdl 无损下载怎么起步装好并跑通第一条命令。准备两样东西Python 3.10 和一个有效的 Apple Music 订阅。安装只有一行pip install gamdl然后是 cookies登录 music.apple.com 后用浏览器扩展Firefox、Chromium 都有把 cookie 导出成 Netscape 格式存为cookies.txt。跑第一条命令gamdl --cookies-path ./cookies.txt \ https://music.apple.com/us/album/never-gonna-give-you-up-2022-remaster/1624945511?i1624945512跑完你会在默认的./Apple Music目录里得到一个带完整标签、内嵌封面、附带 lrc 歌词的 m4a。首次运行还会自动生成~/.gamdl/config.iniWindows 在%USERPROFILE%\.gamdl\之后不想每次敲的参数都可以写进配置文件命令行参数优先于配置。让音质优先走 ALAC 无损。这是完整的 Apple Music ALAC 下载步骤本地起一个 wrapper-v2安装方式见该项目的 README然后gamdl --use-wrapper \ --wrapper-url http://127.0.0.1 \ --song-codec-priority alac,aac-web \ https://music.apple.com/us/artist/rick-astley/669771首次运行会提示你输入 Apple 账户凭证过了双因素验证后就记住了。--wrapper-decrypt-port默认是 10020一般不用动。如果你暂时不想折腾 Wrapper也可以先用网页流跑起来gamdl --song-codec-priority aac-web 你的歌曲URL # 或者让它在终端里交互式地帮你选格式 gamdl --song-codec-priority ask 你的歌曲URL批量灌入歌单和艺术家。gamdl 专辑批量下载没有额外仪式专辑、播放列表、艺术家 URL 它都认。艺术家 URL 默认弹出交互式清单方向键移动、空格勾选、CtrlA 全选、回车确认想直接全要gamdl --artist-auto-select all-albums \ https://music.apple.com/us/artist/rick-astley/669771一堆链接的话每行一个写进文本文件一次跑完gamdl --read-urls-as-txt urls.txt # 加 --save-playlist 还能顺手导出 m3u8 播放列表️ 进阶玩法模板系统与更快的下载引擎如果你需要音乐库按自己的收藏习惯摆放模板系统就是为此存在的gamdl --album-folder-template {album_artist}/{date:%Y}/{album} \ --single-disc-file-template {track:02d} {title} \ 你的专辑URL{album}、{artist}、{track}这类变量随意组合{date:%Y}会输出年份。不想要的标签用--exclude-tags comment,storefront排除文件名太长可以用--truncate截断。如果你需要更快的下载速度把下载引擎换成 N_m3u8DL-RE需要另装 FFmpeggamdl --download-mode nm3u8dlre \ --nm3u8dlre-path /path/to/N_m3u8DL-RE \ --ffmpeg-path /path/to/ffmpeg \ 你的URL默认的 yt-dlp 模式只是当文件下载库用媒体始终直接从 Apple 服务器取。想深挖源码的话把仓库git clone https://gitcode.com/GitHub_Trending/ga/gamdl下来重点读ammuxer那个 Rust 部分——解密和封装的性能关键都在那儿。 你可能碰到的几个卡点ALAC 总是无此格式。现象--song-codec-priority alac后提示格式不可用。原因Apple 对非 web 码流的 API 有限制不挂 Wrapper 基本拿不到 ALAC 码流。解法加--use-wrapper走 Wrapper 通道优先级写成alac,aac-web留个后路。Wrapper 报 API 版本错误。现象启动时直接抛Unsupported wrapper-v2 API version。原因gamdl 目前只认 wrapper-v2 的 0.0.2 版接口你的版本过旧或过新都不行。解法把 wrapper-v2 更新到匹配版本再确认--wrapper-url和解密端口默认 10020指向同一个服务。下载突然认证失败。现象之前一直正常现在全部报错。原因cookies.txt过期或导出时没处于登录状态。解法重新登录 music.apple.com 后导出 cookies或者直接改用 Wrapper 通道跳过 cookies。还卡住的话加上--log-level DEBUG --log-file gamdl.log把完整请求日志落下来看多数问题一眼就能定位。至此URL → 带标签的无损文件这条链路就完整在你手里了从单曲到艺术家全集都只差一个参数的事。下一步可以试试--drm-backend playready配--prd-path提供.prd设备文件去够一够 4K 音乐视频或者把 DEBUG 日志带上到项目 Discord 社区问个具体问题。至于版权一句话带过这些文件供自己听就好喜欢的专辑买单永远是最稳的支持。【免费下载链接】gamdlA command-line app for downloading Apple Music songs, music videos and post videos.项目地址: https://gitcode.com/GitHub_Trending/ga/gamdl创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站