4

前段时间我问了一个类似的问题,但是使用 python,并且从那时起决定切换到 Java,因为似乎有更多的资源来做这种事情。基本上,我需要某种库、想法或指令,以允许我在 MP4 文件中编辑 ID3 标签,就像在 iTunes 中找到的那种。如果有人知道任何事情,您的帮助将不胜感激。

到目前为止,我已经完成了以下工作:

  1. 我发现这个问题/回答了一个非常相似的问题:How do you Edit Video ID3v2 Tags in Java(它描述了如何使用一个用于名为 JID3 的音频文件的库来编辑视频 ID3 标签),但我不知道为了我的一生,如何将它实际导入 Eclipse 项目并使用它。我基本上解压了它并将所有包添加到项目中,但有一次它工作后,电影文件对任何媒体播放器都无法读取。如果有人对如何导入和使用 JID3 有特定的了解,那就太好了。

  2. 我找到了这个网站:http ://willcode4beer.com/parsing.jsp?set= mp3ID3,它有一些看似不错的代码用于读取和写入 ID3 标签,不幸的是它不能正常工作,不断返回问号字符串或告诉我该文件不是自发的(它实际上会工作一次,然后在没有任何更改的情况下再次工作)。不过,我喜欢简单地读取文件的字节或 ASCII 并以这种方式查找/编辑 ID3 标签的想法,所以如果有人知道该怎么做,那就太棒了。

提前致谢。

4

2 回答 2

1

MP4 中的元数据不一定是 ID3 格式。有可能使用 ID3,但它没有被广泛使用。然后 ID3 字节位于 /moov/meta/id32 框中。iTunes 文件在 /moov/udta/ 中包含它们的元信息...有多个框,如“@cmt”、“@nam”、“@des”、“@cpy”,每个框都包含一个字符串) 评论、名称、描述、版权。查看http://code.google.com/p/mp4parser/以可视化、解析和编写 MP4 文件。

于 2011-07-14T08:16:36.980 回答
1

如果我理解正确,您希望能够编辑以下元数据:艺术家、曲目、封面图像等,然后能够在 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

于 2017-09-29T00:12:04.470 回答