0

我一直在查看 GPUImage,但在显示和录制视频时无法弄清楚如何在视频顶部叠加一系列 png 或 jpg 图像。我想要在视频顶部叠加(或实际相乘)的序列中大约有 150 张照片。似乎我应该能够在两个图像叠加或乘法过滤器中每隔 1/24 秒将纹理从一帧换到下一帧。我不确定这是否会起作用?

在一个相关问题中,如果我根据两个输入混合过滤器制作自定义过滤器,在实例化过滤器并开始相机捕获后,是否有任何方法可以从 UIImage更改第二个纹理?

4

1 回答 1

0

实际上,我确实设法让它工作,尽管不是以我最初打算的方式,但它也能正常工作。我必须做的是使用 GPUImageMovie 对象。

所以代码看起来像:

filter10 = [[GPUImageAddBlendFilter alloc] init];

[filter10 forceProcessingAtSize:_imageView7.sizeInPixels];

NSURL *url = [[NSBundle mainBundle] URLForResource:@"sample_film" withExtension:@"mov"];

_imageMovie = [[GPUImageMovie alloc] initWithURL:url];

_imageMovie.playAtActualSpeed = true;

_imageMovie.delegate = self;

[_imageMovie addTarget:filter10];

[_imageMovie startProcessing];

[filter10 addTarget:_imageView7];

[_videoCamera startCameraCapture];

多亏了 Brad Larson 的 GPUImage,我终于能够制作出我想要制作的具有足够性能的视频应用程序,而不必依赖 CIFilter,它没有我需要的一切。我需要为一件事编写一些自定义过滤器。

于 2013-04-07T18:06:22.737 回答