☰
Gamdl 进阶配置:4 组设置让 Apple Music 下载从“能用“变“省心“
2026/10/22 12:53:07 网站建设 项目流程

Gamdl 进阶配置:4 组设置让 Apple Music 下载从"能用"变"省心"

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

gamdl 能把 Apple Music 的歌、MV 下下来,但真正的差距在细节:无损音频进不了配置、视频文件动辄 1 个 G 起步、批量任务重跑时把已有的文件又拉一遍。四组设置把这些问题逐个解决,最后附一份避坑清单。

快速起步:三套配置直接抄

无损党:ALAC + wrapper,一次归档

有 NAS、要 24-bit 无损的话,先跑起 wrapper-v2,再用这组配置:

# 场景:无损党,NAS 长期归档 gamdl --use-wrapper \ --song-codec-priority "alac,aac,atmos" \ --synced-lyrics-format lrc \ --output-path "/Volumes/NAS/Apple Music" \ "https://music.apple.com/us/album/never-gonna-give-you-up-2022-remaster/1624945511"

预期效果:单曲 40~60 MB(ALAC 16-bit),标准十首歌专辑 400~550 MB,歌词以 .lrc 嵌进标签。

均衡党:不装 wrapper,稳字当头

不装 wrapper,Web 端 AAC 最稳,MV 保持 1080p,日常听够用:

# 场景:均衡党,日常听曲 gamdl --song-codec-priority "aac-web,aac" \ --music-video-resolution 1080p \ --save-cover \ "https://music.apple.com/us/artist/rick-astley/669771"

预期效果:单曲 8~12 MB(AAC 256kbps),整张专辑约 100 MB,封面另存一张 .jpg。

空间焦虑党:体积砍到五分之一

空间紧张就全走高效档:

# 场景:空间焦虑党,单文件体积最小化 gamdl --song-codec-priority "aac-he-web" \ --music-video-resolution 480p \ --music-video-remux-format mp4 \ --truncate 80 \ "https://music.apple.com/us/artist/rick-astley/669771"

预期效果:单曲压到 2~4 MB(AAC-HE 64kbps),480p 的 MV 约 100~200 MB,--truncate 80(文件名截断到 80 字符)兜底长歌名,一个艺人全部下完不超 3 GB。

把 MV 体积砍掉约四成,分辨率还是 1080p

--music-video-codec-priority默认是h264,h265,文件永远先出 H.264。把顺序反过来,同分辨率省 30~40%,观感没有明显差别:

# 场景:h265 优先,拿不到时自动回退 h264 gamdl --music-video-codec-priority "h265,h264" \ --music-video-resolution 1080p \ --music-video-remux-format mp4 \ "https://music.apple.com/us/music-video/anti-hero/1645504266"

跑完对输出文件跑一次 ffprobe,codec 应该是hvc1,体积比 h264 版本明显小一圈。--music-video-remux-format默认m4v,想在电视或 PC 播放器里直接识别就改成mp4。

分辨率按这张表选:

分辨率编码单文件约(4~5 分钟)设备要求
1080ph264500~900 MB几乎全兼容
1080ph265300~600 MB较新设备、PS5、NAS
720ph264150~300 MB移动端
480ph264100~200 MB弱网 / 旧设备
2160p仅 h2651.5~3 GB4K 电视 + L1 设备文件

1440p 和 2160p 只有 H.265 可用,没有 H.264 回退;播放器较旧就停在 1080p。

一次配好目录和标签,文件名从此不用手改

文件路径全部由模板渲染,默认是{album_artist}/{album}+{track:02d} {title}。改四条,目录结构就永远长你想要的样子:

# 场景:艺人/年份/专辑 三级目录,文件名带轨号 gamdl --album-folder-template "{album_artist}/{date:%Y}/{album}" \ --single-disc-file-template "{track:02d} {title}" \ --multi-disc-file-template "{disc:02d}-{track:02d} {title}" \ --exclude-tags "comment,copyright,xid" \ --truncate 100 \ "https://music.apple.com/us/album/never-gonna-give-you-up-2022-remaster/1624945511"

跑完目录应该长成Rick Astley/1987/Whenever You Need Somebody/01 Never Gonna Give You Up.m4a。常用变量:{album}、{album_artist}、{artist}、{title}、{track}、{track_total}、{disc}、{disc_total}、{playlist_title}、{playlist_artist},日期走 strftime 写法,如{date:%Y-%m}。--exclude-tags只写剩余标签,填all则完全跳过打标;--date-tag-template控制标签内日期格式,默认 ISO 8601。

