本文为您介绍iOS端短视频SDK导出视频的方法。

版本支持

版本 是否支持
专业版 支持
标准版 支持
基础版 支持

相关类功能

名称 功能
AliyunIExporter 导出协议,用于获取导出控制器,配置导出参数,开始导出视频。
AliyunIExporterCallback 导出状态回调协议,用于设置导出完成、导出进度、导出失败等回调。
AliyunVideoParam 视频参数设置类,设置导出视频的编码类型、帧率等参数。

导出控制

初始化AliyunIExporter类,获取导出控制器,配置导出参数,开始导出视频。

接口参数请参考AliyunIExporterAliyunVideoParam

// 获取导出控制器
id<AliyunIExporter> exporter = [editor getExporter];

// 设置导出参数
AliyunVideoParam *param = [[AliyunVideoParam alloc] init];
param.fps = 60;
param.gop = 250;
param.videoQuality = AliyunVideoQualityHight;
// ... 其他更多导出属性请参考接口文档
[exporter setVideoParam:param];

// 设置输出视频水印
AliyunEffectImage *watermark = [[AliyunEffectImage alloc] initWithFile:watermarkPath];
watermarkPath.frame = CGRectMake(10, 10, 50, 50);
// .. 其他更多属性请参考接口文档
[exporter setWaterMark:watermark];

// 设置片尾水印
AliyunEffectImage *tailWatermark = [[AliyunEffectImage alloc] initWithFile:watermarkPath];
tailWatermark.frame = CGRectMake(10, 10, 50, 50);
tailWatermark.endTime = 2;
// .. 其他更多属性请参考接口文档
[exporter setTailWaterMark:tailWatermark];

// 开始导出
[exporter startExport:outputPath];

// 暂停导出
[exporter pauseExport];

// 恢复继续导出
[exporter resumeExport]

// 取消导出
[exporter cancelExport];

设置回调

通过设置回调,及时获取视频导出的进展和状态。接口参数请参考AliyunIExporterCallback

// 设置导出状态回调
editor.exporterCallback = self;

// 状态协议: AliyunIExporterCallback
- (void)exporterDidEnd:(NSString *)outputPath {
    // 导出结束回调
}

- (void)exporterDidCancel {
    // 导出取消回调
}

- (void)exportProgress:(float)progress {
    // 导出进度回调
}

- (void)exportError:(int)errorCode {
    // 导出错误回调
}