我想对视频实现模糊效果。 要播放视频,我使用MPMoviePlayerViewController。 但是,我不知道如何对电影实现模糊效果。 我试图在影片上方叠加模糊图像,因此实现模糊效果,但这是不可能的。 视频播放时,应该实时更改。我发现库实现了图像模糊效果,但是找不到库可以实时对视频应用模糊效果。我使用mp4文件来模糊效果。我试图使用GPUImage框架,但它并没有完全运行。 怎么能实现呢? 请帮我。 感谢。
答案 0 :(得分:1)
我相信Brad Larson的GPUImage是最好的方法。
以下是GPUImage的github页面的摘录
//Filtering live video
//To filter live video from an iOS device's camera, you can use code like the following:
GPUImageVideoCamera *videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];
videoCamera.outputImageOrientation = UIInterfaceOrientationPortrait;
GPUImageFilter *customFilter = [[GPUImageFilter alloc] initWithFragmentShaderFromFile:@"CustomShader"];
GPUImageView *filteredVideoView = [[GPUImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, viewWidth, viewHeight)];
// Add the view somewhere so it's visible
[videoCamera addTarget:customFilter];
[customFilter addTarget:filteredVideoView];
[videoCamera startCameraCapture];
由于GPUImage具有开源代码,您可以打开GPUImageVideoCamera
类并研究它执行视频数据实时过滤的部分。然后使用Apple的CoreVideo
框架来获取正在播放的电影视频的视频数据,并使该GPUImage部分适用于它。
有时,锅炉铭牌代码不可用,但总有一条出路......祝你好运。 :)