功能概览
通过抽帧接口来实现获取原始视频帧和编辑中的渲染帧,一般用于实现封面和时间线预览条。
相关接口类
接口类名 | 描述 |
TAVEditor | SDK 操作入口类。 |
ITAVFrameProvider | 帧提供器接口。 |
核心方法
根据主轨道下标获取主轨道缩略图(异步)
/// 根据主轨道下标获取缩略图 - 异步/// - Parameters:/// - clipIndex: 资源文件下标/// - count: 数量/// - size: 缩略图宽高/// - thumbCompletion: 回调返回对应缩略图数组/// - return: Generateor 对象,可传入cancelGenerate:取消生成- (id)getClipThumbnail:(int)clipIndex count:(int)count size:(CGSize)size completion:(void (^)(NSArray *images))thumbCompletion;/// 根据主轨道下标获取pts对应的缩略图 - 异步/// - Parameters:/// - clipIndex: 资源文件索引/// - pts: 时间/// - size: 缩略图宽高/// - thumbCompletion: 回调返回对应缩略图/// - return: Generateor 对象,可传入cancelGenerate:取消生成- (id)getClipThumbnail:(int)clipIndex pts:(CMTime)pts size:(CGSize)size completion:(void (^)(UIImage *image))thumbCompletion;/// 根据主轨道下标获取pts对应的缩略图 - 同步/// - Parameters:/// - clipIndex: 资源文件索引/// - pts: 时间/// - size: 缩略图宽高/// @return 当前帧缩略图- (UIImage *)getClipThumbnail:(int)clipIndex pts:(CMTime)pts size:(CGSize)size;
获取主轨渲染结果帧
/// 获取主轨pts对应的渲染结果帧 - 异步/// @param pts 时间/// @param length 最长边的长度,SDK内部会根据长边大小计算短边的大小/// @param completion 回调/// - return: Generateor 对象,可传入cancelGenerate:取消生成- (id)getClipFrameAtTime:(CMTime)pts longSide:(CGFloat)length completion:(void (^)(UIImage *image))completion;- (id)getClipFrameWithTimes:(NSArray <NSValue *>*)times longSide:(CGFloat)length completion:(void (^)(NSDictionary <NSValue *, UIImage *> *images))completion;/// 获取主轨pts对应的渲染结果帧 - 同步/// @param pts 时间/// @param length 最长边的长度,SDK内部会根据长边大小计算短边的大小- (UIImage *)getClipFrameAtTime:(CMTime)pts longSide:(CGFloat)length;- (NSDictionary <NSValue *, UIImage *> *)getClipFrameWithTimes:(NSArray <NSValue *>*)times longSide:(CGFloat)length;
根据资源路径获取缩略图
/// 获取缩略图/// - Parameters:/// - videoPath: 视频资源路径/// - count: 数量/// - size: 缩略图宽高/// - timeRange: 视频时间抽帧范围,默认为整个视频时间范围/// - thumbCompletion: 回调返回对应缩略图数组/// - return: Generateor 对象,可传入cancelGenerate:取消生成- (id)getThumbnail:(NSString *)videoPathcount:(int)countsize:(CGSize)sizetimeRange:(CMTimeRange)timeRangecompletion:(void (^)(NSArray<UIImage *> *images, NSError *error))thumbCompletion;/// 获取pts对应的缩略图 - 异步/// - Parameters:/// - videoPath: 视频资源路径/// - pts: 时间/// - size: 缩略图宽高/// - thumbCompletion: 回调返回对应缩略图数组/// - return: Generateor 对象,可传入cancelGenerate:取消生成- (id)getThumbnail:(NSString *)videoPathpts:(CMTime)ptssize:(CGSize)sizecompletion:(void (^)(UIImage *image, NSError *error))thumbCompletion;/// 获取pts对应的缩略图 - 同步/// - Parameters:/// - videoPath: 视频资源路径/// - pts: 时间/// - size: 缩略图宽高- (UIImage *)getThumbnail:(NSString *)videoPathpts:(CMTime)ptssize:(CGSize)size;
异步接口取消生成缩略图
/// 取消生成缩略图/// - Parameter generator:generator对象- (void)cancelGenerate:(id)generator;