Um aplicativo Python CLI para baixar músicas/vídeos musicais/postagens da Apple Music.
Servidor Discord: https://discord.gg/aBjMEZ9tnq
As ferramentas a seguir são opcionais, mas necessárias para recursos específicos. Adicione-os ao PATH do seu sistema ou especifique seus caminhos usando argumentos de linha de comando ou o arquivo de configuração.
mp4box
como modo remux, para baixar vídeos musicais e para baixar músicas em formatos não legados.mp4box
como modo remux.nm3u8dlre
como modo de download. gamdl
usando pip pip install gamdl
cookies.txt
ou especificar seu caminho usando o arquivo de argumentos/config da linha de comando. gamdl [OPTIONS] URLS...
Gamdl oferece suporte aos seguintes tipos de URLs:
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 pode ser configurado usando argumentos de linha de comando ou o arquivo de configuração.
O arquivo de configuração é criado automaticamente quando você executa o Gamdl pela primeira vez em ~/.gamdl/config.json
no Linux e %USERPROFILE%.gamdlconfig.json
no Windows.
Os valores do arquivo de configuração podem ser substituídos usando argumentos de linha de comando.
Argumento de linha de comando/chave do arquivo de configuração | Descrição | Valor padrão |
---|---|---|
--disable-music-video-skip / disable_music_video_skip | Não pule o download de videoclipes em álbuns/listas de reprodução. | false |
--save-cover , -s / save_cover | Salve a capa como um arquivo separado. | false |
--overwrite / overwrite | Substitua os arquivos existentes. | false |
--read-urls-as-txt , -r /- | Interprete URLs como caminhos para arquivos de texto contendo URLs separados por novas linhas. | false |
--save-playlist / save_playlist | Salve um arquivo de lista de reprodução M3U8 ao baixar uma lista de reprodução. | false |
--synced-lyrics-only / synced_lyrics_only | Baixe apenas as letras sincronizadas. | false |
--no-synced-lyrics / no_synced_lyrics | Não baixe as letras sincronizadas. | false |
--config-path / - | Caminho para o arquivo de configuração. | <home>/.gamdl/config.json |
--log-level / log_level | Nível de registro. | INFO |
--no-exceptions / no_exceptions | Não imprima exceções. | false |
--cookies-path , -c / cookies_path | Caminho para o arquivo de cookies .txt. | ./cookies.txt |
--language , -l / language | Linguagem de metadados como código de linguagem ISO-2A (nem sempre funciona para vídeos). | en-US |
--output-path , -o / output_path | Caminho para o diretório de saída. | ./Apple Music |
--temp-path / temp_path | Caminho para o diretório temporário. | ./temp |
--wvd-path / wvd_path | Caminho para o arquivo .wvd. | null |
--nm3u8dlre-path / nm3u8dlre_path | Caminho para o binário N_m3u8DL-RE. | N_m3u8DL-RE |
--mp4decrypt-path / mp4decrypt_path | Caminho para o binário mp4decrypt. | mp4decrypt |
--ffmpeg-path / ffmpeg_path | Caminho para o binário FFmpeg. | ffmpeg |
--mp4box-path / mp4box_path | Caminho para o binário MP4Box. | MP4Box |
--download-mode / download_mode | Modo de download. | ytdlp |
--remux-mode / remux_mode | Modo Remux. | ffmpeg |
--cover-format / cover_format | Formato de capa. | jpg |
--template-folder-album / template_folder_album | Pasta de modelos para faixas que fazem parte de um álbum. | {album_artist}/{album} |
--template-folder-compilation / template_folder_compilation | Pasta de modelos para faixas que fazem parte de um álbum de compilação. | Compilations/{album} |
--template-file-single-disc / template_file_single_disc | Arquivo de modelo para as faixas que fazem parte de um álbum de disco único. | {track:02d} {title} |
--template-file-multi-disc / template_file_multi_disc | Arquivo de modelo para as faixas que fazem parte de um álbum com vários discos. | {disc}-{track:02d} {title} |
--template-folder-no-album / template_folder_no_album | Pasta modelo para as faixas que não fazem parte de um álbum. | {artist}/Unknown Album |
--template-file-no-album / template_file_no_album | Arquivo de modelo para as faixas que não fazem parte de um álbum. | {title} |
--template-file-playlist / template_file_playlist | Arquivo de modelo para a lista de reprodução M3U8. | Playlists/{playlist_title} |
--template-date / template_date | Modelo de etiqueta de data. | %Y-%m-%dT%H:%M:%SZ |
--exclude-tags / exclude_tags | Tags separadas por vírgula a serem excluídas. | null |
--cover-size / cover_size | Tamanho da capa. | 1200 |
--truncate / truncate | Comprimento máximo dos nomes de arquivos/pastas. | null |
--codec-song / codec_song | Codec de música. | aac-legacy |
--synced-lyrics-format / synced_lyrics_format | Formato de letras sincronizadas. | lrc |
--codec-music-video / codec_music_video | Codec de videoclipe. | h264 |
--quality-post / quality_post | Poste qualidade de vídeo. | best |
--no-config-file , -n / - | Não use um arquivo de configuração. | false |
As seguintes variáveis podem ser usadas nas pastas/arquivos do modelo e/ou na lista 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
Os seguintes modos remux estão disponíveis:
ffmpeg
mp4box
Os seguintes modos de download estão disponíveis:
ytdlp
nm3u8dlre
ytdlp
Os seguintes codecs estão disponíveis:
aac-legacy
aac-he-legacy
Os seguintes codecs também estão disponíveis, mas não há garantia de funcionamento , pois atualmente a maioria (ou todas) das músicas não é baixada ao usá-las:
aac
aac-he
aac-binaural
aac-downmix
aac-he-binaural
aac-he-downmix
atmos
ac3
alac
ask
Os seguintes codecs estão disponíveis:
h264
(até 1080p, com AAC 256kbps)h265
(até 2160p, com AAC 256kpbs)ask
As seguintes qualidades estão disponíveis:
best
(até 1080p, com AAC 256kbps)ask
Postar vídeos não requer remixagem e está limitado ao modo de download ytdlp
.
Os seguintes formatos de letras sincronizadas estão disponíveis:
lrc
srt
ttml
Os seguintes formatos de capa estão disponíveis:
jpg
png
raw
save_cover
para salvar a capa como um arquivo separado.