Youtube-dl 在音频转换过程中添加元数据
Youtube-dl add metadata during audio conversion
抱歉,如果这个问题被误导了。在将它们添加到 iTunes 之前,我正在使用 youtube-dl 将歌曲视频下载为 mp3。问题是视频似乎不包含其中的元数据。我阅读了有关 --add-metadata 选项的所有信息,但据我了解,此选项仅用于添加已在视频中的 ID?我知道艺术家和歌曲名称,所以如果可能的话,我喜欢直接添加的方法。效果 --add-metadata-artist "Pink Floyd"
使用当前的配置选项可能吗?我看到了这个相关问题,但它并没有真正帮助 https://github.com/rg3/youtube-dl/issues/1570
这是我当前的配置设置:
options = {
'format':'bestaudio/best',
'extractaudio':True,
'audioformat':'mp3',
'outtmpl':'%(id)s.%(ext)s', #name the file the ID of the video
'noplaylist':True,
'nocheckcertificate':True,
'proxy':"",
'addmetadata':True,
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
}]
}
既然有人对我的问题投了赞成票,我会提到我最终没有找到用 youtube-dl 做到这一点的方法,但这没关系,因为它很容易用 EasyID3 做到:
from mutagen.easyid3 import EasyID3
metatag = EasyID3(pathToMp3File)
metatag['title'] = "Song Title"
metatag['artist'] = "Song Artist"
metatag.RegisterTextKey("track", "TRCK")
metatag['track'] = 7
metatag.save()
有关如何使用它的更多信息here
有youtube-dl选项:--add-metadata见post-processing documentation。
该文档说它将向视频文件添加元数据,但这也适用于音频文件。我用它来下载视频的 m4a 音频文件,所以它也应该适用于 mp3。此选项添加艺术家、曲目标题、日期和评论标签。
我发现我需要下载 FFmpeg 才能工作,我只是将 ffmpeg.exe 文件放在与 youtube-dl.exe 相同的目录中(这是在 windows系统).
我刚刚注意到您提到您注意到了这个选项。从测试看来,它使用视频上传器作为艺术家标签,实际视频名称作为标题标签,视频发布日期作为日期标签,视频评论作为评论标签。所以对于音乐视频来说,这可能并不理想。
如果你想用 Youtube-dl 做这个,你可以使用 --postprocessor-args
开关:
--add-metadata --postprocessor-args "-metadata artist=Pink\ Floyd"
您可以在后处理器列表中添加 FFmpegMetadata
。
options = {
'format':'bestaudio/best',
'extractaudio':True,
'audioformat':'mp3',
'outtmpl':'%(id)s.%(ext)s', #name the file the ID of the video
'noplaylist':True,
'nocheckcertificate':True,
'proxy':"",
'addmetadata':True,
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
},
{
'key': 'FFmpegMetadata'
}]
抱歉,如果这个问题被误导了。在将它们添加到 iTunes 之前,我正在使用 youtube-dl 将歌曲视频下载为 mp3。问题是视频似乎不包含其中的元数据。我阅读了有关 --add-metadata 选项的所有信息,但据我了解,此选项仅用于添加已在视频中的 ID?我知道艺术家和歌曲名称,所以如果可能的话,我喜欢直接添加的方法。效果 --add-metadata-artist "Pink Floyd" 使用当前的配置选项可能吗?我看到了这个相关问题,但它并没有真正帮助 https://github.com/rg3/youtube-dl/issues/1570 这是我当前的配置设置:
options = {
'format':'bestaudio/best',
'extractaudio':True,
'audioformat':'mp3',
'outtmpl':'%(id)s.%(ext)s', #name the file the ID of the video
'noplaylist':True,
'nocheckcertificate':True,
'proxy':"",
'addmetadata':True,
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
}]
}
既然有人对我的问题投了赞成票,我会提到我最终没有找到用 youtube-dl 做到这一点的方法,但这没关系,因为它很容易用 EasyID3 做到:
from mutagen.easyid3 import EasyID3
metatag = EasyID3(pathToMp3File)
metatag['title'] = "Song Title"
metatag['artist'] = "Song Artist"
metatag.RegisterTextKey("track", "TRCK")
metatag['track'] = 7
metatag.save()
有关如何使用它的更多信息here
有youtube-dl选项:--add-metadata见post-processing documentation。 该文档说它将向视频文件添加元数据,但这也适用于音频文件。我用它来下载视频的 m4a 音频文件,所以它也应该适用于 mp3。此选项添加艺术家、曲目标题、日期和评论标签。
我发现我需要下载 FFmpeg 才能工作,我只是将 ffmpeg.exe 文件放在与 youtube-dl.exe 相同的目录中(这是在 windows系统).
我刚刚注意到您提到您注意到了这个选项。从测试看来,它使用视频上传器作为艺术家标签,实际视频名称作为标题标签,视频发布日期作为日期标签,视频评论作为评论标签。所以对于音乐视频来说,这可能并不理想。
如果你想用 Youtube-dl 做这个,你可以使用 --postprocessor-args
开关:
--add-metadata --postprocessor-args "-metadata artist=Pink\ Floyd"
您可以在后处理器列表中添加 FFmpegMetadata
。
options = {
'format':'bestaudio/best',
'extractaudio':True,
'audioformat':'mp3',
'outtmpl':'%(id)s.%(ext)s', #name the file the ID of the video
'noplaylist':True,
'nocheckcertificate':True,
'proxy':"",
'addmetadata':True,
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
},
{
'key': 'FFmpegMetadata'
}]