使用 youtube-dl 将 YouTube 下载为 mp3 并将元数据(artist/song 标题)写入 mp3 文件
Downloading YouTube to mp3 and writing metadata (artist/song title) to mp3 file using 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
文件,这样当我查看文件夹中的歌曲时,它会如下所示:
这种格式对我很有用,因为我可以直接将这些文件输入 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)
改为使用 m4a:
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 版本的问题:
我使用 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
文件,这样当我查看文件夹中的歌曲时,它会如下所示:
这种格式对我很有用,因为我可以直接将这些文件输入 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)
改为使用 m4a:
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 版本的问题: