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

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

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

Project Cover

Kimi

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

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

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

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

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