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 boolean
addRenderImageProcessFilter(java.lang.String id, java.lang.String filterPath)
添加图片渲染滤镜boolean
addRenderImageProcessWatermark(java.lang.String id, java.lang.String[] paths, float posX, float posY, float timeStart, float timeEnd, float scaleX, float scaleY)
添加图片渲染水印boolean
addRenderProcessAudioTrack(java.lang.String id, java.lang.String audioPath, float inPoint, float duration, float startTime, float endTime, boolean loop, float volume)
添加音轨, 此方法添加的音轨不会替换背景音乐boolean
addRenderProcessWatermark(java.lang.String id, java.lang.String[] paths, float posX, float posY, float timeStart, float timeEnd, float scaleX, float scaleY)
添加水印java.lang.String
createRenderClipProcess(java.lang.String outputFile, int key)
创建进程模式剪辑渲染对象java.lang.String
createRenderCutProcess(java.lang.String inputPath, java.lang.String outputPath, CutTaskType type)
创建裁剪任务进程 裁剪任务使用 gif/视频文件 按照指定参数输出裁剪后的视频文件java.lang.String
createRenderImageProcess(java.lang.String[] imagePaths, java.lang.String outputPath)
创建图片进程模式渲染对象java.lang.String
createRenderProcess(java.lang.String tplFolder, java.lang.String outputFile, int key)
创建进程模式渲染对象void
destroyRenderCutProcess(java.lang.String id)
释放渲染资源void
destroyRenderImageProcess(java.lang.String id)
销毁图片渲染对象void
destroyRenderProcess(java.lang.String id)
销毁渲染对象boolean
enableRenderProcessSourceManager(java.lang.String id, boolean enable)
开启素材缓存管理器,用于提升渲染速度,默认缓存池大小: 300, 单位: Mjava.lang.String
getRenderImageProcessLicenseProfile(java.lang.String id)
获取图片渲染 License profileint
getRenderProcessError(java.lang.String id)
获取渲染错误java.lang.String
getRenderProcessLicenseProfile(java.lang.String id)
获取 License profilefloat
getRenderProcessProgress(java.lang.String id)
获取渲染进度 无论成功失败,最终都会返回 1.0, 范围 0.0 - 1.0java.lang.String
getRenderProcessRenderedInfo(java.lang.String id)
获取渲染后的信息java.lang.String
getRenderProcessStatus(java.lang.String id)
获取渲染后的状态boolean
isRenderImageProcessLicenseValid(java.lang.String id)
检测图片渲染 License 是否有效boolean
isRenderProcessLicenseValid(java.lang.String id)
检测注册的 License 是否有效int
nStartRenderImageProcess(java.lang.String id)
启动图片渲染, 返回响应错误码int
nStartRenderProcess(java.lang.String id)
启动渲染, 返回响应错误码boolean
registerRenderImageProcessLicense(java.lang.String id, java.lang.String licenseStr)
注册图片渲染 licenseboolean
registerRenderProcessLicense(java.lang.String id, java.lang.String licenseStr)
注册 licenseboolean
setRenderClipProcessParams(java.lang.String id, int width, int height, float frameRate)
设置剪辑的参数boolean
setRenderCutProcessBitrateControl(java.lang.String id, float control)
设置视频比特率参数,范围 > 0, 默认值 0.25boolean
setRenderCutProcessDuration(java.lang.String id, float duration)
设置裁剪时长 秒boolean
setRenderCutProcessSize(java.lang.String id, int width, int height)
设置输出尺寸, 不设置默认使用原始尺寸boolean
setRenderCutProcessStartTime(java.lang.String id, float startTime)
设置裁剪开始时间, 秒boolean
setRenderCutProcessTransform(java.lang.String id, int anchorX, int anchorY, int posX, int posY, float scale, float rotation)
设置变换参数boolean
setRenderProcessAssetPath(java.lang.String id, java.lang.String path)
设置引擎生成的素材存放目录boolean
setRenderProcessBitrateControl(java.lang.String id, float control)
设置比特率控制参数boolean
setRenderProcessDynamicAdaptVideo(java.lang.String id, boolean adapt)
设置是否对动态模板中的视频素材自适应boolean
setRenderProcessDynamicSubFiles(java.lang.String id, java.lang.String json)
为动态模板设置关联的附加素材boolean
setRenderProcessDynamicSubTexts(java.lang.String id, java.lang.String json)
为动态模板设置关联的附加文字static void
setRenderProcessLoggerLevel(LogLevel level)
设置全局日志打印级别boolean
setRenderProcessMusicFadeoutDuration(java.lang.String id, int duration)
设置音乐淡出时间, 单位秒boolean
setRenderProcessMusicFile(java.lang.String id, java.lang.String musicPath, boolean loop)
设置音乐boolean
setRenderProcessMusicLoop(java.lang.String id, boolean loop)
设置音乐是否循环boolean
setRenderProcessMusicVolume(java.lang.String id, float volume)
设置音量控制参数boolean
setRenderProcessReplaceableFiles(java.lang.String id, java.lang.String[] paths)
设置主替换素材boolean
setRenderProcessReplaceableJson(java.lang.String id, java.lang.String json)
设置替换素材信息 参考 http://www.seeshiontech.com/docs/page_103.htmlboolean
setRenderProcessRetainAudioOfVideo(java.lang.String id, boolean retain)
设置是否保留视频素材中的音频boolean
setRenderProcessScript(java.lang.String id, java.lang.String mainFile, java.lang.String scriptDir, java.lang.String data)
设置渲染任务 Lua 脚本boolean
setRenderProcessSnapShotFrames(java.lang.String id, int[] frames)
设置快照帧索引boolean
setRenderProcessSnapShotPath(java.lang.String id, java.lang.String path)
设置快照存储目录,确保一个目录同一时间只有一个任务使用boolean
setRenderProcessSourceManagerCacheSize(java.lang.String id, int size)
设置素材管理器缓存池大小,默认缓存池大小: 300, 单位: Mboolean
setRenderProcessTextPainterPath(java.lang.String id, java.lang.String path)
设置文字绘制工具目录boolean
startRenderCutProcess(java.lang.String id)
开始渲染boolean
startRenderImageProcess(java.lang.String id)
启动图片渲染, 返回成功或失败boolean
startRenderProcess(java.lang.String id)
启动渲染, 返回成功或失败
-
-
-
Method Detail
-
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
-
setRenderProcessTextPainterPath
public boolean setRenderProcessTextPainterPath(java.lang.String id, java.lang.String path)
设置文字绘制工具目录引擎会使用该目录的 TextPainter 和 font_list.json 进行文字绘制
- Parameters:
id
- , render idpath
- , 文字绘制工具目录- 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
-
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
-
startRenderProcess
public boolean startRenderProcess(java.lang.String id) throws RenderException, NotSupportedTemplateException, InvalidLicenseException
启动渲染, 返回成功或失败- Parameters:
id
- , render id- Returns:
- boolean
- Throws:
InvalidLicenseException
RenderException
NotSupportedTemplateException
-
nStartRenderProcess
public int nStartRenderProcess(java.lang.String id) throws RenderException, NotSupportedTemplateException, InvalidLicenseException
启动渲染, 返回响应错误码- Parameters:
id
- , render id- Returns:
- int, 错误码参考
ErrorCode
- Throws:
InvalidLicenseException
RenderException
NotSupportedTemplateException
-
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
-
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:
InvalidLicenseException
RenderException
NotSupportedTemplateException
-
nStartRenderImageProcess
public int nStartRenderImageProcess(java.lang.String id) throws RenderException, NotSupportedTemplateException, InvalidLicenseException
启动图片渲染, 返回响应错误码- Parameters:
id
- , render id- Returns:
- int, 错误码
ErrorCode
- Throws:
InvalidLicenseException
RenderException
NotSupportedTemplateException
-
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
-
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
-
-