macos - MAC OS X : Set external USB camera resolution with AVCaptureSession's sessionPreset doesn't work

标签 macos avfoundation avcapturesession

我正在尝试使用以下方法为捕获 session 设置相机的分辨率:

[session setSessionPreset:AVCaptureSessionPresetLow];  // or any others resolutions

它似乎没有任何区别。它始终使用相机可以提供的最高分辨率。这是一款符合 UVC 标准的 USB 摄像头,并非由 Apple 制造。

问题:setSessionPreset 可以应用于外置USB 非苹果相机吗?或者我的问题是别的什么?

编辑:
我也试过这个测试:
if ([session canSetSessionPreset:AVCaptureSessionPresetLow])
{
    NSLog(@"can presetlow");    // this part got called.
    [session beginConfiguration];
    session.sessionPreset = AVCaptureSessionPresetLow;
    [session commitConfiguration];
}
else
{
    NSLog(@"no, can't presetlow");
}

赏金问题:在这种情况下如何设置相机分辨率?

最佳答案

可能无法实现,具体取决于相机。 UVC 兼容并不意味着支持所有功能。

http://www.mac-compatible-web-cam.com/?ID=McRmr2

根据您的应用程序,解决方法可能是获取高分辨率图像并将其转换为代码中的较低分辨率。

关于macos - MAC OS X : Set external USB camera resolution with AVCaptureSession's sessionPreset doesn't work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12717891/

相关文章:

iphone - 音频将使 AVCaptureSession 终止

macos - 上传注释到文件元数据 "Get Info"Mac 命令行

swift - SecTransform 的缓冲输入

ios - 如何从 AVCaptureSession captureStillImageAsynchronouslyFromConnection 中删除屏幕 "flash"效果

objective-c - AVPlayer seekToTime 不适用于寻回

ios - HTTP Live Streaming 的 AVPlayer 速率属性

ios - 如何停止 collectionView 单元格中的相机延迟?

python - 通过 python 脚本启动开膛手约翰

python os 模块无法将 ~ 识别为用户主目录的快捷方式

linux - OSX 和 LINUX 上的 POSIX 线程之间的区别?