南昌市物联网技防平台-后台
tangzy
2021-04-06 5b6e4a9e17e2425b43e3a6957115366e84ba8ce5
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/rvideo/controller/RvideoController.java
@@ -41,14 +41,12 @@
import org.springblade.jfpt.rvideo.vo.RvideoVO;
import org.springblade.jfpt.rvideo.service.IRvideoService;
import org.springblade.core.boot.ctrl.BladeController;
import java.io.File;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;
import org.bytedeco.javacpp.avcodec;
import org.bytedeco.javacv.*;
import java.io.IOException;
/**
 * 控制器
@@ -66,8 +64,9 @@
   private final IAlarmService alarmService;
   private final IXlfeedbackService xlfeedbackService;
   private static String PRE_URL = "D:\\software\\minio\\data\\jfpt\\void\\";
   private static String PRF_MINIO_URL = "minio/jfpt/void/";
   private static  Thread thread;
   private static  String UUIDs;
   /**
    * 详情
@@ -197,4 +196,35 @@
      }
      return vaddress;
   }
      /**
    * Javacv录制视频
    */
   @PostMapping("/rVoids")
   public void rVoids() {
      String UUID = DateUtil.time();
      UUIDs=UUID;
      RecordVideoThread recordVideoThread = new RecordVideoThread();
      recordVideoThread.filePath = "D:\\software\\minio\\data\\jfpt\\void\\"+UUID + ".mp4";
      recordVideoThread.timesSec = 0L;
      recordVideoThread.streamURL = "https://web.byisf.com:18000/live?port=1935&app=live&stream=0012415A75C6-1";// 最好设置结束时长 如直接停止程序会造成输出文件的损坏无法正常播放
      recordVideoThread.isAudio = true;
      thread = new Thread(recordVideoThread);
      thread.start();
   }
   @PostMapping("/stop")
   public void stop(String jid) throws FrameGrabber.Exception {
      //返回前端路径
      String vaddress = null;
        thread.stop();
      //返回路径
      vaddress = "https://web.byisf.com/" + PRF_MINIO_URL + UUIDs + ".mp4";
      //把路径通过警情id添加到警情信息
      alarmService.updateVaddress(vaddress,jid);
   }
}