Android:Jcodec帧率和持续时间

时间:2014-11-14 08:59:55

标签: android bitmap jcodec

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

我的情况是我有一个显示位图数组的应用程序,其中用户可以更改其帧速率,如1fps,5fps,32fps,我所做的只是1000 / fps。所以1fps会每1秒显示1个位图,2fps:2bitmap等等,简而言之,用户就是提供帧率的用户。我找到this但是我找不到合适的公式。

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

我怎样才能实现这一目标?让我们说位图将是动态的。根据我的理解,Jcodec依赖于硬编码的持续时间。而不是它编码并转换为MP4的帧数。

提前致谢。

1 个答案:

答案 0 :(得分: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();