From f5272a929da1ac27294ad4928d06828db2b7d19a Mon Sep 17 00:00:00 2001
From: shenrongliang <1328040932@qq.com>
Date: 星期一, 07 四月 2025 14:53:50 +0800
Subject: [PATCH] 配置修改,合成视频

---
 yudao-module-digitalcourse/yudao-module-digitalcourse-biz/src/main/java/cn/iocoder/yudao/module/digitalcourse/service/coursemedia/CourseMediaServiceUtil.java |   31 ++++++++++++++++++++++---------
 1 files changed, 22 insertions(+), 9 deletions(-)

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 cde4060..749dfe0 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
@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.digitalcourse.service.coursemedia;
 
+import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.util.RandomUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.http.HttpRequest;
@@ -16,6 +17,7 @@
 import cn.iocoder.yudao.module.digitalcourse.service.voices.VoicesServiceImpl;
 import cn.iocoder.yudao.module.digitalcourse.util.SrtToVttUtil;
 import cn.iocoder.yudao.module.infra.api.config.ConfigApi;
+import cn.iocoder.yudao.module.infra.api.file.FileApi;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -32,6 +34,7 @@
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.StandardCopyOption;
+import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
@@ -61,6 +64,8 @@
 
     @Resource
     private VoicesServiceImpl serviceImpl;
+    @Resource
+    private FileApi fileApi;
 
     /**
      * 杩滅▼鍚堝苟瑙嗛
@@ -217,9 +222,6 @@
                     result = "D:/heygem_data/face2face/temp" + result;
                     videoUrls.add(result);
                     System.out.println("椹卞姩瑙嗛鍚�"+result);
-                    // 濡傛灉鎴愬姛锛屾洿鏂扮姸鎬佷负1锛堟垚鍔燂級
-                    courseMediaDO.setStatus(1);
-                    courseMediaMapper.updateById(courseMediaDO);
                 } catch (Exception e) {
                     retryCount++;
                     if (retryCount >= maxRetries) {
@@ -255,6 +257,7 @@
         String newFileName = updateReqVO.getName().replaceAll("[\\s\\p{Punct}]", "");
         ProcessBuilder builder = new ProcessBuilder(
                 "ffmpeg", "-f", "concat", "-safe","0", "-i",fileListPath , "-c", "copy", "D:/heygem_data/face2face/temp/"+"111111.mp4"
+//                q
         );
         builder.redirectErrorStream(true);
         Process process = null;
@@ -272,8 +275,17 @@
         } catch (IOException e) {
             throw new RuntimeException(e);
         }
-
-
+        // "D:/heygem_data/face2face/temp/"+"111111.mp4"灏嗚繖涓枃浠惰浆鎴恇yte[]
+        byte[] bytes = FileUtil.readBytes(FileUtil.file("D:/heygem_data/face2face/temp/"+"111111.mp4"));
+        String file = fileApi.createFile(bytes);
+        // 濡傛灉鎴愬姛锛屾洿鏂扮姸鎬佷负1锛堟垚鍔燂級
+        courseMediaDO.setStatus(1);
+        courseMediaDO.setPreviewUrl(file);
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        Date date = new Date();
+        courseMediaDO.setFinishTime(sdf.format(date));
+        courseMediaDO.setProgress(100.0f);
+        courseMediaMapper.updateById(courseMediaDO);
     }
 
     // 鍥涜垗浜斿叆鏂规硶
@@ -308,10 +320,11 @@
                 if (status == 2) {
                     result = data.getString("result");
                     System.out.println("浠诲姟宸插畬鎴愶紝缁撴灉鏂囦欢璺緞: " + result);
-                } else {
+                } else if (status == 3){
+                    throw new RuntimeException("浠诲姟澶辫触锛岃鑱旂郴绠$悊鍛�");
+                }else {
                     System.out.println("浠诲姟灏氭湭瀹屾垚锛屽綋鍓嶈繘搴�: " + data.getIntValue("progress") + "%");
                 }
-
                 // 绛夊緟涓�娈垫椂闂村啀杩涜涓嬩竴娆¤疆璇紙閬垮厤棰戠箒璇锋眰锛�
                 // 姣忛殧 5 绉掕疆璇竴娆�
                 Thread.sleep(5000);
@@ -325,8 +338,8 @@
                     interruptedException.printStackTrace();
                 }
             }
-            // 褰� status 涓嶇瓑浜� 2 鏃剁户缁惊鐜�
-        } while (status != 2);
+            // 褰� status 绛変簬  鏃剁户缁惊鐜�
+        } while (status == 1 );
         return result;
     }
 

--
Gitblit v1.9.3