短视频 SDK iOS(抽帧)

通过抽帧接口来实现获取原始视频帧和编辑中的渲染帧,一般用于实现封面和时间线预览条。

相关产品
短视频 SDK 产品页,含版本规格、价格与购买入口。

一、相关接口类

接口类名 描述
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 *)videoPath count:(int)count size:(CGSize)size timeRange:(CMTimeRange)timeRange completion:(void (^)(NSArray<UIImage *> *images, NSError *error))thumbCompletion;/// 获取pts对应的缩略图 – 异步/// – Parameters:/// – videoPath: 视频资源路径/// – pts: 时间/// – size: 缩略图宽高/// – thumbCompletion: 回调返回对应缩略图数组/// – return: Generateor 对象,可传入cancelGenerate:取消生成- (id)getThumbnail:(NSString *)videoPath pts:(CMTime)pts size:(CGSize)size completion:(void (^)(UIImage *image, NSError *error))thumbCompletion;/// 获取pts对应的缩略图 – 同步/// – Parameters:/// – videoPath: 视频资源路径/// – pts: 时间/// – size: 缩略图宽高- (UIImage *)getThumbnail:(NSString *)videoPath pts:(CMTime)pts size:(CGSize)size;

五、异步接口取消生成缩略图

/// 取消生成缩略图/// – Parameter generator:generator对象- (void)cancelGenerate:(id)generator;

赞 (0)
上一篇 4天前
下一篇 4天前