Android:Jcodec 帧率和持续时间

标签 android bitmap jcodec

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

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

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

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

提前致谢。

最佳答案

我自己很难找到这个。通过 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();

关于Android:Jcodec 帧率和持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26926268/

相关文章:

android - 如何在缩放位图上获取像素颜色值?

Android BitmapFactory.decodeFile(path) 总是返回 null

java - JCODEC 支持 MPEG-TS 还是 MPEG-PS

java - 将图像编码为视频时出现 JCodec 错误

android - 使用Flutter/Dart构建的应用程序空间

android - 获取库播放列表艺术品 Apple Music API

android - Android 中的蓝牙音频控件

c++ - 在 C++ 中生成位图

bufferedimage - JCodec 图片转 BufferedImage

java - Android Studio 2.2 和 Jack 被 Avira Antivirus 阻止