从Android视频中获取视频帧

时间:2013-07-21 05:09:31

标签: android image video android-camera

我正在编写一个应用程序,用于从Android设备的摄像头捕获视频。我试图获取视频的所有帧而不重复帧并将它们存储在某种列表中。通过“不重复帧”,我的意思是:

如果我调用MediaMetadataRetriever.getFrameAtTime(time, OPTION),如果time没有太大变化,那么对此方法的两次调用可能会返回相同的帧。我想在下一次调用time之前增加getFrameAtTime(),这样我就不会再次获得相同的帧了。

显然,我也想确保我不会错过任何帧。

执行此操作的一种方法是获取视频的每秒帧数,并按帧捕获的频率递增time。但是,如何获取每秒捕获的视频的帧数?

或者我还能怎样做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以注册PreviewCallback处理程序。此接口声明onPreviewCallback()方法,该方法完全按照您的要求调用:每个不同的视频帧一次。参数是原始相机图像。