【发布时间】:2018-03-02 20:39:12
【问题描述】:
我使用AVAssetWriter 和CMSampleBuffer 数据(来自视频、音频输入)录制视频(.mp4 文件)。
在录制时我想处理帧,我将CMSampleBuffer 转换为CIImage 并进行处理。
但是如何使用来自CIImage 的新处理图像缓冲区更新CMSampleBuffer?
func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection) {
if output == videoOutput {
let imageBuffer: CVPixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer)!
let ciimage: CIImage = CIImage(cvPixelBuffer: imageBuffer)
... // my code to process CIImage (for example add augmented reality)
// but how to convert it back to CMSampleBuffer?
// because AVAssetWriterInput to encode video/audio in file needs CMSampleBuffer
...
}
...
}
【问题讨论】:
标签: ios swift core-image video-recording