如何在 Java 中编辑 MP4 ID3 标签?
Posted
技术标签:
【中文标题】如何在 Java 中编辑 MP4 ID3 标签?【英文标题】:How do you Edit MP4 ID3 Tags in Java? 【发布时间】:2011-05-20 21:19:05 【问题描述】:前段时间我问了一个类似的问题,但使用的是 python,并且从那时起决定切换到 Java,因为似乎有更多的资源可以做这种事情。基本上,我需要某种库、想法或指令,以允许我在 MP4 文件中编辑 ID3 标签,就像在 iTunes 中找到的那种。如果有人知道任何事情,将不胜感激。
到目前为止,我已经完成了以下工作:
我发现了一个非常相似的问题/答案:How do you Edit Video ID3v2 Tags in Java(它描述了如何使用用于名为 JID3 的音频文件的库来编辑视频 ID3 标签),但我不知道为了我的一生,如何将它实际导入 Eclipse 项目并使用它。我基本上解压了它并将所有的包添加到项目中,但是有一次它起作用了,之后任何媒体播放器都无法读取电影文件。如果有人对如何导入和使用 JID3 有专门的了解,那就太好了。
我找到了这个站点:http://willcode4beer.com/parsing.jsp?set=mp3ID3,它有一些看似不错的代码用于读取和写入 ID3 标签,不幸的是它无法正常工作,不断返回问号字符串或告诉我文件不存在自发地(它实际上会工作一次,然后在没有任何变化的情况下再次工作)。尽管如此,我还是喜欢简单地读取文件的字节或 ASCII 并以这种方式查找/编辑 ID3 标签的想法,所以如果有人知道该怎么做,那就太棒了。
提前致谢。
【问题讨论】:
你看过id3.org吗? 【参考方案1】:MP4 中的元数据不一定是 ID3 格式。有可能使用 ID3,但它没有被广泛使用。然后 ID3 字节位于 /moov/meta/id32 框中。 iTunes 文件在 /moov/udta/ 中包含它们的元信息...有多个框,如“@cmt”、“@nam”、“@des”、“@cpy”,每个框都包含一个字符串) 评论、名称、描述、版权。查看http://code.google.com/p/mp4parser/ 以可视化、解析和编写 MP4 文件。
【讨论】:
【参考方案2】:如果我理解正确,您希望能够编辑以下元数据:艺术家、曲目、封面图片等,然后能够在 iTunes 或 QuickTime 中查看您的更改。
在这种情况下,您可能需要查看 JCodec (org.jcodec.movtool.MetadataEditor) 中提供的新 API。 它还有一个 CLI (org.jcodec.movtool.MetadataEditorMain)。
这是基本用法:
# Changes the author of the movie
./metaedit -f -si ©ART=New\ value file.mov
或者通过 Java API 做同样的事情:
MetadataEditor mediaMeta = MetadataEditor.createFrom(new
File("file.mp4"));
Map<Integer, MetaValue> meta = mediaMeta.getItunesMeta();
meta.put(0xa9415254, MetaValue.createString("New value")); // fourcc for '©ART'
mediaMeta.save(false); // fast mode is off
您可以在此处找到完整的文档:http://jcodec.org/docs/working_with_mp4_metadata.html
【讨论】:
以上是关于如何在 Java 中编辑 MP4 ID3 标签?的主要内容,如果未能解决你的问题,请参考以下文章
如何为 Java 剪辑使用 ID3 标记(音频文件详细信息和信息)