Cómo tomar UIImage de AVCaptureVideoPreviewLayer en lugar de AVCapturePhotoOutput capture

Quiero "transmitir" la capa de vista previa a mi servidor, sin embargo, solo quiero que se envíen marcos específicos. Básicamente, quiero tomar una instantánea de AVCaptureVideoPreviewLayer, reducirlo a 28 * 28, convertirlo en una matriz de intensidad y enviarlo a mi capa de socket donde mi servidor Python maneja el resto.

El problema aquí es que la función de captura de AVCapturePhotoOutput es increíblemente lenta. No puedo llamar repetidamente a la función. Sin mencionar que siempre hace sonar un obturador de cámara jaja.

El otro problema es que tomar una instantánea de AVCaptureVideoPreviewLayer es realmente difícil. El uso de UIGraphicsBeginImageContext casi siempre devuelve una imagen en blanco / clara.

Ayuda a un hermano, gracias!

Respuestas a la pregunta(2)

Su respuesta a la pregunta