Просмотр исходного кода

取消读取mnt目录的配置类

xiewj 2 лет назад
Родитель
Сommit
200909b77d

+ 1 - 0
src/main/java/com/fdkankan/scene/constant/ConstantFileLocPath.java

@@ -6,5 +6,6 @@ package com.fdkankan.scene.constant;
  */
 public class ConstantFileLocPath {
     public static final String SCENE_DATA_PATH_V4 = "/scene_v4/%s/data/";
+    public static final String SCENE_USER_PATH_V4 = "/scene_v4/%s/user/";
 
 }

+ 3 - 1
src/main/java/com/fdkankan/scene/service/impl/BoxModelServiceImpl.java

@@ -17,6 +17,7 @@ import com.fdkankan.model.constants.ConstantFilePath;
 import com.fdkankan.model.constants.UploadFilePath;
 import com.fdkankan.model.utils.ComputerUtil;
 import com.fdkankan.scene.bean.BoxModelBean;
+import com.fdkankan.scene.constant.ConstantFileLocPath;
 import com.fdkankan.scene.entity.SceneEditInfo;
 import com.fdkankan.scene.entity.ScenePlus;
 import com.fdkankan.scene.entity.ScenePlusExt;
@@ -76,7 +77,8 @@ public class BoxModelServiceImpl implements IBoxModelService {
         if(!FileUtils.checkFileSizeIsLimit(file.getSize(), 5, "M")){
             throw new BusinessException(ErrorCode.FAILURE_CODE_7023, "5M");
         }
-        String path = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num) + "boxModel/" + sid + "/";
+        String path = String.format(scenePlusExt.getDataSource()+ ConstantFileLocPath.SCENE_USER_PATH_V4, num)+ "boxModel/" + sid + "/";
+
         String zipPath = path + file.getOriginalFilename();
         String srcPath = path + "data/";
         String glbPath = path + sid + ".glb";

+ 7 - 2
src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java

@@ -28,6 +28,7 @@ import com.fdkankan.scene.entity.*;
 import com.fdkankan.scene.mapper.ISceneEditInfoMapper;
 import com.fdkankan.scene.oss.OssUtil;
 import com.fdkankan.scene.service.*;
+import com.fdkankan.scene.util.MergeVideoUtil;
 import com.fdkankan.scene.vo.*;
 import com.fdkankan.web.response.ResultData;
 import com.google.common.collect.Lists;
@@ -2423,9 +2424,12 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
     }
 
     private void transferToFlv(String num, String fileName, String bucket) throws Exception {
+        ScenePlus scenePlus = scenePlusService.getScenePlusByNum(num);
+
+        ScenePlusExt scenePlusExt = scenePlusExtService.getScenePlusExtByPlusId(scenePlus.getId());
 
         String userEditPath = String.format(UploadFilePath.USER_EDIT_PATH, num);
-        String localImagesPath = String.format(ConstantFilePath.SCENE_USER_PATH_V4, num);
+        String localImagesPath = String.format(scenePlusExt.getDataSource()+ConstantFileLocPath.SCENE_DATA_PATH_V4, num);
         String localFilePath = localImagesPath + fileName;
 
         File targetFile = new File(localImagesPath);
@@ -2443,11 +2447,12 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         ossUtil.downloadFile(filePath, localImagesPath + fileName);
 
         //视频格式转换
-        CreateObjUtil.mp4ToFlv(localFilePath, localFilePath.replace("mp4", "flv"));
+        MergeVideoUtil.ffmpegFormatFlv(localFilePath, localFilePath.replace("mp4", "flv"));
 
         //上传
         String flvFileName = fileName.replace("mp4", "flv");
         ossUtil.uploadFile(userEditPath+flvFileName, localFilePath.replace("mp4", "flv"), false);
+        FileUtil.del(localFilePath);
     }
 
     @Override

+ 22 - 1
src/main/java/com/fdkankan/scene/util/MergeVideoUtil.java

@@ -110,7 +110,28 @@ public class MergeVideoUtil {
         }
         return true;
     }
-
+    /**
+     * @param sourceFile 原文件路径
+     * @param thumbFile   目标文件路径
+     * @param thumbWidth  宽度
+     * @param thumbHigh   高度
+     * @return ffmpeg -i bb.mp4 -y -vframes 1 -vf scale=100:100/a thumb.jpg
+     */
+    public static boolean ffmpegFormatFlv(String sourceFile, String targetFile) {
+        String cmd = MergeVideoUtil.ffmpeg + "  -i " + sourceFile + " -c:v copy  -c:a copy  " + targetFile + " -y";
+        try {
+            MergeVideoUtil.execCommand(cmd);
+        } catch (IOException e) {
+            e.printStackTrace();
+            MergeVideoUtil.log.error(" 转换flv失败-{}", e.getMessage());
+            return false;
+        }
+        File file = new File(targetFile);
+        if (!file.exists()) {
+            return false;
+        }
+        return true;
+    }
     public static Boolean mergeVideo(List<String> fromVideoFileList, String newVideoFile) {
         try {
             List<String> voidTS = new ArrayList<>();