如何在mac上使用AVFoundation和AVCaptureVideoDataOutput时使用自定义视频分辨率

ste*_*e3d 6 size frame capture avfoundation

我需要处理捕获的视频帧的每一帧,虽然AVCaptureDevice.formats提供了如此多的不同尺寸的帧大小,但似乎AVCaptureSession只支持预设中定义的帧大小.

我也尝试在AVCaptureDevice.activeFormat之前AVCaptureInputDevice或之后设置,无论我设置什么设置,如果我AVCaptureSessionPresetHigh进入AVCaptureSession,它总是给我一个1280x720的帧.类似,如果我设置AVCaptureSessionPreset640x480,那么我只能获得640x480的帧大小.

那么,如何设置800x600的自定义视频帧尺寸?在Windows下使用Media Foundation或在linux下使用V4L2,可以在捕获时轻松设置任何自定义帧大小.

似乎不可能在mac下执行此操作.

tej*_*004 0

使用 AVCapturwVideoDataOutput 的 videoSettings 属性来描述字典中的像素格式、宽度和高度。