gpt4 book ai didi

ios - 在 iPhone X 上的 ARKit ARSession 期间从前置摄像头录制视频

转载 作者:行者123 更新时间:2023-11-28 11:56:28 24 4
gpt4 key购买 nike

我正在使用 ARSession 结合 ARFaceTrackingConfiguration 来跟踪我的脸。同时,我想从我的 iPhone X 的前置摄像头录制一段视频。为此,我正在使用 AVCaptureSession 但是一旦我开始录制,ARSession 被打断。

这是两段代码:

// Face tracking
let configuration = ARFaceTrackingConfiguration()
configuration.isLightEstimationEnabled = false
let session = ARSession()
session.run(configuration, options: [.removeExistingAnchors, .resetTracking])

// Video recording
let camera = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .front)!
input = try! AVCaptureDeviceInput(device: camera)
session.addInput(input)
session.addOutput(output)

有人知道如何同时做这两件事吗? Snapchat 等应用程序允许用户同时记录和使用真实深度传感器,所以我想我的要求是完全可行的。谢谢!

最佳答案

ARKit 运行它自己的 AVCaptureSession,并且一次只能运行一个捕获 session ——如果你运行一个捕获 session ,你会抢占 ARKit 的 session ,这会阻止 ARKit 工作。

但是,ARKit 确实提供了对其从捕获 session 接收的相机像素缓冲区的访问,因此您可以通过将这些样本缓冲区提供给 AVAssetWriter 来录制视频。 (这基本上与您从 AVCaptureVideoDataOutput 录制视频时使用的工作流程相同...与 AVCaptureMovieFileOutput 相比,这是一种较低级别的视频录制方式。)

您还可以将 ARKit 相机像素缓冲区(参见 ARFrame.capturedImage)提供给其他使用实时相机图像的技术,例如 Vision 框架。 Apple 有一个 sample code project演示这种用法。

关于ios - 在 iPhone X 上的 ARKit ARSession 期间从前置摄像头录制视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50880868/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com