光源相机修改

漯河-上右
LAPTOP-S9HJSOEB\昊天 2 years ago
parent 1454a5979d
commit 8293883aab

@ -25,7 +25,7 @@ public class Encryptor {
public static void main(String[] args) public static void main(String[] args)
{ {
String noEncrypt = "178BFBFF00860F01Z22PEUHNS"; String noEncrypt = "BFEBFBFF000306F2WD-WXM2D43LEJVF";
String encrypt = Encryptor.encryptStr(noEncrypt); String encrypt = Encryptor.encryptStr(noEncrypt);
System.out.println(encrypt); System.out.println(encrypt);
} }

@ -324,9 +324,6 @@ public class CameraControlController {
@PostMapping("/mp4/{id}") @PostMapping("/mp4/{id}")
@ApiOperation(value = "录像") @ApiOperation(value = "录像")
public Result MP4(@PathVariable Integer id) { public Result MP4(@PathVariable Integer id) {
checkLogin(id);
LocalDateTime localDateTime = LocalDateTime.of(2022,7,21,8,20);
cameraControlModule.downloadMp4(id,"E:\\work\\"+localDateTime.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))+".mp4", localDateTime,localDateTime.plusMinutes(3));
return Result.success(); return Result.success();
} }
@ -337,7 +334,14 @@ public class CameraControlController {
if (CameraConnMap.getConnId(cameraId) == null) { if (CameraConnMap.getConnId(cameraId) == null) {
Boolean ok = false; Boolean ok = false;
if (configProperties.getCameraConfig().getCameraType() == ConfigProperties.HIK_CAMERA) { if (configProperties.getCameraConfig().getCameraType() == ConfigProperties.HIK_CAMERA) {
ok = HikLoginModuleImpl.connectStatus(CameraConnMap.getConnId(cameraId).intValue()); if(CameraConnMap.getConnId(cameraId) != null) {
ok = HikLoginModuleImpl.connectStatus(CameraConnMap.getConnId(cameraId).intValue());
}else {
Camera camera = cameraMapper.selectById(cameraId);
if(cameraService.cameraLogin(camera)){
ok = true;
}
}
} else { } else {
ok = JoywareLoginModuleImpl.connectStatus(CameraConnMap.getConnId(cameraId)); ok = JoywareLoginModuleImpl.connectStatus(CameraConnMap.getConnId(cameraId));
} }

@ -109,7 +109,7 @@ public interface CameraControlModule {
boolean pic(Integer cameraId, int channel, String realPath); boolean pic(Integer cameraId, int channel, String realPath);
void downloadMp4(Integer cameraId, String path, LocalDateTime start, LocalDateTime end); void downloadMp4(Integer cameraId, String path, LocalDateTime start, LocalDateTime end,int channelId);
/** /**
* *

@ -19,6 +19,7 @@ public class CameraDelayTask implements Delayed {
private String path; private String path;
private Integer channelId;
/** /**
* 0 : mp4 1:jpeg * 0 : mp4 1:jpeg
*/ */

@ -13,8 +13,9 @@ public class TaskDelayExecutor {
private static DelayQueue<CameraDelayTask> queue = new DelayQueue<>(); private static DelayQueue<CameraDelayTask> queue = new DelayQueue<>();
public static void addMp4DelayTask(Integer cameraId, String path, LocalDateTime startTime, LocalDateTime endTime, Long delayTime) { public static void addMp4DelayTask(Integer cameraId, String path, LocalDateTime startTime, LocalDateTime endTime, Long delayTime,Integer channelId) {
CameraDelayTask cameraDelayTask = new CameraDelayTask(cameraId, startTime, endTime,path, 0,delayTime); CameraDelayTask cameraDelayTask = new CameraDelayTask(cameraId, startTime, endTime,path, 0,delayTime);
cameraDelayTask.setChannelId(channelId);
queue.add(cameraDelayTask); queue.add(cameraDelayTask);
} }
@ -45,7 +46,7 @@ public class TaskDelayExecutor {
if(cameraDelayTask.getType() == 0){ if(cameraDelayTask.getType() == 0){
cameraControlModule.downloadMp4(cameraDelayTask.getCameraId(), cameraDelayTask.getPath(), cameraDelayTask.getStartTime(), cameraDelayTask.getEndTime()); cameraControlModule.downloadMp4(cameraDelayTask.getCameraId(), cameraDelayTask.getPath(), cameraDelayTask.getStartTime(), cameraDelayTask.getEndTime(),cameraDelayTask.getChannelId());
}else if(cameraDelayTask.getType() == 1){ }else if(cameraDelayTask.getType() == 1){
cameraControlModule.pic(cameraDelayTask.getCameraId(),0, cameraDelayTask.getPath()); cameraControlModule.pic(cameraDelayTask.getCameraId(),0, cameraDelayTask.getPath());
}else if(cameraDelayTask.getType() == 2){ }else if(cameraDelayTask.getType() == 2){

@ -290,7 +290,7 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
return picResult; return picResult;
} }
public void downloadMp4(Integer cameraId, String path, LocalDateTime start, LocalDateTime end) { public void downloadMp4(Integer cameraId, String path, LocalDateTime start, LocalDateTime end,int channelId) {
PathUtil.checkDirc(path); PathUtil.checkDirc(path);
HCNetSDK.NET_DVR_TIME startTime = new HCNetSDK.NET_DVR_TIME(); HCNetSDK.NET_DVR_TIME startTime = new HCNetSDK.NET_DVR_TIME();

@ -277,7 +277,7 @@ public class JoywareCameraControlModuleImpl implements CameraControlModule {
return ok; return ok;
} }
public void downloadMp4(Integer cameraId, String path, LocalDateTime start, LocalDateTime end) { public void downloadMp4(Integer cameraId, String path, LocalDateTime start, LocalDateTime end,int channelId) {
PathUtil.checkDirc(path); PathUtil.checkDirc(path);
NetSDKLib.NET_TIME startTime = new NetSDKLib.NET_TIME(); NetSDKLib.NET_TIME startTime = new NetSDKLib.NET_TIME();

@ -2,6 +2,7 @@ package com.zhehekeji.web.service;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.zhehekeji.core.util.Assert; import com.zhehekeji.core.util.Assert;
@ -41,7 +42,7 @@ import java.util.stream.Collectors;
@Service @Service
@Slf4j @Slf4j
public class CameraService { public class CameraService extends ServiceImpl<CameraMapper,Camera> {
@Resource @Resource
private CameraMapper cameraMapper; private CameraMapper cameraMapper;
@ -103,7 +104,12 @@ public class CameraService {
} }
camera.setPort(configProperties.getCameraConfig().getCameraPort()); camera.setPort(configProperties.getCameraConfig().getCameraPort());
camera.setUser(configProperties.getCameraConfig().getCameraUser()); camera.setUser(configProperties.getCameraConfig().getCameraUser());
camera.setRtsp("rtsp://"+configProperties.getCameraConfig().getCameraUser()+":"+configProperties.getCameraConfig().getCameraPassword()+"@"+camera.getIp()+":554/h264/ch1/sub/av_stream"); //老URL小于64路的NVR或混合录像机的IP通道从33开始大于等于64路的NVR的IP通道从1开始
int channel =1;
if(camera.getRecorderIp() !=null) {
channel = Integer.parseInt(camera.getChannel().substring(1)) + 32;
}
camera.setRtsp("rtsp://"+configProperties.getCameraConfig().getCameraUser()+":"+configProperties.getCameraConfig().getCameraPassword()+"@"+camera.getRecorderIp()+":554/h264/ch"+channel+"/sub/av_stream");
try { try {
cameraMapper.updateById(camera); cameraMapper.updateById(camera);
} catch (DuplicateKeyException e) { } catch (DuplicateKeyException e) {
@ -358,11 +364,14 @@ public class CameraService {
} }
} }
public void cameraLogin(Camera camera){ public boolean cameraLogin(Camera camera){
NetSDKLib.LLong lLong = cameraControlLoginModule.login(camera.getIp(),camera.getPort(),camera.getUser(),camera.getPassword()); NetSDKLib.LLong lLong = cameraControlLoginModule.login(camera.getIp(),camera.getPort(),camera.getUser(),camera.getPassword());
if(lLong != null){ if(lLong != null){
log.info("camera login success,cameraId:{},ip:{}",camera.getId(),camera.getIp()); log.info("camera login success,cameraId:{},ip:{}",camera.getId(),camera.getIp());
CameraConnMap.conn(camera.getId(),lLong); CameraConnMap.conn(camera.getId(),lLong);
return true;
}else {
return false;
} }
} }

@ -18,6 +18,7 @@ import com.zhehekeji.web.service.damLightSource.JYDamHelper;
import com.zhehekeji.web.service.hikLightSource.HikControlSocket; import com.zhehekeji.web.service.hikLightSource.HikControlSocket;
import com.zhehekeji.web.service.ksec.KsecNettyClient; import com.zhehekeji.web.service.ksec.KsecNettyClient;
import com.zhehekeji.web.service.sick.SickSocket; import com.zhehekeji.web.service.sick.SickSocket;
import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -277,13 +278,24 @@ public class PlcService {
orderMapper.updateById(upd); orderMapper.updateById(upd);
} }
public static void main(String[] args) {
Integer channel = Integer.parseInt("D2".substring(1)) +32;
System.out.println(channel);
}
public String cameraVideo(Integer cameraId, LocalDateTime startTime, LocalDateTime endTime) { public String cameraVideo(Integer cameraId, LocalDateTime startTime, LocalDateTime endTime) {
String path = PathUtil.createFileName("mp4",cameraId); String path = PathUtil.createFileName("mp4",cameraId);
Camera camera = cameraService.getById(cameraId);
Integer channelId = 0;
if(camera.getChannel() == null && camera.getChannel().contains("D")){
channelId = Integer.parseInt(camera.getChannel().substring(1)) +32;
}
Integer finalChannelId = channelId;
Thread thread = new Thread(new Runnable() { Thread thread = new Thread(new Runnable() {
@Override @Override
public void run() { public void run() {
String realPath = configProperties.getSavePath().getMp4Path() + path; String realPath = configProperties.getSavePath().getMp4Path() + path;
TaskDelayExecutor.addMp4DelayTask(cameraId,realPath,startTime,endTime,configProperties.getCameraConfig().getDelayDownloadMp4()); TaskDelayExecutor.addMp4DelayTask(cameraId,realPath,startTime,endTime,configProperties.getCameraConfig().getDelayDownloadMp4(), finalChannelId);
} }
}); });
thread.start(); thread.start();

Loading…
Cancel
Save