metadata - 使用 youtube-dl 将 YouTube 下载到 mp3 并将元数据(艺术家/歌曲标题)写入 mp3 文件

标签 metadata mp3 extract webm youtube-dl

我仅使用 youtube-dl 从 youtube 视频中提取音频. 我想在下载后将元数据(即艺术家姓名和歌曲名称)写入 mp3 文件 .我尝试从以下代码开始:

@echo off
set dl=https://www.youtube.com/watch?v=2Y6Nne8RvaA
youtube-dl --metadata-from-title "%(artist)s - %(title)s" --extract-audio --audio-format mp3 -o "%%(title)s.%%(ext)s" --add-metadata %dl%
pause

这段代码的输出是:
[youtube] 2Y6Nne8RvaA: Downloading webpage
[youtube] 2Y6Nne8RvaA: Downloading video info webpage
[youtube] 2Y6Nne8RvaA: Extracting video information
[download] Destination: Kungs vs Cookin' on 3 Burners - This Girl.webm
[download] 100% of 3.33MiB in 00:02
[fromtitle] Could not interpret title of video as "(title)s"
[ffmpeg] Adding metadata to 'Kungs vs Cookin' on 3 Burners - This Girl.webm'
[ffmpeg] Destination: Kungs vs Cookin' on 3 Burners - This Girl.mp3
Deleting original file Kungs vs Cookin' on 3 Burners - This Girl.webm (pass -k t
o keep)
Press any key to continue . . .

如您所见,代码将元数据添加到 .webm文件名,但不是 .mp3文件。把这个写到.webm没用文件,因为该文件在该过程完成后被删除。 我希望将此元数据写入 .mp3文件,以便当我查看文件夹中的歌曲时,它会如下所示:

enter image description here

这种格式对我很有用,因为我可以直接将这些文件输入 iTunes 并且元数据将完好无损!

我正在运行 Windows 7、64 位、Python 3.5。

最佳答案

该页面甚至不提供 MP3 文件:

$ youtube-dl --format mp3 2Y6Nne8RvaA
ERROR: requested format not available

即使你像你所做的那样尝试结束,它也不起作用:
$ youtube-dl --audio-format mp3 2Y6Nne8RvaA
$ ffprobe 'Kungs vs Cookin’ on 3 Burners - This Girl-2Y6Nne8RvaA.mkv'
Input #0, matroska,webm, from 'Kungs vs Cookin’ on 3 Burners - This Girl-2Y6Nne8RvaA.mkv':
  Duration: 00:03:17.48, start: -0.007000, bitrate: 2462 kb/s
    Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080
    Stream #0:1(eng): Audio: opus, 48000 Hz, stereo (default)

Use m4a instead:

youtube-dl --format m4a 2Y6Nne8RvaA

您正在使用:
--extract-audio

当您可以自行下载音频时:
youtube-dl --format m4a 2Y6Nne8RvaA

您正在使用:
https://www.youtube.com/watch?v=2Y6Nne8RvaA

当你可以使用:
2Y6Nne8RvaA

您没有使用:
--youtube-skip-dash-manifest

因为这个额外的行,我可以说:
[youtube] 2Y6Nne8RvaA: Downloading video info webpage

即使一切都按照你想要的方式工作,你可能仍然有
由于ID3版本的问题:

FFmpeg metadata not showing in Windows?

关于metadata - 使用 youtube-dl 将 YouTube 下载到 mp3 并将元数据(艺术家/歌曲标题)写入 mp3 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41050896/

相关文章:

python - 如何将 mp3 音频文件截断 30%?

python - 使用正则表达式从字符串中提取子字符串

python - 如何使用 Python 从文本文件中读取元数据(带标签)

linux - 文件系统加速 - 'find' 命令

node.js - 将您的电子邮件地址放入 npm 模块的 package.json 中是否安全?

java - java.io.FileNotFoundException即使文件路径正确

php - 通过 php 将元数据附加到新创建的图像?

ruby - 从文件中提取快速傅里叶变换数据

r - 从数据框列表中提取观察值的索引列表

python - Qualtrics API - 某些列从字符串更改为数字