Ver código fonte

视频第三帧

xw 19 horas atrás
pai
commit
e5f24e8d2b

+ 8 - 8
fs-admin/src/main/java/com/fs/course/controller/FsUserVideoController.java

@@ -196,7 +196,7 @@ public class FsUserVideoController extends BaseController
 
 
     /**
-     * 获取视频第帧为封面
+     * 获取视频第帧为封面
      * @param file
      * @return
      * @throws Exception
@@ -219,7 +219,7 @@ public class FsUserVideoController extends BaseController
             return R.error("获取封面失败");
         }
 
-        // 提取视频第
+        // 提取视频第
         String frameFileName = FilenameUtils.removeExtension(videoFileName) + "_frame.jpg";
         createDir(FRAME_OUTPUT_DIR);
         File frameFile = new File(FRAME_OUTPUT_DIR, frameFileName);
@@ -228,10 +228,10 @@ public class FsUserVideoController extends BaseController
         } catch (Exception e) {
             e.printStackTrace();
             // 记录错误日志
-            return R.error("提取第帧失败");
+            return R.error("提取第帧失败");
         }
 
-        // 上传第帧图片到 COS
+        // 上传第帧图片到 COS
         String suffix = ".jpg";
         CloudStorageService storage = OSSFactory.build();
         String url;
@@ -247,17 +247,17 @@ public class FsUserVideoController extends BaseController
             frameFile.delete();
         }
 
-        // 返回第帧图片的 COS URL
+        // 返回第帧图片的 COS URL
         return R.ok().put("url", url);
     }
 
-    // 提取视频第帧的方法
+    // 提取视频第帧的方法
     private void extractFirstFrame(String videoPath, String outputImagePath) throws IOException, InterruptedException {
         String[] command = {
                 "ffmpeg",
                 "-i", videoPath,
-//                "-ss", "00:00:01.000", // 截取1秒处的帧
-                "-frames:v", "1",
+                "-ss", "00:00:03.000", // 定位到第3秒
+                "-frames:v", "1",        // 只取1帧
                 "-f", "image2",
                 "-update", "1",
                 "-q:v", "10", // 质量,1为最好,31为最差