Mutagen无法识别MP4 iTunes语音备忘录标签

时间:2017-08-18 18:37:06

标签: python python-3.x itunes mp4 mutagen

问题

我在iPhone上录制了一些语音备忘录。 我为不同的活动添加了标题。 同步后,这些出现在单独的相册中。 在iTunes中,它们以标题列出,但MP4文件按以下格式命名:yyyymmdd hhmmss.m4a(AAC编码)。

为了移动文件,我想使用mutagen用一些python脚本重命名这些文件。

import mutagen.mp4 as m
f = m.MP4("file.m4a")
print(f.tags)
print(f.MP4Tags())
# f['\xa9nam'] = "test" # works
print(f['\xa9nam']) # only works if edited by previous line or in iTunes

但是,mutagen无法正确识别标签,但只能在编辑完成后(在iTunes中)。 f.tags的输出如下所示:

{'----:com.apple.iTunes:iTunSMPB': [MP4FreeForm(b' 00000000 00000840 000003E0 0000000007823BE0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000', <AtomDataType.UTF8: 1>)], '©too': ['com.apple.VoiceMemos (iOS 10.2)']}

f.MP4Tags()会产生{}。 编辑标题后,它会显示在f.tags

{'©nam': ['test'], '----:com.apple.iTunes:iTunSMPB': [MP4FreeForm(b' 00000000 00000840 000003E0 0000000007823BE0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000', <AtomDataType.UTF8: 1>)], '©too': ['com.apple.VoiceMemos (iOS 10.2)']}

问题

  

如何阅读原始*.m4a - iPhone语音备忘录标签?

1 个答案:

答案 0 :(得分:0)

正如所讨论的here标题不会存储在文件标签中,而只会存储在iTunes资料库文件中。

可以set iTunes to create an *.xml以可读的方式包含此信息。

A similar question on apple-supportlink回答了基本脚本,用于重命名语音备忘录;完全从那里读。