如何在Java中编辑MP4ID3标记?

如何在Java中编辑MP4ID3标记?,java,mp4,id3,Java,Mp4,Id3,不久前,我问了一个类似的问题,但是关于python,从那以后,我决定转向Java,因为似乎有更多的资源来做这类事情。基本上,我需要一些库、想法或说明,让我可以像iTunes中的那样编辑MP4文件中的ID3标签。如果有人知道什么,我们将非常感谢你的帮助 到目前为止,我已经完成了以下工作: 我发现了一个非常类似的问题的这个问题/答案:(它描述了如何使用一个名为JID3的音频文件库来编辑视频ID3标签),但我一直无法弄清楚如何将它导入到eclipse项目中并使用它。我基本上是将它解包并将所有的包添加到

不久前,我问了一个类似的问题,但是关于python,从那以后,我决定转向Java,因为似乎有更多的资源来做这类事情。基本上,我需要一些库、想法或说明,让我可以像iTunes中的那样编辑MP4文件中的ID3标签。如果有人知道什么,我们将非常感谢你的帮助

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

  • 我发现了一个非常类似的问题的这个问题/答案:(它描述了如何使用一个名为JID3的音频文件库来编辑视频ID3标签),但我一直无法弄清楚如何将它导入到eclipse项目中并使用它。我基本上是将它解包并将所有的包添加到项目中,但有一次它工作了,之后任何媒体播放器都无法读取电影文件。如果有人知道如何导入和使用JID3,那就太好了

  • 我发现了这个网站:它有一些看起来不错的代码用于读写ID3标签,不幸的是,它不能正常工作,经常返回问号字符串或告诉我文件不在那里(它会自动工作一次,然后在没有任何更改的情况下再工作一次)。尽管如此,我还是喜欢简单地读取文件的字节或ASCII,然后以这种方式查找/编辑ID3标记,这样如果有人知道该怎么做,那就太棒了


  • 提前感谢。

    MP4中的元数据不一定是ID3格式。有可能使用ID3,但它没有被广泛使用。ID3字节随后位于/moov/meta/id32框中。
    iTunes文件的元数据信息位于/moov/udta/。。。有多个框,如“@cmt”、“nam”、“des”和“@cpy”,每个框都包含(在本例中)注释、名称、描述和版权的字符串。查看如何可视化、解析和编写MP4文件。

    如果我理解正确,您希望能够编辑诸如艺术家、曲目、封面图像等元数据,然后能够在iTunes或QuickTime中查看您的更改

    在这种情况下,您可能需要查看JCodec()中提供的新API。 它还有一个CLI()

    以下是基本用法:

    # 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
    
    MetadataEditor mediaMeta=MetadataEditor.createFrom(新建)
    文件(“File.mp4”);
    Map meta=mediaMeta.getItunesMeta();
    meta.put(0xa9415254,MetaValue.createString(“新值”);//fourcc代表©艺术
    mediaMeta.save(false);//快速模式关闭
    
    您可以在此处找到完整的文档:

    您看过吗?