短视频SDK支持基于AE模板剪同款的功能,即通过导入AE制作的模板,通过替换模板中的视频、图片、文字等元素,实时编辑与预览,最后导出生成新的同款视频。

版本支持

版本 是否支持
专业版 支持
说明 短视频SDK 3.35.0及以上版本才支持基于AE模板剪同款的功能。
标准版 不支持
基础版 不支持

相关类功能

类名 功能
AliyunAEITemplate 模板。
AliyunAETemplateCreator 模板工厂类。
AliyunAETemplateIEditor 模板编辑器和导出器。
AliyunAETemplateManager 模板管理器。
AliyunAETemplateIPlayer 模板预览播放器。
AliyunTemplateRenderListener 模板渲染导出监听。

使用限制

  • 仅3.35.0及以上版本的短视频SDK专业版支持基于AE模板剪同款的功能。
  • 已购买并申请开通了剪同款模块,购买方式,请参见获取License

制作AE模板

创作用于剪同款的AE模板,请参见高级模板设计师手册

编辑模板

代码中需要使用的参数详情,请参考接口文档。接口链接请参见相关类功能

import com.aliyun.svideosdk.template.AliyunAETemplateIEditor;
import com.aliyun.svideosdk.template.AliyunAEITemplate;
import com.aliyun.svideosdk.template.view.AliyunAETemplatePlayView;

AliyunAETemplateIEditor playView;

//模板预览播放view
playView = findViewById(R.id.xxxx);
//设置预览播放回调
playView.setPlayCallback(xxx);

//模板资源本地路径
String templateFolder = "xxx";
AliyunAEITemplate template = AliyunAETemplateCreator.createTemplate(this, templateFolder);
//创建编辑器
AliyunAETemplateIEditor editor = AliyunAETemplateCreator.createTemplateEditor(this);
//设置模板背景音乐
editor.replaceAudio("local path to the music");
//设置当前编辑模板
editor.setTemplate(template);
...
//修改template包含的资源
...
//提交模板更改
editor.commit();

实时预览

代码中需要使用的参数详情,请参考接口文档。接口链接请参见相关类功能

import com.aliyun.svideosdk.template.AliyunAETemplateIPlayer;

AliyunAETemplateIPlayer player = editor.getPreviewPlayer();
//预览播放
player.start();
//预览暂停
player.pause();
//停止播放
player.stop();

渲染导出

代码中需要使用的参数详情,请参考接口文档。接口链接请参见相关类功能

import com.aliyun.svideosdk.template.AliyunTemplateRenderListener;

//渲染导出前,请提交所有的修改
editor.commit();

editor.setOutputPath("xxxx");
//开始渲染导出
editor.startRender(new AliyunTemplateRenderListener() {
    @Override
    public void onStart() {
        Log.d(TAG, "onStart");
    }

    @Override
    public void onCancel() {
        Log.d(TAG, "onCancel");
    }

    @Override
    public void onProgress(int progress) {
        Log.d(TAG, "onProgress " + progress);
    }

    @Override
    public void onSuccess() {
        Log.d(TAG, "onSuccess");
    }

    @Override
    public void onError(String msg) {
        Log.d(TAG, "onError>>> " + msg);
    }
});
//取消渲染导出
editor.cancelRender();