|
@@ -389,32 +389,51 @@ public class FaceIdenService {
|
|
|
|
|
|
for(File videoFile : videoFiles){
|
|
|
String videoFileName = videoFile.getName();
|
|
|
+ logger.info("FaceIdenService.handleCameraVideo ...videoFile.getName() == " + videoFileName);
|
|
|
+
|
|
|
String shootEndTimeStr = videoFileName.substring(0, videoFileName.indexOf("_"));
|
|
|
Date shootEndTime = DateUtils.strToDate(shootEndTimeStr,"yyyyMMddHHmmss");
|
|
|
- Long duration = VideoTool.fetchAllPic(ffmpegPath, videoFile.getAbsolutePath(),idenRoot + "data/origin/camera/image/" + cameraCode, shootEndTime);
|
|
|
|
|
|
- File finalDir = new File(videoFile.getParentFile().getAbsolutePath().replace("origin","final"));
|
|
|
- if(!finalDir.exists()){
|
|
|
- finalDir.mkdirs();
|
|
|
+
|
|
|
+ String tmp = UUID.randomUUID().toString();
|
|
|
+ File finalDirTmp = new File(videoFile.getParentFile().getAbsolutePath().replace("origin","discard") + "/" + tmp);
|
|
|
+ if(!finalDirTmp.exists()){
|
|
|
+ finalDirTmp.mkdirs();
|
|
|
}
|
|
|
- logger.info("FaceIdenService.handleCameraVideo ...finalDir == " + finalDir.getAbsolutePath());
|
|
|
- logger.info("FaceIdenService.handleCameraVideo ...videoFile.getName() == " + videoFileName);
|
|
|
- File finalvideoFile = new File(finalDir, videoFileName);
|
|
|
+ logger.info("FaceIdenService.handleCameraVideo ...originImageDir == " + finalDirTmp.getAbsolutePath());
|
|
|
|
|
|
- logger.info("FaceIdenService.handleCameraVideo ...finalvideoFile == " + finalvideoFile.getAbsolutePath());
|
|
|
- videoFile.renameTo(finalvideoFile);//移动到最终目录
|
|
|
+ File originImageDir = new File(videoFile.getParentFile().getAbsolutePath().replace("video","image"));
|
|
|
+ if(!originImageDir.exists()){
|
|
|
+ originImageDir.mkdirs();
|
|
|
+ }
|
|
|
+ logger.info("FaceIdenService.handleCameraVideo ...originImageDir == " + originImageDir.getAbsolutePath());
|
|
|
|
|
|
+ //先把分解图片放入临时目录,临时目录下的文件重命名后移到原始目录等待图像识别
|
|
|
+ Long duration = VideoTool.fetchAllPic(ffmpegPath, videoFile.getAbsolutePath(),finalDirTmp.getAbsolutePath(),originImageDir.getAbsolutePath(), shootEndTime);
|
|
|
+
|
|
|
+ File finalVideoDir = new File(videoFile.getParentFile().getAbsolutePath().replace("origin","final"));
|
|
|
+ if(!finalVideoDir.exists()){
|
|
|
+ finalVideoDir.mkdirs();
|
|
|
+ }
|
|
|
+ logger.info("FaceIdenService.handleCameraVideo ...finalVideoDir == " + finalVideoDir.getAbsolutePath());
|
|
|
+
|
|
|
+ File finalVideoFile = new File(finalVideoDir, videoFileName);
|
|
|
+ logger.info("FaceIdenService.handleCameraVideo ...finalVideoFile == " + finalVideoFile.getAbsolutePath());
|
|
|
+ videoFile.renameTo(finalVideoFile);//把视频文件移动到最终目录
|
|
|
+
|
|
|
+ //保存数据库
|
|
|
IdenCameraVideo idenCameraVideo = new IdenCameraVideo();
|
|
|
idenCameraVideo.setVideoUrl(fileUrl + "camera/video/" + cameraCode + "/" + videoFileName);
|
|
|
idenCameraVideo.setCameraId(idenCamera.getId());
|
|
|
idenCameraVideo.setCommunityId(idenCamera.getCommunityId());
|
|
|
- idenCameraVideo.setName(videoFileName.substring(0,videoFileName.lastIndexOf(".mp4")));
|
|
|
+ idenCameraVideo.setName(videoFileName.substring(0,videoFileName.lastIndexOf(".")));
|
|
|
Long begin = shootEndTime.getTime() - duration;
|
|
|
idenCameraVideo.setPhotographBeginTime(new Date(begin));
|
|
|
idenCameraVideo.setPhotographEndTime(shootEndTime);
|
|
|
idenCameraVideo.setDuration(duration);
|
|
|
idenCameraVideo.setCreateTime(new Date());
|
|
|
idenCameraVideoService.save(idenCameraVideo);
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|