and*_*lin 1 objective-c ios 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];
Run Code Online (Sandbox Code Playgroud)
这是解决方案,如果有人遇到同样的问题:你必须保留GPUImagePicture,GPUImageMovie和GPUImageView对象,例如将它们存储在属性中.否则,它们将在方法结束时或在runloop下在ARC下释放.
| 归档时间: |
|
| 查看次数: |
4874 次 |
| 最近记录: |