Я использую AVFoundation и получаю образец буфера из AVCaptureVideoDataOutput
, я могу его записать непосредственно в videoWriter, используя:
- (void)writeBufferFrame:(CMSampleBufferRef)sampleBuffer {
CMTime lastSampleTime = CMSampleBufferGetPresentationTimeStamp(sampleBuffer);
if(self.videoWriter.status != AVAssetWriterStatusWriting)
{
[self.videoWriter startWriting];
[self.videoWriter startSessionAtSourceTime:lastSampleTime];
}
[self.videoWriterInput appendSampleBuffer:sampleBuffer];
}
Теперь я хочу обрезать и масштабировать изображение внутри CMSampleBufferRef, не конвертируя его в UIImage или CGImageRef, потому что это снижает производительность.