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