使用 youtube-dl 将元数据(艺术家姓名、歌曲标题、年份、专辑、持续时间、流派)写入 mp3/m4a 音频文件(随后出现 AtomicParsely 错误)

IRN*_*art 5 metadata ffmpeg extract m4a youtube-dl

我仅使用从 YouTube 视频中提取音频youtube-dl我想在下载后将元数据(即艺术家姓名和歌曲标题、年份、专辑、持续时间、流派)写入mp3/m4a 文件中。我尝试从以下代码开始实现此目的:

@echo off
youtube-dl --format m4a/mp3 --youtube-skip-dash-manifest --embed-thumbnail -o "%%(title)s.%%(ext)s" --metadata-from-title "%%(artist)s - %%(title)s" --add-metadata 2Y6Nne8RvaA
pause
Run Code Online (Sandbox Code Playgroud)

此代码产生以下输出:

[youtube] 2Y6Nne8RvaA: Downloading webpage
[youtube] 2Y6Nne8RvaA: Extracting video information
[youtube] 2Y6Nne8RvaA: Downloading thumbnail ...
[youtube] 2Y6Nne8RvaA: Writing thumbnail to: Kungs vs Cookin' on 3 Burners - Thi
s Girl.jpg
[download] Destination: Kungs vs Cookin' on 3 Burners - This Girl.m4a
[download] 100% of 2.99MiB in 00:01
[ffmpeg] Correcting container in "Kungs vs Cookin' on 3 Burners - This Girl.m4a"

[fromtitle] parsed title: This Girl
[fromtitle] parsed artist: Kungs vs Cookin' on 3 Burners
[ffmpeg] Adding metadata to 'Kungs vs Cookin' on 3 Burners - This Girl.m4a'
ERROR: AtomicParsley was not found. Please install.
Press any key to continue . . .
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我能够成功地添加视频中的一些标签,但不是全部,而且今年彻底搞砸了。 在此输入图像描述

这是什么AtomicParsely错误以及如何纠正它?我是否需要该程序将所有元数据正确添加到我想要的文件中,或者可以通过其他方式完成吗?

参考Steven Penny 的帖子,FFmpeg 元数据未在 Windows 中显示?,解决这个问题是不是像使用ffmpeg命令那么简单呢?

当我在谷歌上搜索这首歌时,显示的第一个链接正是我在 YouTube 上使用的链接,并且搜索显示了相关的元数据(见下文)。我不确定这些数据是用户手动输入的,还是谷歌从视频中挖掘出来的: 在此输入图像描述

我承认我对使用youtube-dland很陌生ffmpeg,但是在 StackOverflow 上评论者的帮助下,我每天都在学习更多知识。这篇文章是我之前问题的后续:使用 youtube-dl 将 YouTube 下载到 mp3 并将元数据(艺术家/歌曲标题)写入 mp3 文件

小智 3

您正在尝试使用 YouTube-DL,然后使用 AtomicParsley 设置\n此文件的标签。

\n\n

要使用--embed-thumbnail,YouTube-DL 必须调用外部程序,\n这超出了 YouTube-DL 项目的范围。在本例中,他们\n调用 AtomicParsley。

\n\n

即使在 2016 年,将缩略图正确嵌入到 M4A/MP4 中也并不容易。有几种工具可以做到这一点,但它们都有各自的问题:

\n\n\n\n
\n\n

关于年份:在这种情况下,YouTube-DL 无法为您提供帮助,因为\n该信息不在页面中:

\n\n
$ de=$(mktemp)\n$ wget -O "$de" https://www.youtube.com/watch?v=2Y6Nne8RvaA\n$ grep \'2009[^[:digit:]]\' "$de" | wc\n      0       0       0\n
Run Code Online (Sandbox Code Playgroud)\n\n

由上传者决定在描述中添加什么内容以及采用什么格式。

\n