5

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

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

我已经研究过 MP4Parser 和 Apache Tika,它们都不会提取元数据,只是标记信息或更改文件。

有这样的java lib吗?

4

2 回答 2

8

我实际上使用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 即可得到我想要的。

于 2012-10-02T18:31:18.440 回答
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);
于 2015-10-19T16:23:26.217 回答