☰
Gamdl 配置指南:输出路径、视频分辨率和音频编码一次设明白
2026/10/21 1:16:15 网站建设 项目流程

Gamdl 配置指南:输出路径、视频分辨率和音频编码一次设明白

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

用 Gamdl(Glomatico's Apple Music Downloader)下载 Apple Music,最容易被问到的其实就三件事:文件存到哪、清晰度怎么定、音质选什么编码。这三个配置项都能通过命令行参数或~/.gamdl/config.ini配置文件设定,且命令行优先于配置文件。下面按"先跑通、再调参数、最后固化"的顺序,把该设的都列清楚。

第一次跑通:最小下载命令

Gamdl 需要三样东西:Python 3.10+、有效的 Apple Music 订阅、一份 Netscape 格式的 cookies 文件。装好之后:

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

cookies 文件默认找当前目录的./cookies.txt;不在此处时用-c或--cookies-path指定路径。第一次运行会在~/.gamdl/config.ini(Windows 为%USERPROFILE%\.gamdl\config.ini)自动生成配置文件,并把所有参数的默认值写进去,方便你直接改文件而不是记命令。

把文件存到指定目录

默认所有下载内容落在当前目录的./Apple Music文件夹。换位置有两个入口:

参数作用默认值
--output-path/-o下载目录路径./Apple Music
--temp-path临时文件目录.(当前目录)
gamdl -o ~/Music/Apple_Downloads [URL]

路径优先级是命令行 > 配置文件 > 内置默认值,这个规则由 gamdl/cli/config_file.py 里的update_params_from_config实现:只要某个参数在命令行被显式传入,配置文件里的同名项就会被跳过。

除了总目录,目录和文件名结构还能用模板改,默认是{album_artist}/{album}加{track:02d} {title}。想按歌手归档、或限制文件名长度,对应--album-folder-template、--single-disc-file-template、--truncate。临时文件默认写当前目录,下载量大时建议用--temp-path指到空间更大的盘。

视频分辨率怎么选

--music-video-resolution的语义是"最大分辨率",默认1080p。它不会精确锁定某一档,而是在码流里挑"不超过该值、且最接近"的那条流,同差距时取分辨率更高、再取码率更高的,匹配逻辑在 gamdl/interface/music_video.py 的_get_video_playlist_from_resolution。

可选档位:

档位可用的视频编码
240p360p480p540p720p1080pH.264 或 H.265
1440p2160p(4K)仅 H.265,且需要 Widevine L1 的.wvd或 PlayReady SL3000 的.prd设备文件
gamdl --music-video-resolution 720p [URL]

两点和默认编码强相关:

  • 档位必须小写、带p,写成720或720P会直接报错。
  • 视频编码优先级--music-video-codec-priority默认h264,h265;若只想省体积,传h265即可。4K 档位必须配合 H.265 流,否则找不到匹配流、该条目会被跳过。

音频编码与输出格式 🎵

先说结论:Gamdl 不做转码,选的是"用哪条音轨",不是"输出成什么格式"。歌曲固定输出 M4A 容器,音乐视频默认输出 M4V(可用--music-video-remux-format mp4改成 MP4 容器)。

--song-codec-priority默认aac-web,支持逗号分隔的多级回退,某个编码在该曲不可用时自动尝试下一个,全部不可用才跳过这条:

编码说明备注
aac-web(默认)AAC 256kbps 44.1kHz无需额外依赖
aac-he-webAAC-HE 64kbps 44.1kHz体积小
aacaac-binauralaac-downmixAAC 256kbps,最高 48kHz非 web 流
aac-he及其 binaural/downmixAAC-HE 64kbps,最高 48kHz非 web 流
atmosDolby Atmos 768kbps非 web 流
ac3AC3 640kbps非 web 流
alacALAC 最高 24bit/192kHz强烈建议配 wrapper
ask运行时交互选择适合批量时逐条确认

alac不开--use-wrapper时启动会打印告警,因为 API 限制下大概率取不到该流,建议按提示搭配 wrapper 使用。

用配置文件固化设置 ⚙️

首次运行后,~/.gamdl/config.ini里已经写好了全部默认值,直接改文件即可持久化,键名与命令行参数对应(去掉--、用下划线):

[gamdl] output_path = ~/Music/Apple_Downloads music_video_resolution = 720p music_video_remux_format = mp4

几个实操要点:

  • 命令行传了的参数,配置文件里的同名项不生效(临时覆盖,互不冲突)。
  • 想完全不用配置文件,加-n(--no-config-file);想换个路径,用--config-path。
  • 配置文件里的未知键会被自动清掉。
  • ⚠️ 歌曲编码的键名是song_codec_piority(源码字段名如此拼写),不是song_codec_priority。写错键名不会报错,但设置不生效,还可能在下次运行时被清理掉。

下载出问题时按顺序排查 🔧

  1. 看最后一行Finished with N error(s),区分是"报错"还是"被跳过"(跳过会打印Skipping "标题": 原因,不计数)。
  2. 路径相关:--output-path在启动时校验可写,不可写会直接失败,换一个你有写权限的目录即可;临时文件落在--temp-path,确认该盘有足够空间。
  3. 分辨率不生效:先查拼写(必须小写、带p);再确认该视频在所选编码下真有对应档位(H.264 最高 1080p,4K 仅 H.265 且有 DRM 设备要求);最后注意 1080p 语义是"上限",源里若是 720p 就不会给你 1080p。
  4. 音频/解码相关:alac没配 wrapper 属于已知限制;某编码该曲没有时会自动回退到优先级里下一个,全部没有才跳过。4K 解不出来时,检查是否提供了 Widevine L1.wvd或 PlayReady SL3000.prd。
  5. 下载慢或中断:默认走 yt-dlp 下载,可换--download-mode nm3u8dlre(需另装 N_m3u8DL-RE 与 FFmpeg,路径不在 PATH 里时用--nm3u8dlre-path、--ffmpeg-path指定)。

推荐组合

把固定项写进~/.gamdl/config.ini,临时需求走命令行,是一套省心的默认方案:

[gamdl] output_path = ~/Music/Apple_Downloads music_video_resolution = 1080p song_codec_priority = aac-web music_video_remux_format = mp4

即:歌曲用默认aac-web(256kbps,兼容性最好),视频上限 1080p,容器统一 MP4。想省空间就把分辨率降到720p、编码加h265;想追音质再加--use-wrapper并把song_codec_priority换成alac。

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

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

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

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

立即咨询