【发布时间】:2012-02-20 19:40:37
【问题描述】:
有没有办法获取捕获 Android 相机预览帧的时间戳?
- 没有相机方法返回时间戳
- 您无法从本机代码访问相机
- 缓冲区大小不是静态的(取决于从相机获取的最小预览大小 - 方法何时以及是否有效),如果队列中有更多帧,则有预览缓冲区,它们将被丢弃
- 设置的帧速率(同样,如果/当方法工作时)只是对系统的提示,相机可以忽略该值。相机返回的帧速率也是如此。
我正在实时进行一些繁重的图像处理,加在一起时的小错误是一个真正的问题。
【问题讨论】:
-
你指的是 onPreviewFrame 回调,对吧?在被传递的 byte[] 中应该有 EXIF 数据,假设它至少是 JPEG。
-
据我所知,数据中没有 exif,只有原始图像
-
由于缺少 EXIF:不确定这是否可行,但您是否尝试过将预览格式显式设置为 ImageFormat.jpeg? NV21 格式(默认)可能没有任何地方可以存储 EXIF 数据。
-
我可以这样做,只是在性能方面没有意义。 NV21 格式更容易处理(至少在我们的例子中)并且处理算法会变慢,因为我们需要从图像中解析额外的数据。
标签: android android-ndk android-camera