是否有用于提取MP4元数据的JAVA API

时间:2012-10-01 19:23:56

标签: java metadata mp4

我想具体说明我的要求。我不是要求修改任何MP4文件,只是提取宽度和高度以及比特率和编码等元数据,这不在MP3标签中。

我已经测试了Xuggle,但是我需要一个不使用JNI或任何本机代码的库。

我已经查看了MP4Parser和Apache Tika,他们都没有提取元数据,只是标记信息或更改文件。

有这样的java lib吗?

2 个答案:

答案 0 :(得分:6)

我实际上使用Mp4Parser

找到了我要找的东西

这里有一行简单的代码,可以使用Mp4Parser获取我想要的内容

FileChannel fc = new FileInputStream("content/Video_720p_Madagascar-3.mp4").getChannel();
IsoFile isoFile = new IsoFile(fc);
MovieBox moov = isoFile.getMovieBox();
for(Box b : moov.getBoxes()) {
    System.out.println(b);
}

b包含我需要的所有信息,现在我只需解析b就可以得到我想要的信息。

答案 1 :(得分:1)

目前(2015年),Android SDK提供MediaMetadataRetriever类用于提取元数据:

        MediaMetadataRetriever m = new MediaMetadataRetriever();
        m.setDataSource(mInputFile);
        String extractedHeight = m.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT);
        String extractedWidth = m.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH);
相关问题