Package com.seeshiontech.vesdk
Class VideoEngine
- java.lang.Object
-
- com.seeshiontech.vesdk.VideoEngine
-
public class VideoEngine extends java.lang.Object渲染核心库
-
-
Constructor Summary
Constructors Constructor Description VideoEngine()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanaddRenderImageProcessFilter(java.lang.String id, java.lang.String filterPath)添加图片渲染滤镜booleanaddRenderImageProcessWatermark(java.lang.String id, java.lang.String[] paths, float posX, float posY, float timeStart, float timeEnd, float scaleX, float scaleY)添加图片渲染水印booleanaddRenderProcessAudioTrack(java.lang.String id, java.lang.String audioPath, float inPoint, float duration, float startTime, float endTime, boolean loop, float volume)添加音轨, 此方法添加的音轨不会替换背景音乐booleanaddRenderProcessWatermark(java.lang.String id, java.lang.String[] paths, float posX, float posY, float timeStart, float timeEnd, float scaleX, float scaleY)添加水印java.lang.StringcreateRenderClipProcess(java.lang.String outputFile, int key)创建进程模式剪辑渲染对象java.lang.StringcreateRenderCutProcess(java.lang.String inputPath, java.lang.String outputPath, CutTaskType type)创建裁剪任务进程 裁剪任务使用 gif/视频文件 按照指定参数输出裁剪后的视频文件java.lang.StringcreateRenderImageProcess(java.lang.String[] imagePaths, java.lang.String outputPath)创建图片进程模式渲染对象java.lang.StringcreateRenderProcess(java.lang.String tplFolder, java.lang.String outputFile, int key)创建进程模式渲染对象voiddestroyRenderCutProcess(java.lang.String id)释放渲染资源voiddestroyRenderImageProcess(java.lang.String id)销毁图片渲染对象voiddestroyRenderProcess(java.lang.String id)销毁渲染对象booleanenableRenderProcessSourceManager(java.lang.String id, boolean enable)开启素材缓存管理器,用于提升渲染速度,默认缓存池大小: 300, 单位: Mstatic java.lang.StringgetCoreVersion()获取核心版本号java.lang.StringgetRenderImageProcessLicenseProfile(java.lang.String id)获取图片渲染 License profileintgetRenderProcessError(java.lang.String id)获取渲染错误java.lang.StringgetRenderProcessLicenseProfile(java.lang.String id)获取 License profilefloatgetRenderProcessProgress(java.lang.String id)获取渲染进度 无论成功失败,最终都会返回 1.0, 范围 0.0 - 1.0java.lang.StringgetRenderProcessRenderedInfo(java.lang.String id)获取渲染后的信息java.lang.StringgetRenderProcessStatus(java.lang.String id)获取渲染后的状态static java.lang.StringgetVersion()获取 sdk 版本号booleanisRenderImageProcessLicenseValid(java.lang.String id)检测图片渲染 License 是否有效booleanisRenderProcessLicenseValid(java.lang.String id)检测注册的 License 是否有效intnStartRenderImageProcess(java.lang.String id)启动图片渲染, 返回响应错误码intnStartRenderProcess(java.lang.String id)启动渲染, 返回响应错误码booleanregisterRenderImageProcessLicense(java.lang.String id, java.lang.String licenseStr)注册图片渲染 licensebooleanregisterRenderProcessLicense(java.lang.String id, java.lang.String licenseStr)注册 licensebooleansetRenderClipProcessParams(java.lang.String id, int width, int height, float frameRate)设置剪辑的参数booleansetRenderCutProcessBackgroundColor(java.lang.String id, java.lang.String color)设置视频背景颜色booleansetRenderCutProcessBitrateControl(java.lang.String id, float control)设置视频比特率参数,范围 > 0, 默认值 0.25booleansetRenderCutProcessDuration(java.lang.String id, float duration)设置裁剪时长 秒booleansetRenderCutProcessFillType(java.lang.String id, RenderCutFillType type)设置裁剪适配方式,调用该方法将会忽略 setRenderCutProcessTransform 设置的参数booleansetRenderCutProcessSize(java.lang.String id, int width, int height)设置输出尺寸, 不设置默认使用原始尺寸booleansetRenderCutProcessStartTime(java.lang.String id, float startTime)设置裁剪开始时间, 秒booleansetRenderCutProcessTransform(java.lang.String id, int anchorX, int anchorY, int posX, int posY, float scale, float rotation)设置变换参数booleansetRenderProcessAssetLoop(java.lang.String id, boolean loop)设置视频素材在时长不够的时候是否循环booleansetRenderProcessAssetPath(java.lang.String id, java.lang.String path)设置引擎生成的素材存放目录booleansetRenderProcessBitrateControl(java.lang.String id, float control)设置比特率控制参数booleansetRenderProcessDrawTextMode(java.lang.String id, VeDrawTextMode mode)设置文字绘制方式booleansetRenderProcessDynamicAdaptVideo(java.lang.String id, boolean adapt)设置是否对动态模板中的视频素材自适应booleansetRenderProcessDynamicSubFiles(java.lang.String id, java.lang.String json)为动态模板设置关联的附加素材booleansetRenderProcessDynamicSubTexts(java.lang.String id, java.lang.String json)为动态模板设置关联的附加文字booleansetRenderProcessFontDirPath(java.lang.String id, java.lang.String path)设置高级字符动画的字体目录static voidsetRenderProcessLoggerLevel(LogLevel level)设置全局日志打印级别booleansetRenderProcessMusicEnable(java.lang.String id, boolean enable)设置音乐是否启用booleansetRenderProcessMusicFadeoutDuration(java.lang.String id, int duration)设置音乐淡出时间, 单位秒booleansetRenderProcessMusicFile(java.lang.String id, java.lang.String musicPath, boolean loop)设置音乐booleansetRenderProcessMusicLoop(java.lang.String id, boolean loop)设置音乐是否循环booleansetRenderProcessMusicVolume(java.lang.String id, float volume)设置音量控制参数booleansetRenderProcessOutputRatio(java.lang.String id, VeResolutionRatio ratio)设置输出的缩放比例booleansetRenderProcessReplaceableFiles(java.lang.String id, java.lang.String[] paths)设置主替换素材booleansetRenderProcessReplaceableJson(java.lang.String id, java.lang.String json)设置替换素材信息 参考 http://www.seeshiontech.com/docs/page_103.htmlbooleansetRenderProcessRetainAudioOfVideo(java.lang.String id, boolean retain)设置是否保留视频素材中的音频booleansetRenderProcessScript(java.lang.String id, java.lang.String mainFile, java.lang.String scriptDir, java.lang.String data)设置渲染任务 Lua 脚本booleansetRenderProcessSnapShotFrames(java.lang.String id, int[] frames)设置快照帧索引booleansetRenderProcessSnapShotPath(java.lang.String id, java.lang.String path)设置快照存储目录,确保一个目录同一时间只有一个任务使用booleansetRenderProcessSourceManagerCacheSize(java.lang.String id, int size)设置素材管理器缓存池大小,默认缓存池大小: 300, 单位: MbooleansetRenderProcessTextPainterPath(java.lang.String id, java.lang.String path)设置文字绘制工具目录booleanstartRenderCutProcess(java.lang.String id)开始渲染booleanstartRenderImageProcess(java.lang.String id)启动图片渲染, 返回成功或失败booleanstartRenderProcess(java.lang.String id)启动渲染, 返回成功或失败
-
-
-
Method Detail
-
getVersion
public static java.lang.String getVersion()
获取 sdk 版本号
-
getCoreVersion
public static java.lang.String getCoreVersion()
获取核心版本号
-
createRenderProcess
public java.lang.String createRenderProcess(java.lang.String tplFolder, java.lang.String outputFile, int key)创建进程模式渲染对象- Parameters:
tplFolder- , 模板目录outputFile- , 输出路径key- 随机数,同一时间保持唯一- Returns:
- string render id
-
setRenderProcessLoggerLevel
public static void setRenderProcessLoggerLevel(LogLevel level)
设置全局日志打印级别- Parameters:
level- , seeLogLevel
-
registerRenderProcessLicense
public boolean registerRenderProcessLicense(java.lang.String id, java.lang.String licenseStr)注册 license- Parameters:
id- , render idlicenseStr- , 证书字符串- Returns:
- boolean
-
getRenderProcessLicenseProfile
public java.lang.String getRenderProcessLicenseProfile(java.lang.String id)
获取 License profile- Parameters:
id- render id- Returns:
- String
-
isRenderProcessLicenseValid
public boolean isRenderProcessLicenseValid(java.lang.String id)
检测注册的 License 是否有效- Parameters:
id- , render id- Returns:
- boolean
-
setRenderProcessReplaceableFiles
public boolean setRenderProcessReplaceableFiles(java.lang.String id, java.lang.String[] paths)设置主替换素材- Parameters:
id- , render idpaths- , 素材数组- Returns:
- boolean
-
setRenderProcessReplaceableJson
public boolean setRenderProcessReplaceableJson(java.lang.String id, java.lang.String json)设置替换素材信息 参考 http://www.seeshiontech.com/docs/page_103.html- Parameters:
id- , render idjson- , 素材信息- Returns:
- boolean
-
setRenderProcessDynamicSubFiles
public boolean setRenderProcessDynamicSubFiles(java.lang.String id, java.lang.String json)为动态模板设置关联的附加素材非动态模板设置无效
- Parameters:
id- , render idjson- , 素材数组- Returns:
- boolean
-
setRenderProcessDynamicSubTexts
public boolean setRenderProcessDynamicSubTexts(java.lang.String id, java.lang.String json)为动态模板设置关联的附加文字1. 当前文字是由 TextPainter 绘制,使用这个接口, 必须先设置好 assetPath 和 textpainter path
2. 非动态模板设置无效- Parameters:
id- , render idjson- , 文字素材数组- Returns:
- boolean
-
setRenderProcessAssetPath
public boolean setRenderProcessAssetPath(java.lang.String id, java.lang.String path)设置引擎生成的素材存放目录1. TextPainter 或引擎 绘制的文字图片会被放到设置 AssetPath目录, 引擎不会对该目录执行清理动作, 需要调用方在渲染完成后,删除该目录进行清理
2. 由于生成的素材可能与其他任务的图片重名, 确保每个任务使用单独的素材目录- Parameters:
id- , render idpath- , 素材存放目录- Returns:
- boolean
-
setRenderProcessAssetLoop
public boolean setRenderProcessAssetLoop(java.lang.String id, boolean loop)设置视频素材在时长不够的时候是否循环- Parameters:
id-loop-- Returns:
- boolean
-
setRenderProcessTextPainterPath
public boolean setRenderProcessTextPainterPath(java.lang.String id, java.lang.String path)设置文字绘制工具目录引擎会使用该目录的 TextPainter 和 font_list.json 进行文字绘制
- Parameters:
id- , render idpath- , 文字绘制工具目录- Returns:
- boolean
-
setRenderProcessDrawTextMode
public boolean setRenderProcessDrawTextMode(java.lang.String id, VeDrawTextMode mode)设置文字绘制方式1. 如果调用了 setRenderProcessTextPainterPath, mode 会被强制设置成 USE_TEXTPAINTER 2. 使用 USE_COREPAINTER 时,请先调用 setRenderProcessFontDirPath 设置好字体目录 3. 必须调用 setRenderProcessAssetPath 设置临时文件的存储路径
- Parameters:
id- , render idmode- ,VeDrawTextMode- Returns:
- boolean
-
setRenderProcessSnapShotPath
public boolean setRenderProcessSnapShotPath(java.lang.String id, java.lang.String path)设置快照存储目录,确保一个目录同一时间只有一个任务使用引擎将使用该目录保存快照
- Parameters:
id- , render idpath- , 快照目录- Returns:
- boolean
-
setRenderProcessSnapShotFrames
public boolean setRenderProcessSnapShotFrames(java.lang.String id, int[] frames)设置快照帧索引[1, 100] 表示第1, 100 帧会被生成 1.png , 100.png 到 snapshot path 目录中
- Parameters:
id- , render idframes-- Returns:
- boolean
-
setRenderProcessMusicFile
public boolean setRenderProcessMusicFile(java.lang.String id, java.lang.String musicPath, boolean loop)设置音乐- Parameters:
id- , render idmusicPath- , 音乐文件路径loop- 是否循环音乐- Returns:
- boolean
-
setRenderProcessMusicLoop
public boolean setRenderProcessMusicLoop(java.lang.String id, boolean loop)设置音乐是否循环- Parameters:
id- , render idloop- 是否循环音乐- Returns:
- boolean
-
setRenderProcessMusicEnable
public boolean setRenderProcessMusicEnable(java.lang.String id, boolean enable)设置音乐是否启用- Parameters:
id- , render idenable- 是否启用- Returns:
- boolean
-
setRenderProcessMusicFadeoutDuration
public boolean setRenderProcessMusicFadeoutDuration(java.lang.String id, int duration)设置音乐淡出时间, 单位秒- Parameters:
id- , render idduration- 淡出时间- Returns:
- boolean
-
setRenderProcessMusicVolume
public boolean setRenderProcessMusicVolume(java.lang.String id, float volume)设置音量控制参数- Parameters:
id- , render idvolume-- Returns:
- boolean
-
addRenderProcessAudioTrack
public boolean addRenderProcessAudioTrack(java.lang.String id, java.lang.String audioPath, float inPoint, float duration, float startTime, float endTime, boolean loop, float volume)添加音轨, 此方法添加的音轨不会替换背景音乐- Parameters:
id-audioPath- , 包含音频的文件地址,比如 mp3, 带有音轨的 mp4inPoint- , 音频出现的时间点,单位:秒; 0: 起始点开始出现duration- , 音频持续时长,单位:秒; 0: 持续到视频结束startTime- , 音频截取开始时间点,单位:秒; 0: 从音频起始点开始截取endTime- , 音频截取结束时间点,单位: 秒; 0 截取到音频末尾loop- , 音频长度不够是否循环, 默认不循环volume- , 音量, 大于 0, 默认 1
-
addRenderProcessWatermark
public boolean addRenderProcessWatermark(java.lang.String id, java.lang.String[] paths, float posX, float posY, float timeStart, float timeEnd, float scaleX, float scaleY)添加水印- Parameters:
id- , render idpaths-posX- 水印 x 坐标posY- 水印 y 坐标timeStart- 开始时间,单位秒timeEnd- 结束时间,单位秒scaleX- x 轴缩放scaleY- y 轴缩放- Returns:
- boolean
-
setRenderProcessOutputRatio
public boolean setRenderProcessOutputRatio(java.lang.String id, VeResolutionRatio ratio)设置输出的缩放比例- Parameters:
id- , render idratio-- Returns:
- boolean
-
startRenderProcess
public boolean startRenderProcess(java.lang.String id) throws RenderException, NotSupportedTemplateException, InvalidLicenseException启动渲染, 返回成功或失败- Parameters:
id- , render id- Returns:
- boolean
- Throws:
InvalidLicenseExceptionRenderExceptionNotSupportedTemplateException
-
nStartRenderProcess
public int nStartRenderProcess(java.lang.String id) throws RenderException, NotSupportedTemplateException, InvalidLicenseException启动渲染, 返回响应错误码- Parameters:
id- , render id- Returns:
- int, 错误码参考
ErrorCode - Throws:
InvalidLicenseExceptionRenderExceptionNotSupportedTemplateException
-
getRenderProcessProgress
public float getRenderProcessProgress(java.lang.String id)
获取渲染进度 无论成功失败,最终都会返回 1.0, 范围 0.0 - 1.0- Parameters:
id- , render id- Returns:
- float
-
getRenderProcessError
public int getRenderProcessError(java.lang.String id)
获取渲染错误- Parameters:
id- , render id- Returns:
- float
-
getRenderProcessStatus
public java.lang.String getRenderProcessStatus(java.lang.String id)
获取渲染后的状态- Parameters:
id- , render id- Returns:
- String
-
destroyRenderProcess
public void destroyRenderProcess(java.lang.String id)
销毁渲染对象- Parameters:
id- , render id
-
setRenderProcessBitrateControl
public boolean setRenderProcessBitrateControl(java.lang.String id, float control)设置比特率控制参数- Parameters:
id- , render idcontrol- 0.0 - 1.0- Returns:
- boolean
-
setRenderProcessScript
public boolean setRenderProcessScript(java.lang.String id, java.lang.String mainFile, java.lang.String scriptDir, java.lang.String data)设置渲染任务 Lua 脚本- Parameters:
id- , render idmainFile- lua main 函数所在文件路径scriptDir- lua 文件查找目录, 没有传空字符串data- 传给脚本的数据, 没有传空字符串- Returns:
- boolean
-
getRenderProcessRenderedInfo
public java.lang.String getRenderProcessRenderedInfo(java.lang.String id)
获取渲染后的信息在 startRenderProcess 后调用
- Parameters:
id- render id- Returns:
- String
-
setRenderProcessRetainAudioOfVideo
public boolean setRenderProcessRetainAudioOfVideo(java.lang.String id, boolean retain)设置是否保留视频素材中的音频- Parameters:
id- render id- Returns:
- boolean
-
setRenderProcessDynamicAdaptVideo
public boolean setRenderProcessDynamicAdaptVideo(java.lang.String id, boolean adapt)设置是否对动态模板中的视频素材自适应- Parameters:
id- render id- Returns:
- boolean
-
enableRenderProcessSourceManager
public boolean enableRenderProcessSourceManager(java.lang.String id, boolean enable)开启素材缓存管理器,用于提升渲染速度,默认缓存池大小: 300, 单位: M- Parameters:
id- , render idenable- , true or false- Returns:
- boolean
-
setRenderProcessSourceManagerCacheSize
public boolean setRenderProcessSourceManagerCacheSize(java.lang.String id, int size)设置素材管理器缓存池大小,默认缓存池大小: 300, 单位: M- Parameters:
id- , render idsize- , 大小, 单位: M- Returns:
- boolean
-
setRenderProcessFontDirPath
public boolean setRenderProcessFontDirPath(java.lang.String id, java.lang.String path)设置高级字符动画的字体目录- Parameters:
id- , render idpath- , 字体目录- Returns:
- boolean
-
createRenderClipProcess
public java.lang.String createRenderClipProcess(java.lang.String outputFile, int key)创建进程模式剪辑渲染对象- Parameters:
outputFile- , 输出路径key- 随机数,同一时间保持唯一- Returns:
- string render id
-
setRenderClipProcessParams
public boolean setRenderClipProcessParams(java.lang.String id, int width, int height, float frameRate)设置剪辑的参数- Parameters:
id- , render idwidth- , 宽, pxheight- , 高, pxframeRate- , 帧率, fps- Returns:
- boolean
-
createRenderImageProcess
public java.lang.String createRenderImageProcess(java.lang.String[] imagePaths, java.lang.String outputPath)创建图片进程模式渲染对象- Parameters:
imagePaths- , 图片路径数组outputPath- , 输出路径- Returns:
- string render id
-
destroyRenderImageProcess
public void destroyRenderImageProcess(java.lang.String id)
销毁图片渲染对象- Parameters:
id- , render id
-
registerRenderImageProcessLicense
public boolean registerRenderImageProcessLicense(java.lang.String id, java.lang.String licenseStr)注册图片渲染 license- Parameters:
id- , render idlicenseStr- , 证书字符串- Returns:
- boolean
-
getRenderImageProcessLicenseProfile
public java.lang.String getRenderImageProcessLicenseProfile(java.lang.String id)
获取图片渲染 License profile- Parameters:
id- render id- Returns:
- String
-
isRenderImageProcessLicenseValid
public boolean isRenderImageProcessLicenseValid(java.lang.String id)
检测图片渲染 License 是否有效- Parameters:
id- , render id- Returns:
- boolean
-
startRenderImageProcess
public boolean startRenderImageProcess(java.lang.String id) throws RenderException, NotSupportedTemplateException, InvalidLicenseException启动图片渲染, 返回成功或失败- Parameters:
id- , render id- Returns:
- boolean
- Throws:
InvalidLicenseExceptionRenderExceptionNotSupportedTemplateException
-
nStartRenderImageProcess
public int nStartRenderImageProcess(java.lang.String id) throws RenderException, NotSupportedTemplateException, InvalidLicenseException启动图片渲染, 返回响应错误码- Parameters:
id- , render id- Returns:
- int, 错误码
ErrorCode - Throws:
InvalidLicenseExceptionRenderExceptionNotSupportedTemplateException
-
addRenderImageProcessWatermark
public boolean addRenderImageProcessWatermark(java.lang.String id, java.lang.String[] paths, float posX, float posY, float timeStart, float timeEnd, float scaleX, float scaleY)添加图片渲染水印- Parameters:
id- , render idpaths-posX- 水印 x 坐标posY- 水印 y 坐标timeStart- 开始时间,单位秒timeEnd- 结束时间,单位秒scaleX- x 轴缩放scaleY- y 轴缩放- Returns:
- boolean
-
addRenderImageProcessFilter
public boolean addRenderImageProcessFilter(java.lang.String id, java.lang.String filterPath)添加图片渲染滤镜- Parameters:
id- , render idfilterPath- , 滤镜路径- Returns:
- boolean
-
createRenderCutProcess
public java.lang.String createRenderCutProcess(java.lang.String inputPath, java.lang.String outputPath, CutTaskType type)创建裁剪任务进程 裁剪任务使用 gif/视频文件 按照指定参数输出裁剪后的视频文件- Parameters:
inputPath- , 源文件路径,为 gif 或者视频文件outputPath- , 输出文件路径,以 .mp4 结尾type- , seeCutTaskType- Returns:
- String, renderId
-
setRenderCutProcessSize
public boolean setRenderCutProcessSize(java.lang.String id, int width, int height)设置输出尺寸, 不设置默认使用原始尺寸- Parameters:
id- , renderIdwidth- , 宽 pxheight- , 高 px- Returns:
- boolean
-
setRenderCutProcessBackgroundColor
public boolean setRenderCutProcessBackgroundColor(java.lang.String id, java.lang.String color)设置视频背景颜色- Parameters:
id- ,color- , 16进制字符串颜色值,默认 #FFFFFF- Returns:
- boolean
-
setRenderCutProcessFillType
public boolean setRenderCutProcessFillType(java.lang.String id, RenderCutFillType type)设置裁剪适配方式,调用该方法将会忽略 setRenderCutProcessTransform 设置的参数- Parameters:
id-type- ,RenderCutFillType- Returns:
- boolean
-
setRenderCutProcessTransform
public boolean setRenderCutProcessTransform(java.lang.String id, int anchorX, int anchorY, int posX, int posY, float scale, float rotation)设置变换参数- Parameters:
id- , renderIdanchorX- , x 轴 锚点位置 pxanchorY- , y 轴 锚点位置 pxposX- , x 轴移动位置 pxposY- , y 轴移动位置 pxscale- , 缩放比例rotation- , 旋转角度- Returns:
- boolean
-
setRenderCutProcessStartTime
public boolean setRenderCutProcessStartTime(java.lang.String id, float startTime)设置裁剪开始时间, 秒- Parameters:
id- , renderIdstartTime- , 开始时间- Returns:
- boolean
-
setRenderCutProcessDuration
public boolean setRenderCutProcessDuration(java.lang.String id, float duration)设置裁剪时长 秒- Parameters:
id- , renderIdduration- , 裁剪时长- Returns:
- boolean
-
setRenderCutProcessBitrateControl
public boolean setRenderCutProcessBitrateControl(java.lang.String id, float control)设置视频比特率参数,范围 > 0, 默认值 0.25- Parameters:
id- , renderIdcontrol- , 范围 > 0, 默认值 0.25- Returns:
- boolean
-
startRenderCutProcess
public boolean startRenderCutProcess(java.lang.String id)
开始渲染- Parameters:
id- , renderId- Returns:
- boolean
-
destroyRenderCutProcess
public void destroyRenderCutProcess(java.lang.String id)
释放渲染资源- Parameters:
id- , renderId
-
-