之前使用GPUImage叠加本地视频,有很多坑,所以换了个思路,使用AVMutableVideoCompositionLayerInstruction来做,也研究了一段时间,发现这个对象只能对视频做旋转,偏移,透明度。
后来使用customVideoCompositorClass,这种方式能够对每一片视频流做操作,所以我认为相比GPUImage扩展性更强,视频编辑的所有功能我认为都能以此来进行扩展。准备加深研究。
customVideoCompositorClass能够自定义合成器,需要遵循AVVideoCompositing协议,
在这个协议中有:
这个方法能够获取读取视频源中的CVPixelBufferRef,在获取后对它做处理,最后输出。
- (void)startVideoCompositionRequest:(AVAsynchronousVideoCompositionRequest *)request
最终的做出的效果图:
Untitled.gif
网友评论