现如今,视频是用户记录生活最热门的方式,各种App在发布视频界面都提供了视频简单剪辑的功能。除了增加音乐、滤镜、贴纸这些基础功能以外,用户越来越追求镜头感,这往往需要通过专业的视频剪辑软件手动打上关键帧,进行放大、缩小、移动等操作才能实现,这增加了用户分享视频的门槛,不利于UGC内容的生产。

有没有可以把固定镜头视频自动生成随角色位移的动态追踪镜头视频的开放能力呢?

HMS Core视频编辑服务面向开发者提供了快速构建人物追踪的能力,让用户在编辑视频时自动锁定中心位,轻松生成具有主角镜头感的专业视频。

功能介绍

人物追踪支持对用户输入的视频中某个特定人物进行自动锁定,轻松生成特定人物的主角视频。比如旅游出行场景下,用户在景区拍摄的视频往往背景杂乱、人员众多,但在剪辑时使用人物追踪功能,用户就可以稳站“C位”,无惧纷杂。

效果展示

使用人物追踪前后对比

开发步骤

1. 开发准备

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

2. 编辑工程集成

2.1 设置应用的鉴权信息

可以通过api_key或者Access Token来设置应用鉴权信息。

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

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

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

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

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

License ID是进行管控的有效凭证,您要保证设置License ID的唯一性。

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

2.2.1 初始化Editor运行环境

创建编辑工程,需要首先创建Editor对象并初始化其运行环境。当离开编辑工程时,应释放Editor实例。

  1. 创建Editor对象
HuaweiVideoEditor editor = HuaweiVideoEditor.create(getApplicationContext());
  1. 指定预览窗口的布局位置

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

<LinearLayout
android:id="@+id/video_content_layout"
android:layout_width="0dp"
android:layout_height="0dp"
android:background="@color/video_edit_main_bg_color"
android:gravity="center"
android:orientation="vertical" />
// 指定预览窗口
LinearLayout mSdkPreviewContainer = view.findViewById(R.id.video_content_layout); // 设置预览窗口承载的布局
editor.setDisplay(mSdkPreviewContainer);
  1. 初始化运行环境,如果License鉴权失败,会抛出LicenseException。

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

