Estoy buscando una manera de guardar la información de profundidad (para cada cuadro) en un archivo mientras grabo un video con la cámara TrueDepth. He encontrado soluciones para guardar los datos de profundidad mientras tomo fotos, pero no con video.
Actualmente tengo un código para grabar video y guardarlo en un archivo y capturar los datos de profundidad simultáneamente. Sin embargo, no sé cómo guardar los datos de profundidad. Básicamente uso AVCaptureSession y AVCaptureMovieFileOutput para guardar el video grabado. Descubrí que los datos de profundidad los proporciona AVCaptureDepthDataOutput, pero ¿cómo puedo guardarlos en un archivo?
Las partes principales del código:
let captureSession = AVCaptureSession() let sessionOutput = AVCapturePhotoOutput() let movieOutput = AVCaptureMovieFileOutput() let depthDataOutput = AVCaptureDepthDataOutput() if let device = AVCaptureDevice.default(.builtInTrueDepthCamera, for: .video, position: .front) { let input = try AVCaptureDeviceInput(device: device ) if captureSession.canAddInput(input){ captureSession.sessionPreset = AVCaptureSession.Preset.photo captureSession.addInput(input) if captureSession.canAddOutput(sessionOutput){ captureSession.addOutput(sessionOutput) // Code for adding previewing the video } } if captureSession.canAddOutput(depthDataOutput){ captureSession.addOutput(depthDataOutput) } if let connection = depthDataOutput.connection(with: .depthData) { connection.isEnabled = true depthDataOutput.isFilteringEnabled = false print("Depth data working") } else { print("No AVCaptureConnection") } // Capture the video to a file captureSession.addOutput(movieOutput) captureSession.startRunning() // ... // How to store the depth data from AVCaptureDepthDataOutput ? }¿Algunas ideas?