HMS Core 视频编辑服务开放模板能力,助力用户一键Get同款酷炫视频

前言

短视频模板是一种快速创建短视频的方法。它们通常由专业设计师或模板创建者制作。用户只需更换视频模板中的部分素材,即可生成与模板一样的创意视频。这种省时省力的“套模”视频创作方式,无需“烧脑”构思创意,深受用户欢迎。

应用场景

短视频模板广泛应用于短视频应用、视频剪辑工具、拍摄美化工具、旅游、电商、新闻等垂直领域。例如:

在视频剪辑工具和拍摄美化工具的垂直领域,短视频模板功能可以降低视频剪辑的门槛,激发用户创作,进而提高应用的用户活跃度;

在In 应用中,用户可以使用“模板集”,用视频记录旅途中的风水和风土人情;

在电商应用中,商家可以通过应用产品展示模板视频快速创建产品展示;

在新闻信息应用中,用户可以应用新闻模板,快速发布新闻信息。

华为HMS核心视频剪辑服务模板能力

HMS核心视频剪辑服务近期开放了模板功能,并针对不同场景预设了一些视频模板供开发者测试使用。模板的种类和数量将逐步丰富。

访问简单,省时省力

HMS Core视频编辑服务提供详细的开发接口、接口说明及接入步骤,代码简洁明了,开发省时省力。

云端管理,高效运营

HMS Core视频剪辑服务为开发者提供AGC后台排料的后台,运营商可以在web端完成模板栏目排列和标签管理、国家/地区设置、模板内容上下架、快速检索查询信息等

集成代码1.开发准备

详细准备步骤请参考华为开发者联盟官网

2.编辑项目集成

2.1 设置应用认证信息

可以通过或Token设置应用认证信息。

Token通过方法设置,应用启动时初始化一次即可,无需多次设置。

MediaApplication.getInstance().setAccessToken("your access token");

可以通过方法设置,应用启动时初始化设置一次即可,无需多次设置。

MediaApplication.getInstance().setApiKey("your ApiKey");

图片[1]-HMS Core 视频编辑服务开放模板能力,助力用户一键Get同款酷炫视频-唐朝资源网

2.2 设置唯一标识ID,即ID。

ID是有效的管控证书,必须保证设置ID的唯一性。

MediaApplication.getInstance().setLicenseId("License ID");

2.2.1初始化运行环境

要创建编辑项目,首先需要创建一个对象并初始化它的运行环境。离开编辑项目时,应该释放实例。

(1)创建对象

HuaweiVideoEditor editor = HuaweiVideoEditor.create(getApplicationContext());

(2)指定预览窗口的布局位置

预览窗口负责视频图像的渲染,由视频编辑原子能力SDK内部创建实现。在创建窗口之前,您需要在应用中指定预览窗口的布局位置。


// 指定预览窗口 
LinearLayout mSdkPreviewContainer = view.findViewById(R.id.video_content_layout);
// 设置预览窗口承载的布局 
editor.setDisplay(mSdkPreviewContainer);

(3)初始化运行环境,如果认证失败,会抛出。

对象创建后,此时并不占用实际系统资源,需要手动选择其环境初始化的时机。此时,视频编辑原子能力SDK内部会创建必要的线程和定时器。

try {
        editor.initEnvironment();
   } catch (LicenseException error) { 
        SmartLog.e(TAG, "initEnvironment failed: " + error.getErrorMsg());    
        finish();
        return;
   }

3.模板能力整合

// 获取模板栏目列表
final HVEColumnInfo[] column = new HVEColumnInfo[1];
HVETemplateManager.getInstance().getColumnInfos(new HVETemplateManager.HVETemplateColumnsCallback() {
        @Override
        public void onSuccess(List result) {
           // 获取模板栏目列表成功
           column[0] = result.get(0);
        }
        @Override
        public void onFail(int error) {
           // 获取模板栏目列表失败

        }
});
// 获取模板详情
final String[] templateIds = new String[1];
// size为需要请求数据的数量 > 0,offset为需要请求数据的偏移量 ≥ 0,true代表强制获取网络数据
HVETemplateManager.getInstance().getTemplateInfos(column[0].getColumnId(), size, offset, true, new HVETemplateManager.HVETemplateInfosCallback() {
        @Override
        public void onSuccess(List result, boolean hasMore) {
           // 获取模板详情成功
           HVETemplateInfo templateInfo = result.get(0);
           // 获取模板ID
           templateIds[0] = templateInfo.getId();
        }
        @Override
        public void onFail(int errorCode) {
           // 获取模板详情失败
        }
});
// 待获取模板详情成功后,获取模板ID
String templateId = templateIds[0];

图片[2]-HMS Core 视频编辑服务开放模板能力,助力用户一键Get同款酷炫视频-唐朝资源网

// 获取模板工程 final List[] editableElementList = new ArrayList[1];; HVETemplateManager.getInstance().getTemplateProject(templateId, new HVETemplateManager.HVETemplateProjectCallback() { @Override public void onSuccess(List editableElements) { // 获取成功后跳转到选择资源界面,把选中的本地资源路径更新到editableElements editableElementList[0] = editableElements; } @Override public void onProgress(int progress) { // 获取进度 } @Override public void onFail(int errorCode) { // 获取失败 } }); // 准备模板工程 HVETemplateManager.getInstance().prepareTemplateProject(templateId, new HVETemplateManager.HVETemplateProjectPrepareCallback() { @Override public void onSuccess() { // 准备模板工程成功,可以生成HuaweiVideoEditor实例进行播放、预览、导出等操作 } @Override public void onProgress(int progress) { // 准备进度 } @Override public void onFail(int errorCode) { // 准备失败 } }); // 在模板准备成功后,生成HuaweiVideoEditor实例 // 拥有editor之后就可以进行播放或者导出操作,详情见播放时间线和导出 HuaweiVideoEditor editor = HuaweiVideoEditor.create(templateId, editableElementList[0]); try { editor.initEnvironment(); } catch (LicenseException e) { SmartLog.e(TAG, "editor initEnvironment ERROR."); }

演示

© 版权声明
THE END
喜欢就支持一下吧
点赞150赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容