gpt4 book ai didi

ios - 在使用 AVCaptureMovieFileOutput 保存之前修改 AVCaptureSession

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:23:44 25 4
gpt4 key购买 nike

用例:我想捕捉来自相机的输入,在捕捉的帧(和声音)之上绘制并将结果保存为 .mov 文件。

  • 我看到我可以使用 AVCaptureSession 捕获相机的输入。
  • 我可以使用 AVCaptureMovieFileOutput 将其保存到 .mov 文件。
  • AVVideoComposition 可用于添加用于播放的核心动画。我也想以某种方式进行录音?

问题:在将输入保存到文件之前,我看不到如何修改它。

最佳答案

RosyWriter几乎是在做我想做的事。将以下代码添加到 captureOutput:didOutputSampleBuffer:fromConnection: 使我能够使用 Quartz 在框架上绘制。

    CVImageBufferRef pixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer);

CVPixelBufferLockBaseAddress(pixelBuffer, 0);
void *pxdata = CVPixelBufferGetBaseAddress(pixelBuffer);
NSParameterAssert(pxdata != NULL);

CGSize frameSize = CGSizeMake(self.videoDimensions.width, self.videoDimensions.height);

CGColorSpaceRef rgbColorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(pxdata, frameSize.width,
frameSize.height, 8, 4*frameSize.width, rgbColorSpace,
kCGImageAlphaNoneSkipFirst);

CGContextMoveToPoint(context, 100, 100);
CGContextAddLineToPoint(context, 200, 200);
CGContextDrawPath(context, kCGPathStroke);

CGColorSpaceRelease(rgbColorSpace);
CGContextRelease(context);

关于ios - 在使用 AVCaptureMovieFileOutput 保存之前修改 AVCaptureSession,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11159819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com