美摄SDK For Android  3.10.0
美摄Mimo技术文档

Mimo Android使用文档

  Mimo技术参数封装在json文件中,使用前首先将模版中info.json文件进行解析。

  按照解析得到的信息,添加如下内容:

  A、添加镜头(注:shot,分为普通镜头和空镜头。空镜头指json中已经预定好指定素材的镜头,即用户无法对此镜头进行选素材操作)。

  B、添加时间线特效。

  C、添加clip特效等。

  最后形成合乎预期效果的时间线。再把时间线渲染成视频。

1、Mimo规范

  Mimo具体规范,参考设计同事给定的范例文档。

2、Demo参考代码

2.1、MainActivity -> MimoActivity

  从主界面跳转到Mimo界面,用户在此界面选定某个Mimo模板,然后跳转至相册界面,选择相应素材,填充镜头数据。

2.2、单镜头裁剪

  通过TrimEditActivity对单个镜头进行裁剪,设置素材的trimIn和trimOut参数。

2.3、说明

  如果镜头对应选择素材为视频素材,而且该镜头包含reverse或repeat字段 需要对该视频素材进行转码操作。

  调用NvsMediaFileConvertor.convertMeidaFile 接口

NvsMediaFileConvertor.convertMeidaFile(String srcFile,String dstFile,boolean isReverseConvert,long fromPositon,long toPosition,Hashtable< String, Object > configurations )

  镜头数据填充完毕后,跳转到MimoEditActivity页面,在此界面创建Timeline, 并按照模版信息进行添加素材及特效。

3、创建时间线

3.1、创建时间线

  创建时间线通过下面函数创建:

MimoTimelineUtil.newTimeline(NvsVideoResolution videoResolution)

3.2、Mimo参数配置

  通过下面函数,设置Mimo配置的各种参数。如主视频轨道、子视频轨道、字幕、特效、变速等效果。

MimoTimelineUtil.rebuildTimelineByTemplate(NvsTimeline timeline)

3.3、添加镜头数据

  参见下面方法:

MimoTimelineUtil.addShotVideo()

  包括添加主视频轨道、子视频轨道、镜头变速、音频轨道、转场、时间线特效等。

3.3.1、添加VideoClip

  通过如下函数添加:

MimoTimelineUtil.appendVideoClip(NvsVideoTrack videoTrack,
                                    String videoFilePath,
                                    int shot,
                                    TrackClipInfo trackClipInfo,
                                    long inPoint)

3.3.2、镜头变速

  针对镜头内speed数组不为空,需要进行变速操作。

  如果所选素材指定trimIn与trimOut不够镜头时长限制,也需进行变速操作。 封装方法如下:

MimoTimelineUtil.changeSpeed(NvsVideoClip videoClip,TrackClipInfo trackClipInfo)

  注意:sdk 最小支持变速为 1/16.0

3.3.3、镜头内特效

  镜头内特效按照是否存在变速分为两种:添加时间线特效和添加clip特效。

  注:其中因变速导致的一个镜头分割为多个clip的情况应将这些clip之间的转场设为空。

MimoTimelineUtil.appendFilter(NvsVideoClip videoClip,String filterName)

3.3.4、时间线特效

  按照模板信息对非镜头内特效(滤镜、复合字幕、贴纸等)进行添加。

  注:使用特效之前,应首先确保该特效已经正确安装。

MimoTimelineUtil.setTimelineData(NvsTimeline timeline,MiMoLocalData selectTemplate)

3.3.5、其它

  组合字幕字体:组合字幕可应用指定字体效果。注意的是,使用字体之前,首先对字体注册。

  片段水印:开启或关闭片段结尾水印。即添加和删除模板指定的动态水印。

  转场特效:视频转场需要在片段数据处理完毕后单独处理,否则无效!