到目前为止,我可以使用AVAssetWriter
录制视频并将其保存到相机胶卷中,而且我正在使用AVCaptureVideoDataOutput
和AVCaptureAudioDataOutput
类使用委托来获取样本缓冲区方法。
func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection)
通过这种方法,我正在使用CMSampleBuffer
创建CIImage
并通过创建VNDetectFaceLandmarksRequest
在其上实现愿景。
我从中得到了地标,并借助它转换了点,并使用这些点试图将CALAyer
放在previewLayer
上。所有这些都是在编写视频时发生的。
问题:如果由于繁重的工作而在编写视频时使用视觉,则最终的视频没有我添加的在录制时显示的图层和视频丢失的帧。
放置instagram,音乐和手套等口罩的更好方法是什么?