OStack程序员社区-中国程序员成长平台

标题: ios - iPhone 6 上的 AVCaptureSessionPresetLow [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 04:03
标题: ios - iPhone 6 上的 AVCaptureSessionPresetLow

我是 AVCaptureSession 的 n00b。我正在使用 OpenTok 来实现视频聊天。我想保留带宽,并且 UI 的设计使视频 View 目前只有 100 x 100。

这是 OpenTok 示例中设置预设的部分代码:

- (void) setCaptureSessionPresetNSString*)preset {
AVCaptureSession *session = [self captureSession];

if ([session canSetSessionPreset:preset] &&
    ![preset isEqualToString:session.sessionPreset]) {

    [_captureSession beginConfiguration];
    _captureSession.sessionPreset = preset;
    _capturePreset = preset;

    [_videoOutput setVideoSettings:
     [NSDictionary dictionaryWithObjectsAndKeys:
      [NSNumber numberWithInt:
       kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange],
      kCVPixelBufferPixelFormatTypeKey,
      nil]];

    [_captureSession commitConfiguration];
}

}

当我传入 AVCaptureSessionPresetLow(在 iPhone 6 上)时,我得到 NO。有什么方法可以设置 AVCaptureSession 以便我只能捕获帧尽可能接近 100 x 100 的视频?

另外,这是尝试节省带宽的正确策略吗?



Best Answer-推荐答案


您不能将相机强制设置为它不支持的分辨率。 较低分辨率的帧大小将导致较低的网络流量。 降低 FPS 是另一种方式。

View 大小不必映射到分辨率。您始终可以在任何尺寸的 View 中放置框架。

查看 OpenTok SDK 中的 Let-Build-OTPublisher 应用程序,更具体地说是 TBExampleVideoCapture.m 文件,了解如何处理分辨率和 FPS。

关于ios - iPhone 6 上的 AVCaptureSessionPresetLow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27558909/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4