|
|
@@ -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();
|
|
|
// 获取流信息
|