Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如果以240fps的速度录制,AVFoundation视频录制不会返回相机内部信息_Objective C_Video_Avfoundation_Camera Calibration - Fatal编程技术网

Objective c 如果以240fps的速度录制,AVFoundation视频录制不会返回相机内部信息

Objective c 如果以240fps的速度录制,AVFoundation视频录制不会返回相机内部信息,objective-c,video,avfoundation,camera-calibration,Objective C,Video,Avfoundation,Camera Calibration,我正在使用AVCaptureVideoDataOutputSampleBufferDelegate captureOutput:didOutputSampleBuffer:fromConnection:delegate方法捕获视频缓冲区,然后使用AVAssetWriter将其写入文件。配置录制会话时,我正在检查是否支持摄像头内部接口交付,并启用此功能以从缓冲区拾取内部接口: if (@available(iOS 11.0, *)) { if (self.connectio

我正在使用
AVCaptureVideoDataOutputSampleBufferDelegate captureOutput:didOutputSampleBuffer:fromConnection:
delegate方法捕获视频缓冲区,然后使用
AVAssetWriter
将其写入文件。配置录制会话时,我正在检查是否支持摄像头内部接口交付,并启用此功能以从缓冲区拾取内部接口:

    if (@available(iOS 11.0, *)) {
        if (self.connection.isCameraIntrinsicMatrixDeliverySupported) {
            self.connection.cameraIntrinsicMatrixDeliveryEnabled = YES;
        }
    }
captureOutput:didOutputSampleBuffer:fromConnection:
中,我使用以下方法获取内部函数:

CFTypeRef cameraIntrinsicData = CMGetAttachment(sampleBuffer, kCMSampleBufferAttachmentKey_CameraIntrinsicMatrix, nil);
所有的工作都很好,我可以提取我想要的内在值-当以60fps或120fps录制时

当相机格式更改为设置适当的720p(之前在初始设备检测和配置期间检测并保存-我尝试了420f或420v格式-没有区别)格式和帧速率设置为240 fps时,没有可用的内部参数-或者,在本质矩阵中传递非常低且有效的零值

检查
captureOutput:didOutputSampleBuffer:fromConnection:
中的
self.connection.isCameraInSicMatrixDeliverySupported
的值以60 fps或120 fps的速度返回
YES
,但以240 fps的速度返回
NO
。在较高的帧速率下,它似乎不再返回

有人知道这是为什么吗?或者有人建议在所有帧速率下一致地检索内部函数吗

提前感谢您的帮助