用 Gamdl 把 Apple Music 的无损音质和 4K 音乐视频存进本地 用 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你听的是流媒体切歌、缓冲、离线还得占离线下载的配额而这些离线缓存并不真正归你。GamdlGlomaticos Apple Music Downloader解决的就是这件事——一条命令把订阅账号里能听的 Apple Music 歌曲、音乐视频和上传视频post videos下载成本地文件最高 4K 视频、最高 24-bit/192kHz 的 ALAC 无损音频。Gamdl 到底能下什么先把能力边界说清楚免得装完发现不行音频AAC 256kbps、AAC-HE 64kbps、AC3 640kbps、Dolby Atmos 768kbps以及无损 ALAC采样率最高 24-bit/192kHz。默认走的是aac-webAAC 256kbps / 44.1kHz想拿无损得另外开优先级见下文。音乐视频H.264 支持 240p、360p、480p、540p、720p、1080pH.265 独占 1440p 和 2160p4K。4K 有硬件门槛后面 DRM 那节会说。上传视频最高 1080p AAC 256kbps。附加内容同步歌词LRC、SRT、TTML 三种格式可选自动写入文件专辑封面、艺术家、作曲者等元数据用 mutagen 打标。3 步装好 Gamdl 并导出 Cookie使用前提有三个Python 3.10、有效的 Apple Music 订阅、登录状态下导出的浏览器 CookieNetscape 格式的cookies.txt浏览器扩展Export Cookies / Get cookies.txt LOCALLY都能导出。pip install gamdl把导出的cookies.txt放到工作目录或用--cookies-path指定路径然后直接把 Apple Music 页面链接丢给它gamdl https://music.apple.com/us/album/whenever-you-need-somebody-2022-remaster/1624945511歌曲、专辑、播放列表、艺术家主页、音乐视频、上传视频、Apple Music Classical 的 URL 都能识别。下载艺术家主页时会弹出交互选单方向键移动、空格勾选、CtrlA全选、回车确认可以只挑想要的主专辑或单曲。配置文件首次运行会自动生成Linux 在~/.gamdl/config.iniWindows 在%USERPROFILE%\.gamdl\config.ini。命令行参数永远优先于配置值所以临时改一个参数不用动文件。无损音频参数怎么配无损不是默认值。想让 Gamdl 优先下 ALAC失败再降级把--song-codec-priority写成一个优先级列表即可gamdl URL --song-codec-priority alac,atmos,aac,aac-web -o ./Music几个取值说明一下alac是无损atmos是 Dolby Atmosaac/aac-he是非 web 版本采样率最高 48kHz还有aac-binaural、aac-downmix等变体ask会在下载前交互式选编码。注意ALAC 大概率需要 Wrapper v2。README 原话是没有 wrapper 也能尝试 ALAC但受 API 限制多半不行。启用方法gamdl URL --use-wrapper --wrapper-url http://127.0.0.1Wrapper 是另一个独立进程wrapper-v2 服务器负责账号、播放请求和 TCP 批量解密。启用后 Cookie 可以跳过改用 Wrapper 的登录凭证。Gamdl 自己会从gamdl/downloader/ammuxer构建一个 Rust 原生扩展gamdl._ammuxer负责 Wrapper 的 TCP 解密/重组以及 MP4/M4A 的写盘和混流——Python 层只管 CLI、下载调度和元数据。4K 音乐视频下载和 DRM 后端视频默认上限是 1080p、编码优先级h264,h265、封装 m4v。想拿 4Kgamdl URL --music-video-resolution 2160p --music-video-codec-priority h265但 4K 不是开参数就行的它卡在 DRM 上。Apple Music 的内容流是加密的CBCS/CENC 两种 schemegamdl/downloader/ammuxer/src/media.rs 里就是这段解密的实现解密需要 DRM 设备文件Widevine默认后端4K 音乐视频需要一个 Widevine L1 的.wvd设备文件用--wvd-path指定没指定时用内置 WVD但拿不到 4K。PlayReady对应要求是 SL3000SL3K等级的.prd设备文件用--drm-backend playready --prd-path xxx.prd启用。开启--use-wrapper后兼容 FairPlay 的流会走 Wrapper 解密解不了的再回落到你选的--drm-backend。换下载引擎也一样默认用 yt-dlp 作为纯下载库媒体仍然直接来自 Apple Music 服务器yt-dlp 只负责文件抓取也可以切到更快的 N_m3u8DL-REgamdl URL --download-mode nm3u8dlre --nm3u8dlre-path /path/to/N_m3u8DL-REN_m3u8DL-RE 还依赖 FFmpeg不在 PATH 里时用--ffmpeg-path指一下。配置、目录模板与批量下载想让下载结果直接长成歌手/年份/专辑的结构改目录模板就行gamdl URL --album-folder-template {album_artist}/{date:%Y}/{album} --save-cover --cover-format png --cover-size 2000常用参数分三组记就够了质量组--song-codec-priority、--music-video-resolution、--music-video-codec-priority、--synced-lyrics-formatlrc/srt/ttml。路径组-o输出目录、--temp-path临时目录、--album-folder-template/--playlist-folder-template/--single-disc-file-template等全套模板变量{album}、{artist}、{date:%Y}、{track:02d}等。行为组--database-path指向一个 SQLite 库记录已下载媒体配合-r从 txt 读 URL 列表做增量下载、--overwrite、--exclude-tags排除指定元数据标签all直接跳过打标、--save-playlist另存 M3U8。日志用--log-level DEBUG --log-file ./gamdl.log开详细输出批量跑的时候--no-exceptions可以让单条失败不刷屏。把 Gamdl 当 Python 库用代码分三层gamdl/api/ 管 Apple Music 官方 API 通信和认证gamdl/interface/ 解析媒体信息、取 DRM 密钥gamdl/downloader/ 负责下载、解密、混流和打标。整体是 asyncio 异步架构。集成时核心就四步import asyncio from gamdl.api import AppleMusicApi from gamdl.interface import AppleMusicInterface, AppleMusicBaseInterface from gamdl.downloader import AppleMusicDownloader, AppleMusicBaseDownloader async def main(): api await AppleMusicApi.create_from_netscape_cookies(cookies.txt) interface await AppleMusicBaseInterface.create(apple_music_apiapi) # 组装 song/music_video/uploaded_video 三个子接口和下载器后 downloader AppleMusicDownloader(song..., music_video..., uploaded_video...) async for media in downloader.get_download_item_from_url(url): await downloader.download(media)完整的分层组装代码见 README.md 的 Embedding 一节或翻 gamdl/downloader/downloader.py。边界与项目现状合规使用别指望新功能说三件必须知道的事仅限有效订阅用户内容个人使用。下载的东西别往商业渠道扔版权方和艺术家权益是硬边界。ALAC 依赖 Wrapper v24K 依赖 L1 级 DRM 设备文件这是真实限制不是配置没调对。项目处于稳定维护期维护者明确只收关键 bug 修复的 PR新功能只走 issue。想学代码结构可以想提功能别白跑。依赖面其实不大Python 侧主要是 httpx、yt-dlp、mutagen、pywidevine/pyplayready原生部分是 Rust 的 ammuxer由 maturin 构建进 wheel。装完pip install gamdl就能跑基础功能Wrapper 和 N_m3u8DL-RE 按需再加。关键词Apple Music 无损下载、Gamdl 4K 音乐视频、Gamdl 使用教程、ALAC 24-bit 192kHz、Wrapper v2 解密【免费下载链接】gamdlA command-line app for downloading Apple Music songs, music videos and post videos.项目地址: https://gitcode.com/GitHub_Trending/ga/gamdl创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考