gpt4 book ai didi

ios - 有没有办法让 GPUImageView 输出现有的 CMSampleBuffer?

转载 作者:行者123 更新时间:2023-11-29 11:51:16 26 4
gpt4 key购买 nike

我想使用 GPUImageView 输出从 AVCaptureVideoDataOutputSampleBufferDelegate 接收到的 CMSampleBuffer。所以,基本上,我不希望 GPUImage 框架管理 AVCaptureSession 本身,我只希望它绘制我传递给它的内容。我仍然看不到任何明显和简单的方法来做到这一点。有可能吗?

最佳答案

以下是您可以快速简单地执行的操作:

1. 使用 GPUImageView 设置 GPUImage 以像往常一样输出帧。就像他们在示例中所做的那样。

  1. 深入了解 GPUImageVideoCamera 类。在那里添加一个代表。喜欢一个:

    @protocol GPUImageVideoCameraDelegate@可选

    • (void)videoCameraCaptureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection;@结束
  2. 转到 GPUImageVideoCamera.m,找到:- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection 方法。

  3. 在其中添加您的委托(delegate)调用。

如果( self 委托(delegate)){ [self.delegate videoCameraCaptureOutput:captureOutput didOutputSampleBuffer:sampleBuffer fromConnection:connection];

  1. 将您的 Controller /类/任何东西设置为委托(delegate),videoCamera.delegate = self;

  2. 在您的类中使用委托(delegate)方法,并使用 CMSampleBufferRef 做任何您想做的事。

确保您使用 CMSampleBufferRef“就地”工作,意思是 - 如果您希望避免使用相对较慢的 CPU 而不是较快的 GPU,请不要将其复制到 CPU 内存中。

从那里您可以将任何图像设置到 CMSampleBufferRef

关于ios - 有没有办法让 GPUImageView 输出现有的 CMSampleBuffer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41064087/

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