我需要处理捕获的视频帧的每一帧,虽然AVCaptureDevice.formats提供了这么多不同尺寸的帧大小,但似乎AVCaptureSession只支持预设中定义的那些帧大小。
我也尝试过设置AVCaptureDevice.activeFormat之前AVCaptureInputDevice或之后,无论我设置什么设置,如果我设置AVCaptureSessionPresetHigh,AVCaptureSession它总是给我一个1280x720的帧。类似的,如果我设置AVCaptureSessionPreset640x480,那么我只能得到 640x480 的帧大小。
那么,如何设置自定义视频帧大小,如 800x600?使用 windows 下的 Media Foundation 或 linux 下的 V4L2,可以在捕获时轻松设置任何自定义帧大小。
在mac下似乎无法做到这一点。