ios - 使用 GPUImage 将图像添加到视频

标签 ios objective-c gpuimage

我尝试使用 GPUImage 库将图像添加到视频的每一帧,但无法使其工作。由于某种原因,处理后的视频仅包含原始视频,没有图像叠加。我做错了什么?

GPUImagePicture *overlay = [[GPUImagePicture alloc] initWithImage:[UIImage imageNamed:@"overlayimage"] smoothlyScaleOutput:YES];
[overlay processImage];

GPUImageMovie *movie = [[GPUImageMovie alloc] initWithURL:[THE URL TO THE VIDEO ASSET]];
movie.delegate = self;
movie.runBenchmark = YES;
movie.playAtActualSpeed = YES;

self.movieView = [[GPUImageView alloc] initWithFrame:self.bounds];
self.movieView.fillMode = kGPUImageFillModePreserveAspectRatio;
[self addSubview:self.movieView];

GPUImageAlphaBlendFilter *filter = [[GPUImageAlphaBlendFilter alloc] init];
[movie addTarget:filter atTextureLocation:0];
[overlay addTarget:filter atTextureLocation:1];
[filter prepareForImageCapture];

[filter addTarget:self.movieView];

[movie startProcessing];

最佳答案

如果有人遇到同样的问题,这里是解决方案:您必须保留 GPUImagePicture、GPUImageMovie 和 GPUImageView 对象,例如将它们存储在属性中。否则它们将在方法或运行循环结束时在 ARC 下释放。

关于ios - 使用 GPUImage 将图像添加到视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19397259/

相关文章:

android - 我们可以为 Android 和 iOS 应用程序使用 Square Checkout 流程吗?

ios - 在 UICollectionView 中隐藏搜索栏

ios - 使用 GPUImage 将两个视频与色度键混合

ios - 将过滤器应用于 UIScrollView GPUImage 中的当前图像索引

ios - 如何在 GPUImage 中立即停止解码?

javascript - 小部件 iOS 14 使用 swift ui 创建具有 native react 的 ui

ios - 将 uilabel 和 uiimageview 保存为 uiimage

ios - 在哪里放置 UITableViewCell 逻辑?

ios - 让粒子系统遵循SceneKit中的节点路径

ios - cmd 行测试因 SSL 证书错误而失败