我正在尝试将相机用于需要 30 FPS 左右的高恒定帧速率的视频处理。
我正在使用 Camera 类和 setPreviewCallbackWithBuffer 来接收视频帧。我注意到大多数相机不支持 30000 - 30000 的 FPS 范围。但是,在录制电影时,我假设这些设备上的相机仍然提供大约 30 的帧速率。有没有其他方法可以实现比使用更高的帧速率我现在的方法?
我正在尝试将相机用于需要 30 FPS 左右的高恒定帧速率的视频处理。
我正在使用 Camera 类和 setPreviewCallbackWithBuffer 来接收视频帧。我注意到大多数相机不支持 30000 - 30000 的 FPS 范围。但是,在录制电影时,我假设这些设备上的相机仍然提供大约 30 的帧速率。有没有其他方法可以实现比使用更高的帧速率我现在的方法?
请注意,具有廉价摄像头的非顶级设备,尤其是前置摄像头,不支持您要求的可靠 fps。如果您请求 30,设备可以回复 ok(将开始捕获,不会崩溃等),但实际上它会根据光照条件提供具有 fps 范围的帧... [4-30](更少的光线需要更长的曝光时间) 也可能是别的东西。此类摄像头的示例是 Galaxy S3 mini 上的前置摄像头
如果您不想对所有设备使用静态 fps 速率,您可以使用getSupportedPreviewFpsRange ()方法来确定该fps
特定设备的可用范围。此方法将返回支持的最小和最大fps
速率。
现在在获得最大支持fps
速率后,您可以使用当前方法设置 fps 速率。
希望这会给您一些关于将 fps 设置为最大值的提示。