本地)
Gamdl Wrapper5 分鐘把 Apple Music 的 ALAC 無損音樂存進(jìn)本地【免費(fèi)下載鏈接】gamdlA command-line app for downloading Apple Music songs, music videos and post videos.項(xiàng)目地址: https://gitcode.com/GitHub_Trending/ga/gamdlGamdlGlomaticos Apple Music Downloader是一款 Python 命令行工具配合 Wrapper 中間服務(wù)可以突破 Apple Music 網(wǎng)頁 API 的格式限制把最高 24-bit/192kHz 的 ALAC 無損音頻連同封面、歌詞、標(biāo)簽一起下載到本地。一、痛點(diǎn)與方案 Apple Music 的無損音質(zhì)有個(gè)尷尬之處能聽不能存。網(wǎng)頁端 API 只肯給你 AAC 等有損的 web 流就算你的訂閱里有 ALAC 甚至 24bit/192kHz 專輯普通 cookie 登錄拿到的接口也不會(huì)下發(fā) ALAC 軌道。Gamdl Wrapper 的組合正是沖著這個(gè)痛點(diǎn)來的一個(gè)命令行工具加一個(gè)本地 Wrapper 服務(wù)把賬號認(rèn)證、播放會(huì)話、FairPlay 解密全部自動(dòng)化最終給你留下帶完整元數(shù)據(jù)的本地?zé)o損文件。二、五分鐘上手 ?安裝 gamdl需 Python 3.10并持有有效的 Apple Music 訂閱pip install gamdl啟動(dòng)一個(gè) Wrapper v2 服務(wù)器讓它在本地監(jiān)聽 HTTP 控制端點(diǎn)和 TCP 解密端口啟動(dòng)方式以 Wrapper 項(xiàng)目官方文檔為準(zhǔn)。把一首歌的鏈接扔給 gamdl啟用 wrapper 并指定 ALAC 優(yōu)先gamdl --use-wrapper \ --wrapper-url http://127.0.0.1:8080 \ --song-codec-priority alac \ https://music.apple.com/us/album/never-gonna-give-you-up-2022-remaster/1624945511?i1624945512wrapper 未登錄時(shí)會(huì)交互式提示你輸入 Apple ID 和 2FA 驗(yàn)證碼地址按你的實(shí)際部署端口填寫。ALAC 最高可到 24-bit/192kHz。常用設(shè)置寫進(jìn)配置文件~/.gamdl/config.iniWindows 為%USERPROFILE%\.gamdl\config.ini首次運(yùn)行自動(dòng)創(chuàng)建命令行參數(shù)優(yōu)先于配置[gamdl] use_wrapper true wrapper_url http://127.0.0.1:8080 song_codec_priority alac三、它憑什么能下無損Wrapper 集成原理Apple Music 的網(wǎng)頁 API 只吐出 AAC 等 web 流無損的 ALAC 需要走非 web播放鏈路。普通 cookie 拿不到這個(gè)權(quán)限而 Wrapper 是一個(gè)常駐服務(wù)負(fù)責(zé)補(bǔ)上三塊拼圖。3.1 認(rèn)證會(huì)話不再依賴瀏覽器 cookieWrapper 服務(wù)端完成 Apple ID 登錄含 2FA并持續(xù)維護(hù)會(huì)話狀態(tài)。gamdl 通過 gamdl/api/ 中的WrapperApi先校驗(yàn) Wrapper 的 API 版本發(fā)現(xiàn)未登錄再觸發(fā)登錄流程from gamdl.api import WrapperApi wrapper_api await WrapperApi.create( base_urlhttp://127.0.0.1, decrypt_host127.0.0.1, decrypt_port10020, get_credentials_funcInteractivePrompts.get_wrapper_credentials, get_2fa_codeInteractivePrompts.get_wrapper_2fa_code, )有了 Wrappercookies.txt 這一步可以直接跳過。3.2 播放會(huì)話拿得到 ALAC 軌道的流地址啟用 wrapper 后媒體信息請求走 Wrapper 建立的播放會(huì)話返回的流地址才可能包含 ALAC 這類非 web編解碼器軌道——這是網(wǎng)頁 API 給不了的。ALAC 在 gamdl/interface/ 中被定義為SongCodec.ALAC最高 24-bit/192kHz。3.3 DRM 解密FairPlay 流交給 Wrapper 處理ALAC 流帶 FairPlay 加密gamdl 把加密流送到 Wrapper 的 TCP 解密端口--wrapper-decrypt-port默認(rèn) 10020由 gamdl/downloader/ 內(nèi)置的 Rust 擴(kuò)展 ammuxer 完成解密、重組并寫出 MP4/M4A 文件元數(shù)據(jù)、封面、歌詞一并寫入。四、ALAC 下載全流程 獲取媒體信息通過 Wrapper 的播放接口拿到該曲目的流地址與密鑰包含可用編解碼器列表。選擇編解碼器按--song-codec-priority的優(yōu)先級選中alac若沒啟用 wrappergamdl 會(huì)警告ALAC 大概率失敗。下載默認(rèn)用 yt-dlp 把加密的 m4a 拉到臨時(shí)目錄也可切換--download-mode nm3u8dlre加速。解密與打包ammuxer 經(jīng) Wrapper 完成 TCP 解密與重組自動(dòng)寫入標(biāo)簽、封面、LRC 歌詞按模板生成最終文件名并落盤。五、三種實(shí)戰(zhàn)姿勢 5.1 整張專輯批量下載gamdl --use-wrapper --song-codec-priority alac \ https://music.apple.com/us/album/whenever-you-need-somebody-2022-remaster/1624945511把歌曲鏈接換成專輯鏈接即可整張專輯的每首都會(huì)以下載時(shí)選定的最高規(guī)格 ALAC 落盤默認(rèn)輸出到./Apple Music。5.2 藝術(shù)家全作品收集gamdl --use-wrapper --song-codec-priority alac \ --artist-auto-select all-albums \ https://music.apple.com/us/artist/rick-astley/669771--artist-auto-select可選main-albums、live-albums、singles-eps、all-albums、top-songs等不傳該參數(shù)時(shí)會(huì)進(jìn)入交互式菜單用方向鍵 空格勾選要下載的內(nèi)容。5.3 自定義目錄與文件命名gamdl --use-wrapper --song-codec-priority alac \ --album-folder-template {album_artist}/{album}/{date:%Y} \ --single-disc-file-template {track:02d} {title} \ https://music.apple.com/us/album/whenever-you-need-somebody-2022-remaster/1624945511目錄變成藝人/專輯/年份文件帶曲目編號{artist}、{playlist_title}等模板變量以 README 為準(zhǔn)。六、調(diào)優(yōu)與避坑 ??ALAC 必須配 wrapper命令行傳--use-wrapper最穩(wěn)只寫配置文件偶爾會(huì)被參數(shù)解析覆蓋。批量下載把 URL 存成文本文件后用--read-urls-as-txt讀取并發(fā)由 gamdl 內(nèi)部異步隊(duì)列調(diào)度配合--database-path指定 SQLite 數(shù)據(jù)庫可記錄已下載項(xiàng)、避免重復(fù)下載。換下載引擎提速--download-mode nm3u8dlre用 N_m3u8DL-RE 替代 yt-dlp 拉流可搭配--nm3u8dlre-path、--ffmpeg-path指定可執(zhí)行文件位置。2FA 頻繁或登錄失敗確認(rèn) Wrapper 版本匹配gamdl 要求 wrapper-v2 API0.0.0.2不匹配會(huì)直接報(bào)錯(cuò)必要時(shí)加--log-level DEBUG排查。端口Wrapper 的 HTTP 控制端點(diǎn)與 TCP 解密端口是兩回事非默認(rèn)地址就同時(shí)傳--wrapper-url和--wrapper-decrypt-host/--wrapper-decrypt-port細(xì)節(jié)以項(xiàng)目官方文檔為準(zhǔn)。七、寫在最后Gamdl 負(fù)責(zé)編排與落盤Wrapper 負(fù)責(zé)認(rèn)證、播放與解密兩者集成后Apple Music 的 ALAC 無損音樂第一次變得能存。工具很好用但請只下載自己訂閱范圍內(nèi)、當(dāng)?shù)胤ㄒ?guī)允許的內(nèi)容?!久赓M(fèi)下載鏈接】gamdlA command-line app for downloading Apple Music songs, music videos and post videos.項(xiàng)目地址: https://gitcode.com/GitHub_Trending/ga/gamdl創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考