From 91a1c9bf1fc1e7b711655d987cfab54445362ef6 Mon Sep 17 00:00:00 2001 From: 康鲁杰 <60095866+KangLujie@users.noreply.github.com> Date: 星期一, 31 三月 2025 15:00:46 +0800 Subject: [PATCH] 扣视频 --- yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/dal/dataobject/digitalhumans/DigitalHumansDO.java | 1 + yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/controller/admin/digitalhumans/vo/DigitalHumansSaveReqVO.java | 3 ++- yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/controller/admin/digitalhumans/vo/DigitalHumansTrailVO.java | 1 + yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/digitalhumans/DigitalHumansServiceImpl.java | 8 ++++++++ yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/digitalhumans/DigitalHumansServiceUtil.java | 16 +++++++++++----- 5 files changed, 23 insertions(+), 6 deletions(-) diff --git a/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/controller/admin/digitalhumans/vo/DigitalHumansSaveReqVO.java b/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/controller/admin/digitalhumans/vo/DigitalHumansSaveReqVO.java index d8c8302..907a260 100644 --- a/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/controller/admin/digitalhumans/vo/DigitalHumansSaveReqVO.java +++ b/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/controller/admin/digitalhumans/vo/DigitalHumansSaveReqVO.java @@ -69,5 +69,6 @@ private String fixPictureUrl; //淇瑙嗛 private String fixVideoUrl; - + //鏄惁涓洪�忔槑鑳屾櫙瑙嗛 1鏄� 2鍚� + private Integer isTransparent; } diff --git a/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/controller/admin/digitalhumans/vo/DigitalHumansTrailVO.java b/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/controller/admin/digitalhumans/vo/DigitalHumansTrailVO.java index 1fd4781..d903ae3 100644 --- a/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/controller/admin/digitalhumans/vo/DigitalHumansTrailVO.java +++ b/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/controller/admin/digitalhumans/vo/DigitalHumansTrailVO.java @@ -14,5 +14,6 @@ private String useModel; private String accountId; private String videoUrl; + private Integer isTransparent; } diff --git a/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/dal/dataobject/digitalhumans/DigitalHumansDO.java b/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/dal/dataobject/digitalhumans/DigitalHumansDO.java index 89488d7..6e8711f 100644 --- a/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/dal/dataobject/digitalhumans/DigitalHumansDO.java +++ b/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/dal/dataobject/digitalhumans/DigitalHumansDO.java @@ -134,5 +134,6 @@ private String referenceAudioText; private String asrFormatAudioUrl; + private Integer isTransparent; } diff --git a/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/digitalhumans/DigitalHumansServiceImpl.java b/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/digitalhumans/DigitalHumansServiceImpl.java index 7ff69ea..44f12c7 100644 --- a/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/digitalhumans/DigitalHumansServiceImpl.java +++ b/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/digitalhumans/DigitalHumansServiceImpl.java @@ -60,6 +60,10 @@ DigitalHumansDO updateObj = BeanUtils.toBean(updateReqVO, DigitalHumansDO.class); digitalHumansMapper.updateById(updateObj); + if (updateObj.getStatus() == 2){ + //鍙楃悊鎵h棰� + digitalHumansServiceUtil.remoteHeyGemMatting(transferVO(updateObj.getId())); + } //寮傛璁粌妯″瀷 if (updateObj.getStatus() == 3){ digitalHumansServiceUtil.remoteHeyGemTrain(transferVO(updateObj.getId())); @@ -72,6 +76,10 @@ DigitalHumansDO digitalHumans = this.getDigitalHumans(id); DigitalHumansTrailVO build = DigitalHumansTrailVO.builder().build(); if (StrUtil.isBlank(digitalHumans.getVideoUrl())) build.setVideoUrl(digitalHumans.getVideoUrl()); + if (StrUtil.isBlank(digitalHumans.getFixVideoUrl())) build.setFixVideoUrl(digitalHumans.getFixVideoUrl()); + if (digitalHumans.getIsTransparent() != null) { + build.setIsTransparent(digitalHumans.getIsTransparent()); + } BeanUtils.copyProperties(digitalHumans, build); build.setAccountId(digitalHumans.getCreator()); return build; diff --git a/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/digitalhumans/DigitalHumansServiceUtil.java b/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/digitalhumans/DigitalHumansServiceUtil.java index 5098178..0e3b4ce 100644 --- a/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/digitalhumans/DigitalHumansServiceUtil.java +++ b/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/digitalhumans/DigitalHumansServiceUtil.java @@ -60,6 +60,10 @@ private ConfigApi configApi; @Resource private FileApi fileApi; + + public void remoteHeyGemMatting(DigitalHumansTrailVO digitalHumansTrailVO) { + System.out.println(digitalHumansTrailVO); + } @Async public void remoteHeyGemTrain(DigitalHumansTrailVO digitalHumansTrailVo){ String origin_audio = configApi.getConfigValueByKey(HEYGEM_VOICE_DATA) + "/origin_audio"; @@ -147,9 +151,8 @@ throw new RuntimeException(e); } String picFilePath = Paths.get(pngPath , picFileName).toString(); - int frameTime = 3; // 鎴彇绗� 5 绉掔殑鐢婚潰 - extractFrame(modelFilePath, picFilePath, frameTime); + extractFrame(modelFilePath, picFilePath); byte[] fileContent = Files.readAllBytes(Paths.get(picFilePath)); // 璇诲彇鏂囦欢鍐呭 String fileUrl = fileApi.createFile(fileContent); @@ -220,10 +223,11 @@ * @param outputImagePath 杈撳嚭鍥剧墖璺緞 * @param frameTime 鎴彇鐨勬椂闂寸偣 */ - public static void extractFrame(String videoPath, String outputImagePath, int frameTime) { + public static void extractFrame(String videoPath, String outputImagePath) { ProcessBuilder processBuilder = new ProcessBuilder( - "ffmpeg","-i", videoPath,"-ss", String.valueOf(frameTime), - "-vframes", "1", + "ffmpeg", "-i", videoPath, + "-vf", "select=eq(n\\,0)", // 閫夋嫨绗�0甯� + "-vsync", "vfr", // 闃叉閲嶅甯� "-q:v", "2", outputImagePath ); @@ -390,4 +394,6 @@ } } + + } -- Gitblit v1.9.3