Procházet zdrojové kódy

更新对视频文件的处理

reghao před 2 roky
rodič
revize
9b7d74f9a7

+ 22 - 16
dfs-store/src/main/java/cn/reghao/dfs/store/task/VideoFileProcessor.java

@@ -56,24 +56,28 @@ public class VideoFileProcessor {
         boolean duplicate = objectResult.isDuplicate();
         if (duplicate) {
             String dupObjectId = objectResult.getDupObjectId();
+            VideoFile videoFile = mediaRepository.findVideoFile(dupObjectId);
+            boolean horizontal = videoFile.getHorizontal();
+            int duration = videoFile.getDuration();
+            VideoFile videoFile1 = new VideoFile(videoFileId, horizontal, duration);
+
             VideoUrl videoUrl = mediaRepository.findVideoUrl(dupObjectId);
+            String videoFileId1 = videoUrl.getVideoFileId();
+            String urlObjectId = videoUrl.getObjectId();
+            if (!videoFileId1.equals(urlObjectId)) {
+                log.info("{} 文件经过转码, 暂不处理", objectName);
+                return null;
+            }
+
             String urlType = videoUrl.getUrlType();
             String quality = videoUrl.getQuality();
             int width = videoUrl.getWidth();
             int height = videoUrl.getHeight();
-            String objectName1 = objectNameService.getObjectNameFromUrl(videoUrl.getUrl());
-            ObjectResult objectResult1 = putObjectService.copyObject(objectName1);
-            String objectId1 = objectResult1.getObjectId();
-            String url1 = objectNameService.getObjectUrl(objectName1);
-            VideoUrl videoUrl1 = new VideoUrl(videoFileId, objectId1, urlType, url1, quality, width, height);
-
-            VideoFile videoFile = mediaRepository.findVideoFile(dupObjectId);
-            boolean horizontal = videoFile.getHorizontal();
-            int duration = videoFile.getDuration();
-            VideoFile videoFile1 = new VideoFile(videoFileId, horizontal, duration);
+            String url = objectNameService.getObjectUrl(objectName);
+            VideoUrl videoUrl1 = new VideoUrl(videoFileId, videoFileId, urlType, url, quality, width, height);
 
             mediaRepository.saveVideoFile(videoFile1, videoUrl1);
-            return new UploadFileRet(videoFileId, url1);
+            return new UploadFileRet(videoFileId, url);
         }
 
         String absolutePath = objectResult.getAbsolutePath();
@@ -107,16 +111,18 @@ public class VideoFileProcessor {
         int duration = videoProps.getDuration().intValue();
         VideoFile videoFile = new VideoFile(videoFileId, horizontal, duration);
 
-        String originalObjectName = objectResult.getObjectName();
-        ObjectResult objectResult1 = putObjectService.copyObject(originalObjectName);
+        String originalUrl = objectNameService.getObjectUrl(objectName);
+
+        /*ObjectResult objectResult1 = putObjectService.copyObject(originalObjectName);
         String objectName1 = objectResult1.getObjectName();
         String objectId1 = objectResult1.getObjectId();
-        String url1 = objectNameService.getObjectUrl(objectName1);
+        String url1 = objectNameService.getObjectUrl(objectName1);*/
+
         MediaResolution mediaResolution = MediaQuality.getQuality(width, height);
         String urlType = FileType.getVideoUrlType(absolutePath);
-        VideoUrl videoUrl  = new VideoUrl(videoFileId, objectId1, urlType, url1, mediaResolution);;
+        VideoUrl videoUrl  = new VideoUrl(videoFileId, videoFileId, urlType, originalUrl, mediaResolution);;
         mediaRepository.saveVideoFile(videoFile, videoUrl);
-        return new UploadFileRet(videoFileId, url1);
+        return new UploadFileRet(videoFileId, originalUrl);
         //log.info("添加视频格式转码任务");
         //threadPool.submit(new ConvertTask());
     }