使用诱变蛋白嵌入MP4文件中的专辑封面



我希望能够使用诱变者将专辑封面添加到文件中,但是当我将其添加为文件时,它会返回以下内容:

File "D:DownloadpandorarenamingMETAEFF.pyw", line 71, in <module>
    meta['covr'] = image
File "C:UsersAMDAppDataLocalProgramsPythonPython35libsite-packagesmutagen_file.py", line 67, in __setitem__
    self.tags[key] = value
File "C:UsersAMDAppDataLocalProgramsPythonPython35libsite-packagesmutagenmp4__init__.py", line 357, in __setitem__
    self._render(key, value)
File "C:UsersAMDAppDataLocalProgramsPythonPython35libsite-packagesmutagenmp4__init__.py", line 371, in _render
    return render_func(self, key, value)
File "C:UsersAMDAppDataLocalProgramsPythonPython35libsite-packagesmutagenmp4__init__.py", line 732, in __render_cover 
    b"data", struct.pack(">2I", imageformat, 0) + cover))
TypeError: can't concat bytes to str

相关的代码是:

from mutagen.mp4 import MP4
image = jpgname + '.jpg'
meta['xa9nam'] = song
meta['xa9ART'] = artist
meta['xa9alb'] = album
meta = MP4(songPath)
meta['covr'] = image
meta.save()

元数据的其余部分效果很好,但是图像部分完全打破了整个代码。

来自诱变者文档:

mp4 meta'covr' - 封面艺术品,mp4cover对象列表(标记为strs)。

mp4cover imageFormat - 图像的格式(format_jpeg或format_png)

from mutagen.mp4 import MP4, MP4Cover
video = MP4("test.mp4")
video["xa9nam"] = "Test1"
video["xa9ART"] = "Test2"
video["xa9alb"] = "Test3"
with open("cover.jpg", "rb") as f:
    video["covr"] = [
        MP4Cover(f.read(), imageformat=MP4Cover.FORMAT_JPEG)
    ]
video.save()

相关内容

  • 没有找到相关文章

最新更新