扫一扫咨询方案
首页
登录/注册

{user.username}

ID: {user.id}

模板 SDK 文档

  • 云渲染

    • Demo下载
    • SDK
    • 开发指南
    • AI API 文档
    • 开发者 API 文档
    • 控制台指南
    • 快速入门
    • 产品简介
  • 模板SDK

    • 用户常见问题
    • Demo 下载
    • 开发指南
    • 服务端 SDK
    • iOS SDK
    • 安卓端 SDK
    • 产品简介
  • 剪辑SDK

    • Demo下载
    • SDK
    • 开发指南
    • 产品简介
  • 模板制作教程

    • 模板制作进阶教程
    • 测试模板素材案例下载
    • 常见模板制作案例
    • 模板制作教程
    • 模板制作工具下载
    • 入门指南
  • 剪辑制作教程

    • 剪辑特效导出教程
    • 剪辑特效测试素材
    • 剪辑特效制作工具下载
    • 入门指南
产品简介
安卓端 SDK
iOS SDK
服务端 SDK
开发指南
Demo 下载
用户常见问题
首页 > Java SDK > 动态模板高级素材替换

动态模板高级素材替换

更新时间 : 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();
        }
    }
首页 > Java SDK > 动态模板高级素材替换
动态模板高级素材替换
更新时间 : 2021-02-05 21:29:38
  • 云渲染
    • Demo下载
    • SDK
    • 开发指南
    • AI API 文档
    • 开发者 API 文档
    • 控制台指南
    • 快速入门
    • 产品简介
  • 模板SDK
    • 用户常见问题
    • Demo 下载
    • 开发指南
    • 服务端 SDK
    • iOS SDK
    • 安卓端 SDK
    • 产品简介
  • 剪辑SDK
    • Demo下载
    • SDK
    • 开发指南
    • 产品简介
  • 模板制作教程
    • 模板制作进阶教程
    • 测试模板素材案例下载
    • 常见模板制作案例
    • 模板制作教程
    • 模板制作工具下载
    • 入门指南
  • 剪辑制作教程
    • 剪辑特效导出教程
    • 剪辑特效测试素材
    • 剪辑特效制作工具下载
    • 入门指南

准备工作

请务必点击以下链接, 了解动态模板高级素材替换规范:

动态模板高级素材替换规范

高级素材类型

  • 普通图片

    常用于替换动态模板中某个指定位置的用户头像

  • 文字

    常用于给动态模板每张图片绑定字幕

动态模板高级图片素材替换

高级图片素材替换示例:

    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();
        }
    }