gytmdl

gytmdl

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

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

YouTube Music下载工具PythonCLI音乐元数据Github开源项目

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

编辑推荐精选

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

即梦AI

即梦AI

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

扣子-AI办公

扣子-AI办公

AI办公助手,复杂任务高效处理

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

下拉加载更多