更新时间 : 2021-02-05 21:29:38
请务必点击以下链接, 了解动态模板高级素材替换规范:
普通图片
常用于替换动态模板中某个指定位置的用户头像
文字
常用于给动态模板每张图片绑定字幕
高级图片素材替换示例:
public void testDynamicTempalte() {
// 证书
String license = "";
// 模板目录
String tplFolder = "/workspace/template/dynamic_text";
// 输出视频目录
String outputPath = "/workspace/output/dynamic.mp4";
String[] paths = {
basePath + "/workspace/assets/1.jpeg",
basePath + "/workspace/assets/2.jpeg",
basePath + "/workspace/assets/3.jpeg",
basePath + "/workspace/assets/4.jpeg",
basePath + "/workspace/assets/5.jpeg",
};
// 高级替换图片素材
ArrayList<DynamicSubFiles> subFiles = new ArrayList<>();
String[] subImgs = {
"/workspace/assets/235_41_text1.png"
};
String[] subImgs2 = {
"/workspace/assets/235_41_text2.png",
"/workspace/assets/235_41_text3.png"
};
String[] subImgs3 = {
"/workspace/assets/235_41_text4.png"
};
subFiles.add(new DynamicSubFiles("/workspace/assets/1.jpeg", "dtext", subImgs));
subFiles.add(new DynamicSubFiles("/workspace/assets/2.jpeg", "dtext", subImgs2));
subFiles.add(new DynamicSubFiles("/workspace/assets/3.jpeg", "dtext", subImgs3));
VeProcessRenderTask task = new VeProcessRenderTask(license, tplFolder, outputPath);
// 设置替换素材
task.setAssetPaths(paths);
// 设置高级替换图片素材
task.setDynamicSubFiles(JSON.toJSONString(subFiles));
try {
boolean ret = task.render();
} catch (Exception e) {
// error handle
} finally {
task.destroy();
}
}
高级文字替换, 需要依赖 TextPainter 工具, 需要先安装设置好 TextPainter.
高级文字素材替换示例:
public void testDynamicSubText() {
// 证书
String license = "";
// 动态模板目录
String tplFolder = "/workspace/template/kenbentuya/";
// 输出视频文件目录
String outputPath ="/workspace/output/kenbentuya.mp4";
// 替换素材路径
String[] paths = {
"/workspace/assets/1.jpeg",
"/workspace/assets/2.jpeg",
};
// 高级文字素材
ArrayList<DynamicSubTexts> subTexts = new ArrayList<>();
String[] title = {"标题"};
String[] text1 = {"描述"};
// 精确替换标题
subTexts.add(new DynamicSubTexts("", "title", title));
// 前缀替换字幕, 与 /workspace/assets/1.jpeg 绑定
subTexts.add(new DynamicSubTexts( "/workspace/assets/1.jpeg", "dtext", text1));
VeProcessRenderTask task = new VeProcessRenderTask(license, tplFolder, outputPath);
// 设置替换素材
task.setAssetPaths(paths);
// 设置文字
task.setDynamicSubTexts(JSON.toJSONString(subTexts));
// 设置文字绘制工具目录, 必须设置
task.setTextPainterDir("/workspace/ve-textpainter/textpainter/");
// 设置素材保存目录, 必须设置, 文字绘制图片会保存到该目录
task.setAssetDir( "/workspace/assets/");
// 启动渲染
try {
boolean ret = task.render();
} catch (Exception e) {
// error handle
} finally {
task.destroy();
}
}
请务必点击以下链接, 了解动态模板高级素材替换规范:
普通图片
常用于替换动态模板中某个指定位置的用户头像
文字
常用于给动态模板每张图片绑定字幕
高级图片素材替换示例:
public void testDynamicTempalte() {
// 证书
String license = "";
// 模板目录
String tplFolder = "/workspace/template/dynamic_text";
// 输出视频目录
String outputPath = "/workspace/output/dynamic.mp4";
String[] paths = {
basePath + "/workspace/assets/1.jpeg",
basePath + "/workspace/assets/2.jpeg",
basePath + "/workspace/assets/3.jpeg",
basePath + "/workspace/assets/4.jpeg",
basePath + "/workspace/assets/5.jpeg",
};
// 高级替换图片素材
ArrayList<DynamicSubFiles> subFiles = new ArrayList<>();
String[] subImgs = {
"/workspace/assets/235_41_text1.png"
};
String[] subImgs2 = {
"/workspace/assets/235_41_text2.png",
"/workspace/assets/235_41_text3.png"
};
String[] subImgs3 = {
"/workspace/assets/235_41_text4.png"
};
subFiles.add(new DynamicSubFiles("/workspace/assets/1.jpeg", "dtext", subImgs));
subFiles.add(new DynamicSubFiles("/workspace/assets/2.jpeg", "dtext", subImgs2));
subFiles.add(new DynamicSubFiles("/workspace/assets/3.jpeg", "dtext", subImgs3));
VeProcessRenderTask task = new VeProcessRenderTask(license, tplFolder, outputPath);
// 设置替换素材
task.setAssetPaths(paths);
// 设置高级替换图片素材
task.setDynamicSubFiles(JSON.toJSONString(subFiles));
try {
boolean ret = task.render();
} catch (Exception e) {
// error handle
} finally {
task.destroy();
}
}
高级文字替换, 需要依赖 TextPainter 工具, 需要先安装设置好 TextPainter.
高级文字素材替换示例:
public void testDynamicSubText() {
// 证书
String license = "";
// 动态模板目录
String tplFolder = "/workspace/template/kenbentuya/";
// 输出视频文件目录
String outputPath ="/workspace/output/kenbentuya.mp4";
// 替换素材路径
String[] paths = {
"/workspace/assets/1.jpeg",
"/workspace/assets/2.jpeg",
};
// 高级文字素材
ArrayList<DynamicSubTexts> subTexts = new ArrayList<>();
String[] title = {"标题"};
String[] text1 = {"描述"};
// 精确替换标题
subTexts.add(new DynamicSubTexts("", "title", title));
// 前缀替换字幕, 与 /workspace/assets/1.jpeg 绑定
subTexts.add(new DynamicSubTexts( "/workspace/assets/1.jpeg", "dtext", text1));
VeProcessRenderTask task = new VeProcessRenderTask(license, tplFolder, outputPath);
// 设置替换素材
task.setAssetPaths(paths);
// 设置文字
task.setDynamicSubTexts(JSON.toJSONString(subTexts));
// 设置文字绘制工具目录, 必须设置
task.setTextPainterDir("/workspace/ve-textpainter/textpainter/");
// 设置素材保存目录, 必须设置, 文字绘制图片会保存到该目录
task.setAssetDir( "/workspace/assets/");
// 启动渲染
try {
boolean ret = task.render();
} catch (Exception e) {
// error handle
} finally {
task.destroy();
}
}