GPUImage处理画面原理
- GPUImage采用链式方式来处理画面,通过addTarget:方法为链条添加每个环节的对象,处理完一个target后,就会把上一个环节处理的图像数据传递给下一个target处理,成为GPUImage的处理链。
一般target分为两类:1、中间环节的target,一般用于处理各种fillter,为GPUImageFillter或者其子类。2、最终环节的target,一般为GPUImageView或者写成视频文件GPUImageMovieWriter。
- GPUImage处理主要分为3个环节:source(视频、图片源) ---> filter(滤镜) ---> final target(处理后的视频、图片)
20170301000336754.png1、GPUImage的source:都继承GPUImageOutput的子类,作为GPUImage的数据源,就好比外界的光线,作为眼睛的输出源。
GPUImageVideoCamera:用于实时拍摄视频;
GPUImageStillCamera:用于实时拍摄图片;
GPUImagePicture:用于处理意见拍摄好的图片;
GPUImageMovie:用于处理好已经拍摄好的视频;
2、GPUImage的filter:GPUImageFilter类或者子类,这个类继承自GPUImageOutput,并且遵守GPUImageInput协议,这样既能流进,又能流出,就好比我们的墨镜,光线通过墨镜的处理,最终进入我们的眼睛。
3、GPUImage的final target:GPUImageView(展示一张图片的imageview)、GPUImageMovieWriter(写入沙盒的视频文件)
网友评论