Project Icon

gytmdl

Python命令行工具实现YouTube Music歌曲下载与标签管理

gytmdl是一个Python命令行应用,用于从YouTube Music下载歌曲并添加完整标签。该工具利用YouTube Music API获取元数据,包括专辑封面、歌词和曲目信息。支持下载单曲、专辑和艺人作品,并提供多种配置选项,如自定义输出路径、下载模式和音频质量选择。gytmdl适合需要高质量音乐下载的用户使用。

Glomatico 的 YouTube 音乐下载器

一个用于从 YouTube Music 下载带标签的 YouTube 音乐歌曲的 Python 命令行应用。

Discord 服务器: https://discord.gg/aBjMEZ9tnq

为什么不直接使用 yt-dlp?

虽然本项目内部使用了 yt-dlp,但所有歌曲元数据都是通过 YouTube Music 的 API 获取的,包括正确的方形封面、歌词、音轨编号、总音轨数等。

前提条件

安装

使用 pip 安装 gytmdl 包:

pip install gytmdl

使用方法

gytmdl [选项] 网址...

示例

  • 下载一首歌曲:
    gytmdl "https://music.youtube.com/watch?v=3BFTio5296w"
    
  • 下载一张专辑:
    gytmdl "https://music.youtube.com/playlist?list=OLAK5uy_lvpL_Gr_aVEq-LaivwJaSK5EbFd4HeamM"
    
  • 选择要从艺术家下载的专辑或单曲:
    gytmdl "https://music.youtube.com/channel/UCwZEU0wAwIyZb4x5G_KJp2w"
    

不支持不属于专辑的歌曲(标准 YouTube 视频)。为确保获得有效链接,请使用 YouTube Music 搜索并启用按歌曲、专辑或艺术家筛选。

交互式提示控制

  • 方向键 - 移动选择
  • 空格键 - 切换选择
  • Ctrl + A - 全选
  • 回车键 - 确认选择

配置

gytmdl 可以通过命令行参数或配置文件进行配置。首次运行 gytmdl 时,配置文件会自动创建在 Linux 的 ~/.gytmdl/config.json 或 Windows 的 %USERPROFILE%\.gytmdl\config.json。可以使用命令行参数覆盖配置文件中的值。

命令行参数 / 配置文件键描述默认值
--save-cover, -s / save_cover将封面保存为单独的文件。false
--overwrite / overwrite覆盖现有文件。false
--read-urls-as-txt, -r / -将 URL 解释为包含由换行符分隔的 URL 的文本文件路径。false
--config-path / -配置文件路径。<home>/.gytmdl/config.json
--log-level / log_level日志级别。INFO
--print-exceptions / print_exceptions打印异常。false
--output-path, -o / output_path输出目录路径。./YouTube Music
--temp-path / temp_path临时目录路径。./temp
--cookies-path, -c / cookies_path.txt cookies 文件路径。null
--ffmpeg-path / ffmpeg_pathFFmpeg 二进制文件路径。ffmpeg
--aria2c-path / aria2c_patharia2c 二进制文件路径。aria2c
--download-mode / download_mode下载模式。ytdlp
--itag, -i / itagItag(音频编解码器/质量)。140
--cover-size / cover_size封面大小。1200
--cover-format / cover_format封面格式。jpg
--cover-quality / cover_quality封面 JPEG 质量。94
--template-folder / template_folder专辑文件夹的模板(格式字符串)。{album_artist}/{album}
--template-file / template_file歌曲文件的模板(格式字符串)。{track:02d} {title}
--template-date / template_date日期标签模板。%Y-%m-%dT%H:%M:%SZ
--exclude-tags, -e / exclude_tags要排除的标签(逗号分隔)。null
--truncate / truncate文件/文件夹名称的最大长度。40
--no-config-file, -n / -不加载配置文件。false

标签变量

以下变量可用于模板文件夹/文件和/或 exclude_tags 列表中:

  • album
  • album_artist
  • artist
  • cover
  • date
  • lyrics
  • media_type
  • rating
  • title
  • track
  • track_total
  • url

Itags(音频编解码器/质量)

可用的免费 itags 如下:

  • 140(AAC 128kbps)
  • 139(AAC 48kbps)
  • 251(Opus 128kbps)
  • 250(Opus 64kbps)
  • 249(Opus 48kbps)

如果提供了带有有效订阅的 cookies 文件,可用的高级 itags 如下:

  • 141(AAC 256kbps)
  • 774(Opus 256kbps)

下载模式

可用的模式如下:

封面格式

可用的封面格式如下:

  • jpg
  • png
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号