更新时间 : 2021-12-28 11:20:18
基于 Java SDK 开发并自建渲染服务. 需购买按授权期限 license 使用.
设置license, 模板路径 -> 替换素材路径 -> 设置相关功能 -> 提交渲染 -> 等待渲染结果
配置依赖环境参考:
下载 sdk 包后, 解压后导入项目.
String license = "license str"; // 证书
String tplFolder = "/path/to/template/"; // 模板目录
String outputPath ="/path/to/output.mp4"; // 视频输出必须为 mp4 格式
String fontPath = "/path/fonts/Alibaba-PuHuiTi-Bold.otf"; // 字体路径
String musicPath = "/path/workspace/music.mp3"; // 设置音乐路径
String watermarkPath = "/path/workspace/watermark.png"; // 水印路径
// 替换素材, 确保路径不重复
String[] paths = {
"/path/to/image1.png",
"/path/to/image2.png"
};
// 创建渲染对象
VeProcessRenderTask task = new VeProcessRenderTask(license, tplFolder, outputPath);
// 替换素材
task.setAssetPaths(paths);
// 设置默认字体
task.setDefaultFontPath(fontPath);
// 音乐相关功能
task.setMusicPath(musicPath, true); // 设置音乐路径
task.setMusicFadeoutDuration(5); // 设置音乐淡出时间
task.setMusicVolume(1.0f); // 设置音乐音量大小
task.setMusicEnable(false); // 设置是否开启背景音乐
// 开启保留视频素材中的音频
task.setRetainAudioOfVideo(true); // 设置是否保留替换素材中的音频
// 设置水印相关功能
List<Watermark> list = new ArrayList<>();
Watermark mark = new Watermark();
List<String> watermarkPaths = new ArrayList<>();
watermarkPaths.add(watermarkPath);
mark.setPaths(watermarkPaths);
Watermark mark2 = new Watermark();
List<String> watermarkPaths2 = new ArrayList<>();
watermarkPaths2.add(watermarkPath);
mark2.setPaths(watermarkPaths2);
mark2.setPosX(400);
list.add(mark);
list.add(mark2);
task.setWatermarkList(list);
// 启动渲染, 等待渲染结果
try {
boolean ret = task.render(); // 启动渲染, 获取结果
String info = task.getTaskRenderedInfo(); // 获取渲染信息
} catch (Exception e) {
e.printStack();
} finally {
task.destroy(); // 销毁渲染对象
}
sdk 提供了 ConfigUtils 类进行模板的解析,获取模板的各种具体数据
String cPath = "/path/template/config.json";
// 读取 config.json 文件到字符串
StringBuilder sb = readFileByLines(cPath);
// 创建 ConfigUtils 对象
ConfigUtils configUtils = new ConfigUtils(sb.toString(), 0);
// 获取模板渲染出视频的时长
float duration = configUtils.getDuration();
// 模板是否有效
boolean isValid = configUtils.isValid();
// 获取模板的帧率
float fps = configUtils.getFps();
// 获取模板总共的帧数量
long frameCount = configUtils.getFrameCount();
// 获取模板的宽度
int width = configUtils.getWidth();
// 获取模板的高度
int height = configUtils.getHeight();
// 获取模板的类型
int templateType = configUtils.getTemplateType();
// 获取模板使用引擎的版本
String version = configUtils.getVersion();
// 获取模板使用的 UI 版本
String uiVersion = configUtils.getUIVersion();
// 获取模板的基本描述
String des = configUtils.getDescription();
// 获取模板的 id
String uuid = configUtils.getUUid();
// 获取模板可替换素材的基本信息,保存在 TemplateAsset 类中
ArrayList<TemplateAsset> assets = configUtils.getReplaceableAsset();
// 获取模板可替换素材的时间段
ArrayList<TemplateAssetTimeRange> assetTimeRanges = configUtils.getReplaceableAssetTimeRange();
// 释放 ConfigUtils 对象
configUtils.destroy();
String license = "license str"; // 证书
String tplFolder = "/path/to/template/"; // 模板目录
String outputPath ="/path/to/output.mp4"; // 视频输出必须为 mp4 格式
// 替换素材, 确保路径不重复
String[] paths = {
"/path/to/image1.png",
"/path/to/image2.png"
};
// 创建引擎对象
VideoEngine engine = new VideoEngine();
Random r = new Random();
Sting renderId = engine.createRenderProcess(tplFolder, outputPath, r.nextInt(Integer.MAX_VALUE));
// 注册 license
engine.registerRenderProcessLicense(renderId, license);
// 替换素材
engine.setAssetPaths(renderId, paths);
// 启动渲染
try {
boolean ret = engine.startRenderProcess(renderId);
} catch(Exception e) {
// error handle
} finally {
// 销毁渲染对象
engine.destroyRenderProcess(renderId);
}
基于 Java SDK 开发并自建渲染服务. 需购买按授权期限 license 使用.
设置license, 模板路径 -> 替换素材路径 -> 设置相关功能 -> 提交渲染 -> 等待渲染结果
配置依赖环境参考:
下载 sdk 包后, 解压后导入项目.
String license = "license str"; // 证书
String tplFolder = "/path/to/template/"; // 模板目录
String outputPath ="/path/to/output.mp4"; // 视频输出必须为 mp4 格式
String fontPath = "/path/fonts/Alibaba-PuHuiTi-Bold.otf"; // 字体路径
String musicPath = "/path/workspace/music.mp3"; // 设置音乐路径
String watermarkPath = "/path/workspace/watermark.png"; // 水印路径
// 替换素材, 确保路径不重复
String[] paths = {
"/path/to/image1.png",
"/path/to/image2.png"
};
// 创建渲染对象
VeProcessRenderTask task = new VeProcessRenderTask(license, tplFolder, outputPath);
// 替换素材
task.setAssetPaths(paths);
// 设置默认字体
task.setDefaultFontPath(fontPath);
// 音乐相关功能
task.setMusicPath(musicPath, true); // 设置音乐路径
task.setMusicFadeoutDuration(5); // 设置音乐淡出时间
task.setMusicVolume(1.0f); // 设置音乐音量大小
task.setMusicEnable(false); // 设置是否开启背景音乐
// 开启保留视频素材中的音频
task.setRetainAudioOfVideo(true); // 设置是否保留替换素材中的音频
// 设置水印相关功能
List<Watermark> list = new ArrayList<>();
Watermark mark = new Watermark();
List<String> watermarkPaths = new ArrayList<>();
watermarkPaths.add(watermarkPath);
mark.setPaths(watermarkPaths);
Watermark mark2 = new Watermark();
List<String> watermarkPaths2 = new ArrayList<>();
watermarkPaths2.add(watermarkPath);
mark2.setPaths(watermarkPaths2);
mark2.setPosX(400);
list.add(mark);
list.add(mark2);
task.setWatermarkList(list);
// 启动渲染, 等待渲染结果
try {
boolean ret = task.render(); // 启动渲染, 获取结果
String info = task.getTaskRenderedInfo(); // 获取渲染信息
} catch (Exception e) {
e.printStack();
} finally {
task.destroy(); // 销毁渲染对象
}
sdk 提供了 ConfigUtils 类进行模板的解析,获取模板的各种具体数据
String cPath = "/path/template/config.json";
// 读取 config.json 文件到字符串
StringBuilder sb = readFileByLines(cPath);
// 创建 ConfigUtils 对象
ConfigUtils configUtils = new ConfigUtils(sb.toString(), 0);
// 获取模板渲染出视频的时长
float duration = configUtils.getDuration();
// 模板是否有效
boolean isValid = configUtils.isValid();
// 获取模板的帧率
float fps = configUtils.getFps();
// 获取模板总共的帧数量
long frameCount = configUtils.getFrameCount();
// 获取模板的宽度
int width = configUtils.getWidth();
// 获取模板的高度
int height = configUtils.getHeight();
// 获取模板的类型
int templateType = configUtils.getTemplateType();
// 获取模板使用引擎的版本
String version = configUtils.getVersion();
// 获取模板使用的 UI 版本
String uiVersion = configUtils.getUIVersion();
// 获取模板的基本描述
String des = configUtils.getDescription();
// 获取模板的 id
String uuid = configUtils.getUUid();
// 获取模板可替换素材的基本信息,保存在 TemplateAsset 类中
ArrayList<TemplateAsset> assets = configUtils.getReplaceableAsset();
// 获取模板可替换素材的时间段
ArrayList<TemplateAssetTimeRange> assetTimeRanges = configUtils.getReplaceableAssetTimeRange();
// 释放 ConfigUtils 对象
configUtils.destroy();
String license = "license str"; // 证书
String tplFolder = "/path/to/template/"; // 模板目录
String outputPath ="/path/to/output.mp4"; // 视频输出必须为 mp4 格式
// 替换素材, 确保路径不重复
String[] paths = {
"/path/to/image1.png",
"/path/to/image2.png"
};
// 创建引擎对象
VideoEngine engine = new VideoEngine();
Random r = new Random();
Sting renderId = engine.createRenderProcess(tplFolder, outputPath, r.nextInt(Integer.MAX_VALUE));
// 注册 license
engine.registerRenderProcessLicense(renderId, license);
// 替换素材
engine.setAssetPaths(renderId, paths);
// 启动渲染
try {
boolean ret = engine.startRenderProcess(renderId);
} catch(Exception e) {
// error handle
} finally {
// 销毁渲染对象
engine.destroyRenderProcess(renderId);
}