修复Android相机帧率

时间:2014-01-13 20:19:11

标签: android camera

我希望在Android相机上大幅降低并修复视频的帧速率 - 我会将其视为比相机设置允许更快拍摄的静止帧流,但速度要慢得多比视频。因此,我想改变帧率并保持不变。

我知道setPreviewFpsRange(int,int)是首选技术,传入相同的min和max。然而,面对诸如照明变化之类的事情,这并不能建立恒定的帧率。鉴于我并没有试图获得不可持续的高帧率(我实际上目标很低),有没有办法确保恒定的速率?

1 个答案:

答案 0 :(得分:0)

由于您在问题中提及setPreviewFpsRange(),我假设您可以使用预览的分辨率。在这种情况下,您可以通过自己编码视频来稍微解决可变帧速率问题。基本上,以“正常”速率运行它,并在它们进入PreviewCallback时抓取帧。检查自上一帧以来的时间,丢弃不需要的时间。然后,当你完成后,使用类似FFMPEG的内容编码为视频。

这不是保证一个完全恒定的速率,但你应该能够跨设备更多地一致控制它,因为各种设备处理自动更改速率不同。

当然,这可能是存储密集型的,因为您要单独保存每个帧,然后编码视频,然后删除帧。如果你感兴趣的视频有点短,这可能是一个很好的解决方案。

相关问题