光源相机修改

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

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

@ -324,9 +324,6 @@ public class CameraControlController {
@PostMapping("/mp4/{id}")
@ApiOperation(value = "录像")
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();
}
@ -337,7 +334,14 @@ public class CameraControlController {
if (CameraConnMap.getConnId(cameraId) == null) {
Boolean ok = false;
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 {
ok = JoywareLoginModuleImpl.connectStatus(CameraConnMap.getConnId(cameraId));
}

@ -109,7 +109,7 @@ public interface CameraControlModule {
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 Integer channelId;
/**
* 0 : mp4 1:jpeg
*/

@ -13,8 +13,9 @@ public class TaskDelayExecutor {
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.setChannelId(channelId);
queue.add(cameraDelayTask);
}
@ -45,7 +46,7 @@ public class TaskDelayExecutor {
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){
cameraControlModule.pic(cameraDelayTask.getCameraId(),0, cameraDelayTask.getPath());
}else if(cameraDelayTask.getType() == 2){

@ -290,7 +290,7 @@ public class HikCameraControlModuleImpl implements CameraControlModule {
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);
HCNetSDK.NET_DVR_TIME startTime = new HCNetSDK.NET_DVR_TIME();

@ -277,7 +277,7 @@ public class JoywareCameraControlModuleImpl implements CameraControlModule {
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);
NetSDKLib.NET_TIME startTime = new NetSDKLib.NET_TIME();

@ -2,6 +2,7 @@ package com.zhehekeji.web.service;
import com.alibaba.excel.EasyExcel;
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.PageInfo;
import com.zhehekeji.core.util.Assert;
@ -41,7 +42,7 @@ import java.util.stream.Collectors;
@Service
@Slf4j
public class CameraService {
public class CameraService extends ServiceImpl<CameraMapper,Camera> {
@Resource
private CameraMapper cameraMapper;
@ -103,7 +104,12 @@ public class CameraService {
}
camera.setPort(configProperties.getCameraConfig().getCameraPort());
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 {
cameraMapper.updateById(camera);
} 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());
if(lLong != null){
log.info("camera login success,cameraId:{},ip:{}",camera.getId(),camera.getIp());
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.ksec.KsecNettyClient;
import com.zhehekeji.web.service.sick.SickSocket;
import io.swagger.models.auth.In;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -277,13 +278,24 @@ public class PlcService {
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) {
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() {
@Override
public void run() {
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();

Loading…
Cancel
Save