我正在做一个项目,最近切换到 objective c 一小段时间。使用 qtkit 从相机捕获视频时,我在 mac osx 中遇到了一些问题。我目前正在使用“setPixelBufferAttributes”来设置捕获视频的不同属性。问题是:
如果摄像头不支持 640 X 360 分辨率并且我使用“setPixelBufferAttributes”对其进行设置,那么还会捕获视频并在内部转换为我不需要的 640 X 360。所以我不想自动转换分辨率。
我想要相机硬件直接支持的所有支持的分辨率。
如果还有其他 API,请指导我...
最佳答案
此代码将从 QTCaptureDevice
枚举视频源的大小:
[captureDevice.formatDescriptions enumerateObjectsUsingBlock:^(QTFormatDescription* formatDescription, NSUInteger idx, BOOL* stop) {
NSDictionary* attributes = [formatDescription formatDescriptionAttributes];
NSValue* videoEncodedPixelsSize = [attributes objectForKey:@"videoEncodedPixelsSize"];
NSSize videoSize = [videoEncodedPixelsSize sizeValue];
NSLog(@"%@", NSStringFromSize(videoSize));
}];
关于c++ - 我怎么知道相机是否支持 mac os x 中的分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13741277/