Pārlūkot izejas kodu

截图功能优化,新增本地调试配置

zhangchen 4 nedēļas atpakaļ
vecāks
revīzija
fea6f1b2ac

+ 9 - 1
alien-util/src/main/java/shop/alien/util/common/VideoUtils.java

@@ -3,6 +3,7 @@ package shop.alien.util.common;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
+import shop.alien.util.system.OSUtil;
 
 import java.io.BufferedReader;
 import java.io.IOException;
@@ -35,8 +36,15 @@ public class VideoUtils {
         ProcessBuilder processBuilder = new ProcessBuilder();
         // 重定向错误流,防阻塞
         processBuilder.redirectErrorStream(true);
+
+        // 如果为本地测试,ffmpegPath地址需求修改为本地安装程序的地址(环境变量不好用)
+        String ffmpegPath = "ffmpeg";
+        if ("windows".equals(OSUtil.getOsName())) {
+            ffmpegPath = "C:/Program Files (x86)/ffmpeg-6.0/bin/ffmpeg.exe";
+        }
+
         // 调用ffmpeg 执行截取命令,需要服务器中安装了ffmpeg并配置了环境变量
-        processBuilder.command("ffmpeg", "-i", videoFilePath, "-ss", "00:00:01", "-vframes", "1", imgFilePath);
+        processBuilder.command(ffmpegPath, "-i", videoFilePath, "-ss", "00:00:01", "-vframes", "1", imgFilePath);
         try {
             Process process = processBuilder.start();
             // 获取流信息