try {
editor.initEnvironment();
} catch (LicenseException error) {
SmartLog.e(TAG, "initEnvironment failed: " + error.getErrorMsg());
finish();
return;
}
``` 2.2.2 添加视频、图片
创建一条视频泳道,然后往泳道上添加图片或者视频素材。图片和视频素材需要通过文件路径添加到泳道上。

// 获取时间线对象

HVETimeLine timeline = editor.getTimeLine();

// 创建视频泳道

HVEVideoLane videoLane = timeline.appendVideoLane();

// 在视频泳道的末尾,添加视频资源

HVEVideoAsset videoAsset = videoLane.appendVideoAsset("test.mp4");

// 在视频泳道的末尾,添加图片资源

HVEImageAsset imageAsset = videoLane.appendImageAsset("test.jpg");


#### 3. 人物追踪能力集成

// 初始化人物跟踪引擎

visibleAsset.initHumanTrackingEngine(new HVEAIInitialCallback() {

@Override

public void onProgress(int progress) {

// 初始化进度

}

    @Override
public void onSuccess() {
// 初始化成功
} @Override
public void onError(int errorCode, String errorMessage) {
// 初始化失败
}

});

// 通过坐标点选中指定的人物进行跟踪,返回人物的矩形轮廓坐标

List rects = visibleAsset.selectHumanTrackingPerson(bitmap, position2D);

// 开启人物跟踪特效

visibleAsset.addHumanTrackingEffect(new HVEAIProcessCallback() {

@Override

public void onProgress(int progress) {

// 处理进度

}

    @Override
public void onSuccess() {
// 处理成功
} @Override
public void onError(int errorCode, String errorMessage) {
// 处理失败
}

});

// 中断人物跟踪

visibleAsset.interruptHumanTracking();

// 移除人物跟踪特效

visibleAsset.removeHumanTrackingEffect();


**了解更多详情>>**
访问[视频编辑服务开发者联盟官网](https://developer.huawei.com/consumer/cn/hms/huawei-video-editor?ha_source=hms1) 获取[视频编辑服务开发指导文档](https://developer.huawei.com/consumer/cn/doc/development/Media-Guides/introduction-0000001101263902?ha_source=hms1) 访问[华为开发者联盟官网](http://developer.huawei.com/consumer/cn/hms?ha_source=hms1)
获取[开发指导文档](http://developer.huawei.com/consumer/cn/doc/development?ha_source=hms1)
华为移动服务开源仓库地址:[GitHub](http://github.com/HMS-Core)、[Gitee](http://gitee.com/hms-core) **关注我们,第一时间了解 HMS Core 最新技术资讯~**

镜头随人物而动,视频编辑服务让用户稳站C位的更多相关文章

  1. 如何让照片中的人物笑起来?HMS Core视频编辑服务一键微笑功能,让人物笑容更自然

    最近一键"露齿笑"席卷全网,无论是短视频用户还是社交App用户都在使用这项黑科技.当三两好友聚会拍集体照留念时,为了处理个别人的表情"瑕疵",让大家都尽量保持微 ...

  2. 全场景AI推理引擎MindSpore Lite, 助力HMS Core视频编辑服务打造更智能的剪辑体验

    移动互联网的发展给人们的社交和娱乐方式带来了很大的改变,以vlog.短视频等为代表的新兴文化样态正受到越来越多人的青睐.同时,随着AI智能.美颜修图等功能在图像视频编辑App中的应用,促使视频编辑效率 ...

  3. 华为视频编辑服务(Video Editor Kit),助力开发者高效构建应用视频编辑能力

    视频编辑服务(Video Editor Kit)是华为开放给开发者快速构建视频编辑能力的服务,提供视频导入.编辑处理.特效渲染.视频导出.媒体资源管理等一站式视频处理能力.视频编辑服务为全球开发者提供 ...

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

    前言 短视频模板,是快捷创作短视频的一种方式,一般由专业设计师或模板创作人制作,用户只需替换视频模板中的部分素材,便可生成一支与模板一样的创意视频.这种省时省力.无需"烧脑"构思创 ...

  5. RDVECore来自锐动的无UI,高度抽象化API的视频编辑SDK

    1 编写目的 预期读者: 有视频编辑开发经验或者无经验的,打算或者正在使用"锐动IOS版RDVECore"的相关工程师. iOS软件工程师. 产品经理. QA 2 名词解释 分辨率 ...

  6. 学会这几步,简单集成视频编辑原子能力SDK

    华为视频编辑服务6.2.0版本上线后,我们为大家带来了两大变化:分别是丰富多样的AI能力和灵活选择的集成方式.为让开发者更快上手使用,今天小编带来了视频编辑原子能力SDK的具体集成方法.快来试试吧! ...

  7. Android 视频编辑 SDK

    Android 视频编辑 SDK接入说明 一.名词解释 分辨率:用于计算机视频处理的图像,以水平和垂直方向上所能显示的像素数来表示分辨率.常见视频分辨率的有1080P即1920x1080,720P即1 ...

  8. iOS视频编辑SDK

    IOS视频编辑SDK接入说明 一.名词解释 分辨率:用于计算机视频处理的图像,以水平和垂直方向上所能显示的像素数来表示分辨率.常见视频分辨率的有1080P即1920x1080,720P即1080x72 ...

  9. Android视频编辑SDK--RDVECore来自锐动的无UI,高度抽象化API

    1 RDVECore功能概述 RDVECore是锐动推出的无UI,高度抽象化API的视频编辑SDK,支持以下功能: 1.1 丰富的编辑功能 RDVECore包含了丰富的基础功能,对于编辑中的视频.图片 ...

随机推荐

  1. #define的3种用法详解

    1.#define 的作用 在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为"宏".被定义为"宏"的标识符称为"宏名".在编译 ...

  2. Spring Security OAuth 笔记

    1  单点登录 关于单点登录的原理,我觉得下面这位老哥讲的比较清楚,有兴趣可以看一下,下面我把其中的重点在此做个笔记总结 https://juejin.cn/post/6844904079274197 ...

  3. Vue小说阅读器(仿追书神器)

    一个vue阅读器项目,目前已升级到2.0,阅读器支持横向分页并滑动翻页(没有动画,需要动画的可以自己设置,增加transitionDuration即可) 技术栈 vue全家桶+mint-ui gith ...

  4. 前端面试题整理——手写bind函数

    var arr = [1,2,3,4,5] console.log(arr.slice(1,4)) console.log(arr) Function.prototype.bind1 = functi ...

  5. python爬虫---虎牙直播封面采集

    代码: import requests from lxml import etree # html解析库 source = requests.get("https://www.huya.co ...

  6. php实验一 html网页设计

    页面展示: 源码demo: 等我传到github

  7. InputStream in = JdbcUtil.class.getClassLoader().getResourceAsStream("dbinfo.properties");

    1.与普通程序不同的是,Java程序(class文件)并不是本地的可执行程序.当运行Java程序时,首先运行JVM(Java虚拟机),然后再把Java class加载到JVM里头运行,负责加载Java ...

  8. response.setHeader("Cache-Control","no-cache");的作用

      1. response.setHeader("Cache-Control","no-cache"); This is used to prevent the ...

  9. NLP---word2vec的python实现

    import logging from gensim.models import word2vec import multiprocessing # 配置日志 logging.basicConfig( ...

  10. Spring配置文件-Bean生命周期配置(init-method方法,destory-method方法)

    1.UserDaoImpl类 public class UserDaoImpl implements UserDao { public UserDaoImpl(){ System.out.printl ...