⚠️ 配置文件里的 key 名是源码字段名,歌曲编码那个 key 真叫song_codec_piority(少一个 r,源码就是这么写的)。你写成song_codec_priority会被当未知 key 静默清掉,然后默默用默认编码。最稳的做法:先跑一次gamdl,从自动生成的~/.gamdl/config.ini里抄 key 名。

把常用项落进配置文件,命令行就只剩 URL:

# 场景:持久化到 ~/.gamdl/config.ini [gamdl] output_path = ~/Media/Apple Music album_folder_template = {album_artist}/{date:%Y}/{album} single_disc_file_template = {track:02d} {title} song_codec_piority = aac-web,aac music_video_codec_priority = h265,h264 exclude_tags = comment,copyright,xid

配置文件首次运行自动生成,命令行参数优先于文件里的同名 key。保存后再跑gamdl "URL",行为和传全参数时一致。

让批量下载不再翻车

引擎怎么选:稳与快二选一

默认ytdlp模式把 yt-dlp 当下载库用,8 个片段并发,零外部依赖;N_m3u8DL-RE 批量更快,但要求 FFmpeg 在 PATH 里:

ytdlp(默认)nm3u8dlre
速度中等更快,适合大批量
依赖无N_m3u8DL-RE + FFmpeg
适合日常、弱网整艺人、大歌单
# 场景:整艺人收藏,速度优先,日志落盘 gamdl --download-mode nm3u8dlre \ --artist-auto-select all-albums \ --log-file ~/gamdl_batch.log \ "https://music.apple.com/us/artist/rick-astley/669771"

跑完看日志末尾一行Finished with 0 error(s),再数一下艺人目录里的专辑数。--artist-auto-select all-albums会跳过交互选择直接下全部专辑。

下载过的跳过,断点接着跑

--database-path会把每首成功下载的媒体登记进 SQLite 数据库,重跑同一批 URL 时已登记的文件直接跳过(除非显式加--overwrite)。配--read-urls-as-txt吃 URL 清单,失败重跑零成本:

# 场景:失败重跑,只补缺失的文件 gamdl --database-path ~/.gamdl/downloads.db \ --read-urls-as-txt \ ~/apple_music_urls.txt

跑完日志里已存在的条目会显示 "Registered in database" 并被跳过,只有真正的新媒体才会走下载流程。

三个高频坑,各一行解法

现象 1:日志警告 "You have chosen ALAC without enabling wrapper",文件出来是 aac-web。 根因:alac 需要 wrapper 的解密通道,纯 cookie 模式基本拿不到。 解法:先启动 wrapper-v2,再加--use-wrapper(默认指向 127.0.0.1:10020)。

现象 2:指定了 2160p,文件却不是 4K。 根因:1440p/2160p 仅 H.265,且 4K 需要 Widevine L1.wvd或 PlayReady SL3K.prd设备文件,内置软件 WVD 到不了 L1。 解法:--wvd-path l1.wvd,或--drm-backend playready --prd-path sl3k.prd。

现象 3:同一批歌单重跑,全部重新下载。 根因:gamdl 没有内置去重,跳过逻辑依赖--database-path的登记记录。 解法:--database-path ~/.gamdl/downloads.db,且不加--overwrite。

配置速查卡(按场景分组,可直接复制):

# 无损党 / NAS 归档 gamdl --use-wrapper --song-codec-priority "alac,aac,atmos" --music-video-resolution 1080p # 均衡党 / 日常听曲 gamdl --song-codec-priority "aac-web,aac" --music-video-resolution 1080p --save-cover # 空间焦虑党 / 体积最小 gamdl --song-codec-priority "aac-he-web" --music-video-resolution 480p --music-video-remux-format mp4 --truncate 80 # 批量 / 断点续跑 gamdl --database-path ~/.gamdl/downloads.db --read-urls-as-txt ~/urls.txt --artist-auto-select all-albums

挑一组先验证一次,确认目录和标签符合预期,再把它们写进~/.gamdl/config.ini。

行动建议:别一上来就灌整库。挑一张你有十首歌的小专辑,用"均衡党"配置完整跑一遍,确认目录结构、标签、歌词都对,再换无损配置做正式归档。

想看原理,翻这两处:配置文件加载、默认值注入与未知 key 清理,全部 CLI 参数定义与默认值。

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

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

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

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

立即咨询