增加rtsp的限制

camera_merge
王一鸣 5 years ago
parent 90419305bf
commit e80b72ec47

Binary file not shown.

Binary file not shown.

@ -86,7 +86,7 @@ public class CameraControlController {
@ApiOperation(value = "球机控制向左上") @ApiOperation(value = "球机控制向左上")
public Result leftUp(@PathVariable Integer id) { public Result leftUp(@PathVariable Integer id) {
checkLogin(id); checkLogin(id);
PtzControlModule.ptzControlLeftUpStart(id,0,0,1); PtzControlModule.ptzControlLeftUpStart(id,0,1,1);
return Result.success(); return Result.success();
} }
@ -102,7 +102,7 @@ public class CameraControlController {
@ApiOperation(value = "球机控制向左下") @ApiOperation(value = "球机控制向左下")
public Result leftDown(@PathVariable Integer id) { public Result leftDown(@PathVariable Integer id) {
checkLogin(id); checkLogin(id);
PtzControlModule.ptzControlLeftDownStart(id,0,0,1); PtzControlModule.ptzControlLeftDownStart(id,0,1,1);
return Result.success(); return Result.success();
} }
@ -135,7 +135,7 @@ public class CameraControlController {
@ApiOperation(value = "球机控制向右上") @ApiOperation(value = "球机控制向右上")
public Result rightUp(@PathVariable Integer id) { public Result rightUp(@PathVariable Integer id) {
checkLogin(id); checkLogin(id);
PtzControlModule.ptzControlRightUpStart(id,0,0,1); PtzControlModule.ptzControlRightUpStart(id,0,1,1);
return Result.success(); return Result.success();
} }
@ -151,7 +151,7 @@ public class CameraControlController {
@ApiOperation(value = "球机控制向右下") @ApiOperation(value = "球机控制向右下")
public Result rightDown(@PathVariable Integer id) { public Result rightDown(@PathVariable Integer id) {
checkLogin(id); checkLogin(id);
PtzControlModule.ptzControlLeftDownStart(id,0,0,1); PtzControlModule.ptzControlRightDownStart(id,0,1,1);
return Result.success(); return Result.success();
} }
@ -220,7 +220,7 @@ public class CameraControlController {
} }
@PostMapping("/focusDec/stop/{id}") @PostMapping("/focusDec/stop/{id}")
@ApiOperation(value = "球机控制 变焦+ 停止") @ApiOperation(value = "球机控制 变焦- 停止")
public Result focusDecEnd(@PathVariable Integer id) { public Result focusDecEnd(@PathVariable Integer id) {
checkLogin(id); checkLogin(id);
PtzControlModule.ptzControlFocusDecEnd(id,0); PtzControlModule.ptzControlFocusDecEnd(id,0);
@ -244,7 +244,7 @@ public class CameraControlController {
} }
@PostMapping("/irisDec/start/{id}") @PostMapping("/irisDec/start/{id}")
@ApiOperation(value = "球机控制 变焦 -") @ApiOperation(value = "球机控制 光圈 -")
public Result irisDecStart(@PathVariable Integer id) { public Result irisDecStart(@PathVariable Integer id) {
checkLogin(id); checkLogin(id);
PtzControlModule.ptzControlIrisDecStart(id,0,1); PtzControlModule.ptzControlIrisDecStart(id,0,1);
@ -252,7 +252,7 @@ public class CameraControlController {
} }
@PostMapping("/irisDec/stop/{id}") @PostMapping("/irisDec/stop/{id}")
@ApiOperation(value = "球机控制 变焦+ 停止") @ApiOperation(value = "球机控制 光圈- 停止")
public Result irisDecEnd(@PathVariable Integer id) { public Result irisDecEnd(@PathVariable Integer id) {
checkLogin(id); checkLogin(id);
PtzControlModule.ptzControlIrisDecEnd(id,0); PtzControlModule.ptzControlIrisDecEnd(id,0);

@ -35,7 +35,7 @@ public class CameraController {
@ApiOperation(value = "球机修改") @ApiOperation(value = "球机修改")
public Result edit(@RequestBody Camera camera) { public Result edit(@RequestBody Camera camera) {
cameraService.edit(camera); cameraService.edit(camera);
return new Result<>(); return Result.success();
} }
@DeleteMapping("/{id}") @DeleteMapping("/{id}")

@ -0,0 +1,57 @@
package com.zhehekeji.web.lib;
import com.sun.jna.Pointer;
import com.zhehekeji.common.util.PathUtil;
import org.springframework.web.bind.annotation.PathVariable;
import javax.imageio.ImageIO;
import java.io.*;
public class Mp4ReceiveCB implements NetSDKLib.fTimeDownLoadPosCallBack {
// @Override
// public int invoke(NetSDKLib.LLong lRealHandle, int dwDataType, Pointer pBuf, int RevLen, Pointer dwUser) {
// if(pBuf != null && RevLen > 0) {
// byte[] buf = pBuf.getByteArray(0, RevLen);
//
// File file = PathUtil.getFile("d://qq/recive/qqq.mp4");
// OutputStream os = null;
// try {
// os = new FileOutputStream(file);
// } catch (FileNotFoundException e) {
// e.printStackTrace();
// }
// for(int i = 0;i<buf.length;i++){
// try {
// os.write(buf[i]);
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
//
// try {
// os.flush();
// } catch (IOException e) {
// e.printStackTrace();
// }
// try {
// os.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
//
//
// }
//
// return 0;
// }
@Override
public void invoke(NetSDKLib.LLong lPlayHandle, int dwTotalSize, int dwDownLoadSize, int index, NetSDKLib.NET_RECORDFILE_INFO.ByValue recordfileinfo, Pointer dwUser) {
System.out.println("ing...."+dwDownLoadSize+" totalSize:"+dwTotalSize+"id:"+lPlayHandle.longValue());
if(dwDownLoadSize == -1) {
System.out.println("下载结束");
LoginModule.netsdk.CLIENT_StopDownload(lPlayHandle);
}
}
}

@ -10,6 +10,7 @@ import java.io.ByteArrayInputStream;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.UUID;
/** /**
* *
@ -229,6 +230,61 @@ public class PtzControlModule {
} }
public static void downloadMp4(Integer cameraId,int channelId){ public static void downloadMp4(Integer cameraId,int channelId){
// NetSDKLib.NET_IN_DOWNLOAD_BY_DATA_TYPE stIn = new NetSDKLib.NET_IN_DOWNLOAD_BY_DATA_TYPE();
//
//
//
// stIn.emDataType = NetSDKLib.EM_REAL_DATA_TYPE.EM_REAL_DATA_TYPE_MP4; // mp4
//
// stIn.emRecordType = NetSDKLib.EM_QUERY_RECORD_TYPE.EM_RECORD_TYPE_ALL; // 所有录像
//
// stIn.nChannelID = 0;
//
// LocalDateTime now = LocalDateTime.now();
// LocalDateTime start = now.minusMinutes(10);
// stIn.stStartTime.setTime(start.getYear(),start.getMonthValue(),start.getDayOfMonth(),start.getHour(),start.getMinute(),start.getSecond());
// NetSDKLib.NET_TIME endTime = new NetSDKLib.NET_TIME();
// LocalDateTime end = now.minusMinutes(8);
// stIn.stStopTime.setTime(end.getYear(),end.getMonthValue(),end.getDayOfMonth(),end.getHour(),end.getMinute(),end.getSecond());
//
// //stIn.cbDownLoadPos = DownloadPosCallBack.getInstance();
//
// stIn.dwPosUser = null;
//
//
// Mp4ReceiveCB mp4ReceiveCB = new Mp4ReceiveCB();
// stIn.fDownLoadDataCallBack = mp4ReceiveCB;
//
// stIn.dwDataUser = null;
//
//
//
// NetSDKLib.NET_OUT_DOWNLOAD_BY_DATA_TYPE stOut = new NetSDKLib.NET_OUT_DOWNLOAD_BY_DATA_TYPE();
// NetSDKLib.NET_IN_DOWNLOAD_BY_DATA_TYPE download_by_data_type = new NetSDKLib.NET_IN_DOWNLOAD_BY_DATA_TYPE();
// download_by_data_type.nChannelID = 0;
// download_by_data_type.stStartTime = startTime;
// download_by_data_type.stStopTime = endTime;
// download_by_data_type.szSavedFileName="/qq.mp4";
// download_by_data_type.emDataType = 3;
// download_by_data_type.emRecordType = 0;
// NetSDKLib.LLong lPlayHandle = LoginModule.netsdk.CLIENT_DownloadByDataType(CameraConnMap.getConnId(cameraId), stIn, stOut, 5000);
//
// if(lPlayHandle.longValue() != 0) {
//
// System.out.println("DownloadByDataType Succeed!");
//
// } else {
// System.err.printf("DownloadByDataType Failed!Last Error[0x%x]\n", LoginModule.netsdk.CLIENT_GetLastError());
// return;
// }
// try {
// Thread.sleep(30000);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// LoginModule.netsdk.CLIENT_StopDownload(lPlayHandle); //因为mp4格式需要在下载结束的时候回写头所以一定要调用停止接口否则下载的Mp4无法播放
NetSDKLib.NET_TIME startTime = new NetSDKLib.NET_TIME(); NetSDKLib.NET_TIME startTime = new NetSDKLib.NET_TIME();
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
LocalDateTime start = now.minusMinutes(10); LocalDateTime start = now.minusMinutes(10);
@ -240,20 +296,24 @@ public class PtzControlModule {
download_by_data_type.nChannelID = 0; download_by_data_type.nChannelID = 0;
download_by_data_type.stStartTime = startTime; download_by_data_type.stStartTime = startTime;
download_by_data_type.stStopTime = endTime; download_by_data_type.stStopTime = endTime;
download_by_data_type.szSavedFileName="/qq.mp4"; String u = UUID.randomUUID().toString();
download_by_data_type.szSavedFileName="d:/qq/"+u+".mp4";
download_by_data_type.emDataType = 3; download_by_data_type.emDataType = 3;
download_by_data_type.emRecordType = 0; download_by_data_type.emRecordType = 0;
download_by_data_type.fDownLoadDataCallBack = new Mp4ReceiveCB();
NetSDKLib.NET_OUT_DOWNLOAD_BY_DATA_TYPE net_out_download_by_data_type = new NetSDKLib.NET_OUT_DOWNLOAD_BY_DATA_TYPE(); NetSDKLib.NET_OUT_DOWNLOAD_BY_DATA_TYPE net_out_download_by_data_type = new NetSDKLib.NET_OUT_DOWNLOAD_BY_DATA_TYPE();
//NetSDKLib.LLong l = LoginModule.netsdk.CLIENT_DownloadByTimeEx2(CameraConnMap.getConnId(cameraId),channelId,0,startTime,endTime,"./q2q.mp4",null,null,null,null,3,null); //NetSDKLib.LLong l = LoginModule.netsdk.CLIENT_DownloadByTimeEx2(CameraConnMap.getConnId(cameraId),channelId,0,startTime,endTime,"./q2q.mp4",null,null,null,null,3,null);
System.out.println("开始");
System.out.println("loginId"+CameraConnMap.getConnId(cameraId));
NetSDKLib.LLong l = LoginModule.netsdk.CLIENT_DownloadByDataType(CameraConnMap.getConnId(cameraId),download_by_data_type,net_out_download_by_data_type,2); NetSDKLib.LLong l = LoginModule.netsdk.CLIENT_DownloadByDataType(CameraConnMap.getConnId(cameraId),download_by_data_type,net_out_download_by_data_type,2);
System.out.println("l "+l.longValue());
// NetSDKLib.LLong m_hDownLoadHandle = LoginModule.netsdk.CLIENT_DownloadByTimeEx(CameraConnMap.getConnId(cameraId), channelId, 0, // NetSDKLib.LLong m_hDownLoadHandle = LoginModule.netsdk.CLIENT_DownloadByTimeEx(CameraConnMap.getConnId(cameraId), channelId, 0,
// startTime, endTime, "./qq.dav", // startTime, endTime, "./qq.dav",
// null, null, null, null, null); // null, null, null, null, null);
if(l.longValue() == 0){ if(l.longValue() == 0){
System.out.println(ToolKits.getErrorCodePrint()); System.out.println(ToolKits.getErrorCodePrint());
} }
System.out.println();
} }

@ -46,9 +46,13 @@ public class RealTimeService {
realTime.setStreetId(street.getId()); realTime.setStreetId(street.getId());
realTime.setStreetName(street.getName()); realTime.setStreetName(street.getName());
List<Camera> cameraList = new ArrayList<>(2); List<Camera> cameraList = new ArrayList<>(2);
cameraList.add(cameraMap.get(street.getCamera1Id())); if(cameraMap.get(street.getCamera1Id()) != null){
cameraList.add(cameraMap.get(street.getCamera2Id())); cameraList.add(cameraMap.get(street.getCamera1Id()));
realTime.setCameras(cameras); }
if(cameraMap.get(street.getCamera2Id()) != null){
cameraList.add(cameraMap.get(street.getCamera2Id()));
}
realTime.setCameras(cameraList);
realTimes.add(realTime); realTimes.add(realTime);
}); });
return realTimes; return realTimes;

Loading…
Cancel
Save