浏览代码

修改视频处理代码逻辑

syh 5 年之前
父节点
当前提交
f2d9024696

+ 13 - 11
jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/opencv/Test.java

@@ -6,6 +6,8 @@ import org.opencv.core.Size;
 import org.opencv.imgcodecs.Imgcodecs;
 import org.opencv.imgproc.Imgproc;
 
+import java.io.File;
+
 public class Test {
     public static void initVideo() {
         System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
@@ -56,17 +58,17 @@ public class Test {
         Imgcodecs.imwrite(targetPath + changeSenceFrameNumFrom + ".jpg", wholeImage);
         changeSenceFrameNumFrom++;
         //复制填充视频无变化图片
-//        for(int i=changeSenceFrameNumFrom;i<100000;i++){
-//            int checkNum = i-3-srcPhoneFrameNumFrom+1;
-//            String fillImagePath = fillPath+checkNum+".jpg";
-//            File file = new File(fillImagePath);
-//            if(file.exists()){
-//                Mat srcMat = Imgcodecs.imread(fillImagePath);
-//                Imgcodecs.imwrite(targetPath+i+".jpg",srcMat);
-//            }else{
-//                break;
-//            }
-//        }
+        for (int i = changeSenceFrameNumFrom; i < 100000; i++) {
+            int checkNum = i - 3 - srcPhoneFrameNumFrom + 1;
+            String fillImagePath = fillPath + checkNum + ".jpg";
+            File file = new File(fillImagePath);
+            if (file.exists()) {
+                Mat srcMat = Imgcodecs.imread(fillImagePath);
+                Imgcodecs.imwrite(targetPath + i + ".jpg", srcMat);
+            } else {
+                break;
+            }
+        }
     }
 
 

+ 2 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/demo/opencv/VideoProcessing.java

@@ -68,8 +68,8 @@ public class VideoProcessing {
         recorder.setVideoCodec(avcodec.AV_CODEC_ID_MPEG4); // 28
 //		recorder.setFormat("mp4");
         //	recorder.setFormat("mov,mp4,m4a,3gp,3g2,mj2,h264,ogg,MPEG4");
-        recorder.setFrameRate(20);
-        recorder.setPixelFormat(Avutils.AV_PIX_FMT_YUV420P); // yuv420p
+        recorder.setFrameRate(25);
+        recorder.setPixelFormat(Avutils.AV_PIX_FMT_YUV422P); // yuv420p
         recorder.start();
         //
         OpenCVFrameConverter.ToIplImage conveter = new OpenCVFrameConverter.ToIplImage();