iOS 视频合成,拼接工具ZQVideoTool

ZQVideoTool对iOS视频合成和拼接进行了封装

Demo地址:https://github.com/qigge/VideoTool

工具方法

从视频中取出图片

/** 从视频中取出图片
 *@param video 视频
 *@param time 时间
 *@return UIImage 图片
 */
+ (UIImage *)getImageFromVideo:(AVAsset *)video time:(CMTime)time;

从图片中获取CVPixelBufferRef

/**
 从图片中获取CVPixelBufferRef

 @param image 图片
 @param size 大小
 @return CVPixelBufferRef
 */
+ (CVPixelBufferRef)pixelBufferFromCGImage:(CGImageRef)image size:(CGSize)size;

从若干图片中 制作成指定长度的视频

/** 从若干图片中 制作成指定长度的视频(默认fps为24)
 *@param models 图片,长度模型数组
 *@param size 视频大小
 *@param handler 完成后回调
 */
+ (void)makeVideoWithModels:(NSArray *)models size:(CGSize)size completionHandler:(void (^)(NSURL *filePath))handler;

拼接多个视频文件

/**
 拼接多个视频文件

 @param arr 视频文件数组
 @param handler 完成回调
 */
+ (void)compositeVideoWithVideos:(NSArray *)arr completionHandler:(void (^)(NSURL *filePath))handler;

知识点

[adaptor appendPixelBuffer:buffer withPresentationTime:presentTime];
上述方法中presentTime的理解可以参考这边文章视频合成中CMTime的理解,以及利用CMTime实现过渡效果

我的理解是在presentTime 这个时间点添加关键帧

你可能感兴趣的:(iOS 视频合成,拼接工具ZQVideoTool)