From 2a7636471e6d266cf22d8042455eedde64ad2f98 Mon Sep 17 00:00:00 2001
From: 康鲁杰 <60095866+KangLujie@users.noreply.github.com>
Date: 星期四, 17 四月 2025 15:04:57 +0800
Subject: [PATCH] 视频添加字幕 状态

---
 yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/coursemedia/CourseMediaServiceImpl.java |    2 +-
 yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/coursemedia/CourseMediaServiceUtil.java |   10 +++++++---
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/coursemedia/CourseMediaServiceImpl.java b/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/coursemedia/CourseMediaServiceImpl.java
index fbb3cba..9263772 100644
--- a/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/coursemedia/CourseMediaServiceImpl.java
+++ b/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/coursemedia/CourseMediaServiceImpl.java
@@ -212,7 +212,7 @@
             return CommonResult.error(BAD_REQUEST.getCode(), "瀛楀箷鏂囦欢涓嶅瓨鍦ㄦ垨鏈敓鎴�");
         }
         CourseMediaDO courseMediaDO = new CourseMediaDO();
-        courseMediaDO.setCourseId(courseMediaSubtitlesReqVO.getId());
+        courseMediaDO.setId(courseMediaSubtitlesReqVO.getId());
         courseMediaDO.setSubtitlesAddStatus(1);
         courseMediaMapper.updateById(courseMediaDO);
         courseMediaServiceUtil.createSubtitlesVideo(courseMediaDO1);
diff --git a/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/coursemedia/CourseMediaServiceUtil.java b/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/coursemedia/CourseMediaServiceUtil.java
index 85a90bd..fa8259f 100644
--- a/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/coursemedia/CourseMediaServiceUtil.java
+++ b/yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/coursemedia/CourseMediaServiceUtil.java
@@ -698,6 +698,8 @@
 
     @Async
     public void createCompositeVideo(CourseMediaSubtitlesReqVO courseMediaSubtitlesReqVO) {
+        // 鐢熸垚鏃堕棿鎴�
+        String timestamp = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
         //鐗囧ご鍦板潃
         String titles = courseMediaSubtitlesReqVO.getTitles();
         titles = configApi.getConfigValueByKey("easegen.url") + titles.substring(titles.lastIndexOf("/"));
@@ -723,7 +725,7 @@
         if (!file.exists()) {
             file.mkdirs();
         }
-        String fileListPath = configApi.getConfigValueByKey(HEYGEM_FACE2FACE) +"/compositeVideo/filelist.txt";
+        String fileListPath = configApi.getConfigValueByKey(HEYGEM_FACE2FACE) +"/compositeVideo/"+timestamp+".txt";
         try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileListPath))) {
             for (String path : videoUrls) {
                 writer.write("file '" + path + "'\n");
@@ -736,7 +738,7 @@
         String newFileName = courseMediaSubtitlesReqVO.getCourseName().replaceAll("[\\s\\p{Punct}]", "");
         ProcessBuilder builder = new ProcessBuilder(
                 "ffmpeg", "-f", "concat", "-safe", "0", "-i", fileListPath, "-c", "copy",
-                configApi.getConfigValueByKey(HEYGEM_FACE2FACE) + "/compositeVideo/" + newFileName + ".mp4"
+                configApi.getConfigValueByKey(HEYGEM_FACE2FACE) + "/compositeVideo/" + timestamp + ".mp4"
         );
         builder.redirectErrorStream(true);
         Process process = null;
@@ -772,12 +774,14 @@
                 }
             }
         }
-        byte[] bytes = FileUtil.readBytes(FileUtil.file(configApi.getConfigValueByKey(HEYGEM_FACE2FACE) +"/compositeVideo/"+newFileName+".mp4"));
+        byte[] bytes = FileUtil.readBytes(FileUtil.file(configApi.getConfigValueByKey(HEYGEM_FACE2FACE) +"/compositeVideo/"+timestamp+".mp4"));
         String compositeVideo = fileApi.createFile(bytes);
         CourseMediaDO courseMediaDO = new CourseMediaDO();
         courseMediaDO.setId(courseMediaSubtitlesReqVO.getId());
         courseMediaDO.setCompositeVideo(compositeVideo);
         courseMediaMapper.updateById(courseMediaDO);
+        FileUtil.del(configApi.getConfigValueByKey(HEYGEM_FACE2FACE) +"/compositeVideo/"+timestamp+".mp4");
+        FileUtil.del(configApi.getConfigValueByKey(HEYGEM_FACE2FACE) +"/compositeVideo/"+timestamp+".txt");
         System.out.println();
     }
 }

--
Gitblit v1.9.3