2

我很难在 Jcodec 中获得正确的持续时间和准确的帧速率。

我的情况是我有一个显示一系列位图的应用程序,其中用户可以更改其帧速率,如 1fps、5fps、32fps,我所做的只是 1000/fps。所以 1fps 将每 1 秒显示 1 个位图,2fps: 2bitmap 等等,简而言之,用户是提供帧速率的人。我找到了这个,但我无法得到正确的公式。

还有一件事,关于持续时间。如果我想要 1fps 并且我有 16 个位图怎么办。JCodec 应该产生一个 16 秒的视频。

我怎样才能做到这一点?可以说位图将是动态的。根据我的理解,Jcodec 依赖于硬编码的持续时间。而不是它已编码并转换为 MP4 的帧数。

提前致谢。

4

1 回答 1

1

我自己很难找到这个。通过API进行了一些搜索。

FileChooser fc = new FileChooser();
File file = fc.showOpenDialog(null);
SeekableByteChannel bc = NIOUtils.readableFileChannel(file);
MP4Demuxer dm = new MP4Demuxer(bc);
DemuxerTrack vt = dm.getVideoTrack();
double frameRate = vt.getMeta().getTotalFrames()/vt.getMeta().getTotalDuration();
于 2015-11-26T16:45:01.357 回答