diff --git a/pom.xml b/pom.xml
index 236c479..c2a565c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,6 +19,15 @@
2.2.3.RELEASE
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+
+
+ com.wabestway.engine
+ afis-engine-api
+ 2.5
+
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-config
diff --git a/src/main/java/com/wabestway/recall/AfisRecallApplication.java b/src/main/java/com/wabestway/recall/AfisRecallApplication.java
index 7233137..0106001 100644
--- a/src/main/java/com/wabestway/recall/AfisRecallApplication.java
+++ b/src/main/java/com/wabestway/recall/AfisRecallApplication.java
@@ -3,9 +3,11 @@ package com.wabestway.recall;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
@SpringBootApplication
@EnableDiscoveryClient
+@EnableFeignClients(basePackages = {"com.wabestway.engine"})
public class AfisRecallApplication {
public static void main(String[] args) {
diff --git a/src/main/java/com/wabestway/recall/web/OrderController.java b/src/main/java/com/wabestway/recall/web/OrderController.java
index 1b5b16d..46663db 100644
--- a/src/main/java/com/wabestway/recall/web/OrderController.java
+++ b/src/main/java/com/wabestway/recall/web/OrderController.java
@@ -101,19 +101,19 @@ public class OrderController {
return Mono.just(ResObj.ok());
}
- void createVideo(String dir, String jsonData) throws IOException {
+ void createVideo(String orderId, String jsonData) throws IOException {
// 创建临时目录
Path tempDir = null;
try {
- tempDir = Files.createTempDirectory(dir);
+ tempDir = Files.createTempDirectory("ts");
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Created temporary directory: " + tempDir);
try {
- File tempFile = File.createTempFile("traces", ".json", tempDir.toFile());
+ File tempFile = new File(tempDir.toFile(), "traces.json");
FileWriter fw = new FileWriter(tempFile);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(jsonData);
diff --git a/src/test/java/com/wabestway/recall/FFmpeg.java b/src/test/java/com/wabestway/recall/FFmpeg.java
index adb9639..3945f20 100644
--- a/src/test/java/com/wabestway/recall/FFmpeg.java
+++ b/src/test/java/com/wabestway/recall/FFmpeg.java
@@ -1,12 +1,69 @@
package com.wabestway.recall;
+import com.alibaba.fastjson.JSONArray;
import org.junit.jupiter.api.Test;
+import javax.script.*;
+import java.io.*;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.Base64;
+import java.util.Comparator;
+import java.util.List;
+import java.util.zip.GZIPInputStream;
+
+
public class FFmpeg {
@Test
- public void TestMp4() {
+ public void TestMp4() throws IOException {
+ String jsonData = new String(Files.readAllBytes(Paths.get("C:","Users/Administrator/Desktop","traces.json")), StandardCharsets.UTF_8);
+ // 创建临时目录
+ Path tempDir = null;
+ try {
+ tempDir = Files.createTempDirectory("example");
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ System.out.println("Created temporary directory: " + tempDir);
+ try {
+ File tempFile = File.createTempFile("traces", ".json", tempDir.toFile());
+ FileWriter fw = new FileWriter(tempFile);
+ BufferedWriter bw = new BufferedWriter(fw);
+ bw.write(jsonData);
+ bw.flush();
+ bw.close();
+ fw.close();
+ String[] command = {"C:\\Users\\Administrator\\AppData\\Roaming\\npm\\ts-node", "E:\\Develop\\trace-transform\\src\\index.ts"};
+ ProcessBuilder processBuilder = new ProcessBuilder(command);
+ processBuilder.directory(tempDir.toFile());
+ // 在临时目录下执行命令
+ Process process = processBuilder.start();
+ // 读取命令输出
+ BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
+ String line;
+ while ((line = reader.readLine()) != null) {
+ System.out.println(line);
+ }
+ reader.close();
+
+ // 等待命令执行完成
+ int exitCode = process.waitFor();
+ System.out.println("Command exited with code " + exitCode);
+ } catch (IOException | InterruptedException e) {
+ e.printStackTrace();
+ } finally {
+ // 删除临时目录
+ Files.walk(tempDir)
+ .sorted(Comparator.reverseOrder())
+ .map(Path::toFile)
+ .forEach(File::delete);
+ }
}
+
+
}