我很难在Jcodec中获得正确的持续时间和准确的帧率。
我的情况是我有一个显示位图数组的应用程序,其中用户可以更改其帧速率,如1fps,5fps,32fps,我所做的只是1000 / fps。所以1fps会每1秒显示1个位图,2fps:2bitmap等等,简而言之,用户就是提供帧率的用户。我找到this但是我找不到合适的公式。
另一件事,关于持续时间。如果我想要1fps并且我有16位图怎么办? JCodec应该产生16秒的视频。
我怎样才能实现这一目标?让我们说位图将是动态的。根据我的理解,Jcodec依赖于硬编码的持续时间。而不是它编码并转换为MP4的帧数。
提前致谢。
答案 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();