当前位置: 首页 > 知识库问答 >
问题:

从Android获得稳定的帧率

孟文栋
2023-03-14

我正试图从一个基于以下指南编写的简单的Android摄像头应用程序中获得稳定的帧速率。http://developer.android.com/guide/topics/media/camera.html-非故意版本。只有预览,没有图像或视频捕获。每次调用onPreview(实现previewcallback)时,我都会检查时间戳差异以测量帧速率。虽然它平均满足我设置的15 FPS速率(setPreviewFpsRange(15000,15000,并使用getSupportedPreviewFpsRange()验证了设备支持它),但单个帧速率从5 FPS到40 FPS不等。

有没有办法解决这个问题。原因是什么?我猜一个原因是应用程序进程优先级。据观察,添加更多应用程序会降低fps。一种解决方案是提高这个相机应用程序的优先级。第二个原因可能是垃圾回收机制和预览缓冲区副本慢。第三个原因是相机api(不是Android L的新相机api——我的设备还不支持)不是为流式传输相机数据而设计的。

还启用了曝光时间锁定以固定帧速率。

共有1个答案

岳奇逸
2023-03-14

这很可能就是你给帧加时间戳的方式。试着将一系列指向秒表的预览帧保存到磁盘上,并使用YUV播放器(即http://www.yuvtoolkit.com/)查看它们。

 类似资料:
  • irb(main):005:0>driver=Selenium::WebDriver.for:firefox Selenium::WebDriver::错误::WebDriver错误:无法在60秒内从C:/ruby21/lib/ruby/gems/2.1.0/gems/selenium-WebDriver-2.45.0/lib/Se Lenium/WebDriver/2.1.0/gems/sele

  • 问题内容: 我试图在Android中的HashMap上进行搜索,但出现问题: 考虑以下示例: 现在,我要对其进行迭代并获取每种颜色的值,并希望在“ Toast”中显示。如何显示? 问题答案:

  • 问题内容: 我的Firefox使用了selenium,但是今天早晨,当我运行测试时,我遇到了同样的错误。我将selenium- webdriver更新为当前版本(2.38),但仍然存在该错误。 也 我在我拥有2.35版本的其他项目中进行了检查,该项目昨天也可以使用-那里今天也无法使用; o 所以我想那不是selenium的问题,但是我的FF会被破坏吗?但是我也尝试使用自定义firefox_path

  • 通过测试场景时,我在运行测试时遇到以下错误 无法在60秒内获得稳定的firefox连接(127.0.0.1:7055)(Selenium::WebDriver::Error::WebDriverError) 使用和 使用、和其他几个gem,我还添加了gem,但它们似乎不是问题。我使用的是。

  • 在scala火花数据帧中是否有的替代方案。我想从火花数据帧的列中选择特定的行。例如,在R等效代码中的第100行

  • 问题内容: 首先,MSISDN与电话号码相同。我一直在研究是否有可能从Andoid电话中获取电话号码。 我的研究结果是肯定的。 可以使用TelephonyManager和getLine1Number()。但是,这是不可靠的。 我已经使用Motorola Atrix测试了上述内容,但该操作未检索到有效的电话号码。那么死在水中吧? 好吧,我能够使用TelephonyManager和getVoiceMa