如何用 Gamdl 把 Apple Music 无损音频与 4K 音乐视频完整下载到本地
2026/8/19 17:29:24 网站建设 项目流程

如何用 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 订阅里收藏了几百张专辑,但流媒体内容随时可能因版权调整而下架,喜欢的歌说没就没了。如果你恰好是那种想把音源握在自己手里、随时能在离线设备上听的用户,或者你需要 4K 音乐视频作为剪辑素材,那么Gamdl(Glomatico's Apple Music Downloader)这个命令行工具,就是为你准备的答案:它能从 Apple Music 官方接口直接抓取歌曲、音乐视频和创作者上传视频,最高支持 ALAC 24-bit/192kHz 无损音频与 2160p(4K)H.265 视频,并自动嵌入封面、歌词和完整元数据。

一句话判断:这个工具适不适合你

Gamdl 是一个面向已有有效 Apple Music 订阅用户的本地下载器。它适合三类人:想构建个人无损音乐库的发烧友、需要高清 MV 素材的创作者、以及想把下载流程写进脚本或自建应用的开发者。如果你不满足"有订阅"这个前提,或者只是偶尔听歌、对本地文件没执念,那它对你帮助有限——但只要你符合条件,它能给你远超"录音转码"级别的完整原始文件。

三个让人眼前一亮的核心亮点

  • 🎵不只是 AAC:默认即可拿 AAC 256kbps,进阶能上 ALAC(最高 24-bit/192kHz)、Dolby Atmos 与 AC3,音质档位覆盖从"在线试听"到"母带级"的全部区间。
  • 🎬视频画质顶到 4K:音乐视频按分辨率与编码双维度筛选,H.264 最高 1080p,H.265 可冲 1440p / 2160p,同时自动完成音视频分离下载与 remux 封装。
  • 🛠️高度可定制的"文件管理":目录结构、文件名、元数据标签全部支持模板变量控制,还能按需排除标签、同步歌词格式任选 LRC / SRT / TTML。

从零上手:Gamdl 的完整安装与首次下载流程

第一步:准备环境与凭据

Gamdl 需要 Python 3.10+,并额外要求两样东西:一个有效的 Apple Music 订阅,以及一份 Netscape 格式的 cookies.txt。登录music.apple.com后,用浏览器扩展(Firefox 的 Export Cookies、Chromium 的 Get cookies.txt LOCALLY 这类工具)导出当前会话的 Cookie,保存为cookies.txt放在工作目录,或稍后用--cookies-path指定路径。

第二步:安装

pip install gamdl

安装完成后验证版本:

gamdl --version

首次运行任何命令时,程序会在~/.gamdl/config.ini(Linux)或%USERPROFILE%\.gamdl\config.ini(Windows)自动生成一份完整的默认配置,之后你随时可以打开它调整默认值。

第三步:下载你的第一首歌

gamdl "https://music.apple.com/us/album/never-gonna-give-you-up-2022-remaster/1624945511?i=1624945512"

默认输出到当前目录的Apple Music文件夹。注意:命令会校验你的订阅状态,若提示No active Apple Music subscription,说明 Cookie 过期或未登录,需要重新导出。

分场景玩法:三类最常见的真实使用姿势

场景一:整张专辑或整个艺术家作品集一键落盘

把 URL 从"单曲"换成"专辑"或"艺术家"页面即可,工具会自动展开曲目列表:

# 下载整张专辑 gamdl "https://music.apple.com/us/album/whenever-you-need-somebody-2022-remaster/1624945511" # 拉取某位艺术家的全部作品(会弹出交互式多选) gamdl "https://music.apple.com/us/artist/rick-astley/669771"

艺术家页面会进入交互选择模式:用方向键移动、空格勾选、Ctrl+A全选、回车确认。如果不想人工介入,可以用--artist-auto-select直接指定内容类别,例如只挑主打专辑:

gamdl "ARTIST_URL" --artist-auto-select "main-albums,music-videos"

场景二:批量下载与断点管理

把多个链接写进一个 txt 文件,每行一个,然后让 Gamdl 按文件读取;再配上 SQLite 数据库记录已下载内容,重复跑同一批链接时会自动跳过:

gamdl --read-urls-as-txt urls.txt --database-path "./history.db"

这招对"每周同步一次收藏歌单"特别实用——增量更新,绝不重复下载。

场景三:把 Gamdl 嵌进你自己的 Python 程序

项目将 API / Interface / Downloader 三层完全模块化,你可以直接 import 并异步调用。下面是 README 中给出的标准用法骨架:

import asyncio from gamdl.api import AppleMusicApi from gamdl.downloader import AppleMusicDownloader from gamdl.interface import AppleMusicInterface async def main(): api = await AppleMusicApi.create_from_netscape_cookies("cookies.txt") interface = await AppleMusicInterface.create(apple_music_api=api) downloader = AppleMusicDownloader(interface=interface) url = "https://music.apple.com/us/album/never-gonna-give-you-up-2022-remaster/1624945511" async for media in downloader.get_download_item_from_url(url): await downloader.download(media) asyncio.run(main())

如果你在搭自己的音乐管理工具,这份 API 比裸跑 CLI 再解析输出要优雅得多。

进阶与自定义:两个能明显提升体验的配置技巧

技巧一:用 codec 优先级做"无损优先、自动降级"

把 ALAC 排在最前、AAC 兜底,遇到没有无损源的曲目自动降级,全程无需干预:

gamdl "URL" --song-codec-priority "alac,aac,aac-web"

同理,音乐视频可以用分辨率上限加编码优先级组合控制,例如只想要 H.265 的 4K:

gamdl "URL" --music-video-resolution 2160p --music-video-codec-priority "h265,h264"

技巧二:用模板变量重排你的本地音乐库结构

默认输出是专辑艺术家/专辑/曲号 歌名,如果你有既定的收藏习惯,改模板即可。日期还支持 strftime 格式化:

gamdl "URL" --album-folder-template "{artist}/{date:%Y}/{album}" \ --single-disc-file-template "{track:02d} - {title}"

可用的模板变量包括albumartistdatedisctrackplaylist_title等;如果你完全不想要专辑嵌套,还能用--no-album-folder-template拍平成艺术家/歌名结构。

避坑清单:新手最容易踩的四个坑

  1. Cookie 过期导致"无有效订阅"报错:Apple Music 的会话 Cookie 有时效,报错后重新导出 cookies.txt 即可,别反复重装工具。
  2. ALAC 下不动:ALAC 码流受 API 限制,README 明确建议配合 Wrapper v2 服务器使用(--use-wrapper开启);不追求无损的话,aac/aac-web完全不需要额外组件,直接用。
  3. yt-dlp 被误认为"下载来源":Gamdl 只用 yt-dlp 当文件下载库,媒体本身仍来自 Apple Music 官方服务器;想提速可换--download-mode nm3u8dlre,但需要单独装 N_m3u8DL-RE 且它还要依赖 FFmpeg。
  4. 文件名含非法字符报错:Windows 或某些文件系统不允许\ / : * ? " < > | ;,Gamdl 内置了非法字符替换(替换为下划线),如果你自定义模板,注意别把:这类字符写进文件名段。

写在最后:它真正解决的是什么

Gamdl 的核心价值不是"绕过付费",而是把订阅制服务里你本就有权访问的内容,转换成可长期保存的本地文件。无论是构建 NAS 上的无损音乐库、为剪辑储备 4K MV 素材,还是用它的模块化 Python API 打造自己的下载系统,它都提供了 CLI 与库两种使用路径,且代码结构清晰(API 层、Interface 层、Downloader 层各自独立),非常适合当作学习逆向工程、DRM 解密与 asyncio 异步下载的实战案例。

想深入研究的读者,建议直接翻阅项目仓库中gamdl/api/gamdl/interface/gamdl/downloader/三个目录的源码,配合README.md里的完整配置参数表,你会对"一条 URL 如何变成一首带标签的本地歌曲"有完整的认识。下一步,就从导出你的第一份 cookies.txt 开始吧。

【免费下载链接】gamdlA command-line app for downloading Apple Music songs, music videos and post videos.项目地址: https://gitcode.com/GitHub_Trending/ga/gamdl

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询