Приложение Python CLI для загрузки песен/музыкальных клипов/публикаций Apple Music.
Дискорд-сервер: https://discord.gg/aBjMEZ9tnq
Следующие инструменты не являются обязательными, но необходимы для определенных функций. Добавьте их в PATH вашей системы или укажите их пути, используя аргументы командной строки или файл конфигурации.
mp4box
в качестве режима ремукса, для загрузки музыкальных клипов и песен в устаревших форматах.mp4box
в качестве режима ремукса.nm3u8dlre
в качестве режима загрузки. gamdl
с помощью pip pip install gamdl
cookies.txt
, либо указать его путь, используя файл аргументов/конфигурации командной строки. gamdl [OPTIONS] URLS...
Gamdl поддерживает следующие типы URL-адресов:
gamdl " https://music.apple.com/us/album/never-gonna-give-you-up-2022-remaster/1624945511?i=1624945512 "
gamdl " https://music.apple.com/us/album/whenever-you-need-somebody-2022-remaster/1624945511 "
gamdl " https://music.apple.com/us/artist/rick-astley/669771 "
Gamdl можно настроить с помощью аргументов командной строки или файла конфигурации.
Файл конфигурации создается автоматически при первом запуске Gamdl в ~/.gamdl/config.json
в Linux и %USERPROFILE%.gamdlconfig.json
в Windows.
Значения файла конфигурации можно переопределить с помощью аргументов командной строки.
Аргумент командной строки/ключ файла конфигурации | Описание | Значение по умолчанию |
---|---|---|
--disable-music-video-skip / disable_music_video_skip | Не пропускайте загрузку музыкальных клипов в альбомы/плейлисты. | false |
--save-cover , -s / save_cover | Сохраните обложку в отдельный файл. | false |
--overwrite / overwrite | Перезаписать существующие файлы. | false |
--read-urls-as-txt , -r / - | Интерпретируйте URL-адреса как пути к текстовым файлам, содержащим URL-адреса, разделенные символами новой строки. | false |
--save-playlist / save_playlist | Сохраните файл списка воспроизведения M3U8 при загрузке списка воспроизведения. | false |
--synced-lyrics-only / synced_lyrics_only | Скачивайте только синхронизированные тексты песен. | false |
--no-synced-lyrics / no_synced_lyrics | Не загружайте синхронизированные тексты песен. | false |
--config-path / - | Путь к файлу конфигурации. | <home>/.gamdl/config.json |
--log-level / log_level | Уровень журнала. | INFO |
--no-exceptions / no_exceptions | Не печатать исключения. | false |
--cookies-path , -c / cookies_path | Путь к файлу cookie .txt. | ./cookies.txt |
--language , -l / language | Язык метаданных как код языка ISO-2A (не всегда работает для видео). | en-US |
--output-path , -o / output_path | Путь к выходному каталогу. | ./Apple Music |
--temp-path / temp_path | Путь к временному каталогу. | ./temp |
--wvd-path / wvd_path | Путь к файлу .wvd. | null |
--nm3u8dlre-path / nm3u8dlre_path | Путь к двоичному файлу N_m3u8DL-RE. | N_m3u8DL-RE |
--mp4decrypt-path / mp4decrypt_path | Путь к двоичному файлу mp4decrypt. | mp4decrypt |
--ffmpeg-path / ffmpeg_path | Путь к двоичному файлу FFmpeg. | ffmpeg |
--mp4box-path / mp4box_path | Путь к двоичному файлу MP4Box. | MP4Box |
--download-mode / download_mode | Режим загрузки. | ytdlp |
--remux-mode / remux_mode | Режим ремукса. | ffmpeg |
--cover-format / cover_format | Формат обложки. | jpg |
--template-folder-album / template_folder_album | Папка шаблонов для треков, входящих в альбом. | {album_artist}/{album} |
--template-folder-compilation / template_folder_compilation | Папка шаблонов для треков, входящих в сборник. | Compilations/{album} |
--template-file-single-disc / template_file_single_disc | Файл шаблона для треков, входящих в однодисковый альбом. | {track:02d} {title} |
--template-file-multi-disc / template_file_multi_disc | Файл шаблона для треков, входящих в многодисковый альбом. | {disc}-{track:02d} {title} |
--template-folder-no-album / template_folder_no_album | Папка шаблонов для треков, не входящих в альбом. | {artist}/Unknown Album |
--template-file-no-album / template_file_no_album | Файл шаблона для треков, не входящих в альбом. | {title} |
--template-file-playlist / template_file_playlist | Файл шаблона для плейлиста M3U8. | Playlists/{playlist_title} |
--template-date / template_date | Шаблон тега даты. | %Y-%m-%dT%H:%M:%SZ |
--exclude-tags / exclude_tags | Теги, разделенные запятыми, которые нужно исключить. | null |
--cover-size / cover_size | Размер обложки. | 1200 |
--truncate / truncate | Максимальная длина имен файлов/папок. | null |
--codec-song / codec_song | Кодек песни. | aac-legacy |
--synced-lyrics-format / synced_lyrics_format | Формат синхронизированных текстов. | lrc |
--codec-music-video / codec_music_video | Кодек музыкального видео. | h264 |
--quality-post / quality_post | Выкладывайте качество видео. | best |
--no-config-file , -n / - | Не используйте файл конфигурации. | false |
Следующие переменные можно использовать в папках/файлах шаблона и/или в списке exclude_tags
:
album
album_artist
album_id
album_sort
artist
artist_id
artist_sort
comment
compilation
composer
composer_id
composer_sort
copyright
cover
date
disc
disc_total
gapless
genre
genre_id
lyrics
media_type
playlist_artist
playlist_id
playlist_title
playlist_track
rating
storefront
title
title_id
title_sort
track
track_total
xid
Доступны следующие режимы ремукса:
ffmpeg
mp4box
Доступны следующие режимы загрузки:
ytdlp
nm3u8dlre
ytdlp
Доступны следующие кодеки:
aac-legacy
aac-he-legacy
Следующие кодеки также доступны, но их работа не гарантируется , поскольку в настоящее время большинство (или все) песен не загружаются при их использовании:
aac
aac-he
aac-binaural
aac-downmix
aac-he-binaural
aac-he-downmix
atmos
ac3
alac
ask
Доступны следующие кодеки:
h264
(до 1080p, с AAC 256 кбит/с)h265
(до 2160p, с AAC 256 кбит/с)ask
Доступны следующие качества:
best
(до 1080p, с AAC 256 кбит/с)ask
Публикация видео не требует ремультиплексирования и ограничена режимом загрузки ytdlp
.
Доступны следующие форматы синхронизированных текстов песен:
lrc
srt
ttml
Доступны следующие форматы обложек:
jpg
png
raw
save_cover
, чтобы сохранить обложку как отдельный файл.