美摄SDK For Android
3.14.0
|
Mimo技术参数封装在json文件中,使用前首先将模版中info.json文件进行解析。
按照解析得到的信息,添加如下内容:
A、添加镜头(注:shot,分为普通镜头和空镜头。空镜头指json中已经预定好指定素材的镜头,即用户无法对此镜头进行选素材操作)。
B、添加时间线特效。
C、添加clip特效等。
最后形成合乎预期效果的时间线。再把时间线渲染成视频。
Mimo具体规范,参考设计同事给定的范例文档。
从主界面跳转到Mimo界面,用户在此界面选定某个Mimo模板,然后跳转至相册界面,选择相应素材,填充镜头数据。
通过TrimEditActivity对单个镜头进行裁剪,设置素材的trimIn和trimOut参数。
如果镜头对应选择素材为视频素材,而且该镜头包含reverse或repeat字段 需要对该视频素材进行转码操作。
调用NvsMediaFileConvertor.convertMeidaFile 接口
NvsMediaFileConvertor.convertMeidaFile(String srcFile,String dstFile,boolean isReverseConvert,long fromPositon,long toPosition,Hashtable< String, Object > configurations )
镜头数据填充完毕后,跳转到MimoEditActivity页面,在此界面创建Timeline, 并按照模版信息进行添加素材及特效。
创建时间线通过下面函数创建:
MimoTimelineUtil.newTimeline(NvsVideoResolution videoResolution)
通过下面函数,设置Mimo配置的各种参数。如主视频轨道、子视频轨道、字幕、特效、变速等效果。
MimoTimelineUtil.rebuildTimelineByTemplate(NvsTimeline timeline)
参见下面方法:
MimoTimelineUtil.addShotVideo()
包括添加主视频轨道、子视频轨道、镜头变速、音频轨道、转场、时间线特效等。
通过如下函数添加:
MimoTimelineUtil.appendVideoClip(NvsVideoTrack videoTrack, String videoFilePath, int shot, TrackClipInfo trackClipInfo, long inPoint)
针对镜头内speed数组不为空,需要进行变速操作。
如果所选素材指定trimIn与trimOut不够镜头时长限制,也需进行变速操作。 封装方法如下:
MimoTimelineUtil.changeSpeed(NvsVideoClip videoClip,TrackClipInfo trackClipInfo)
注意:sdk 最小支持变速为 1/16.0
镜头内特效按照是否存在变速分为两种:添加时间线特效和添加clip特效。
注:其中因变速导致的一个镜头分割为多个clip的情况应将这些clip之间的转场设为空。
MimoTimelineUtil.appendFilter(NvsVideoClip videoClip,String filterName)
按照模板信息对非镜头内特效(滤镜、复合字幕、贴纸等)进行添加。
注:使用特效之前,应首先确保该特效已经正确安装。
MimoTimelineUtil.setTimelineData(NvsTimeline timeline,MiMoLocalData selectTemplate)
组合字幕字体:组合字幕可应用指定字体效果。注意的是,使用字体之前,首先对字体注册。
片段水印:开启或关闭片段结尾水印。即添加和删除模板指定的动态水印。
转场特效:视频转场需要在片段数据处理完毕后单独处理,否则无效!