ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/util/JavaCVStreamUtil.java
@@ -2,14 +2,11 @@ import cn.hutool.core.io.FileUtil; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.system.service.ICarService; import org.bytedeco.ffmpeg.global.avcodec; import org.bytedeco.ffmpeg.global.avutil; import org.bytedeco.javacv.*; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -31,11 +28,13 @@ private static Map<Integer, Boolean> statusMap = new ConcurrentHashMap<>(); @Resource private RedisTemplate redisTemplate; @Resource private ICarService carService; public static void main(String[] args) { String url = "rtmp://127.0.0.1:1935/flv/test"; JavaCVStreamUtil.push_flv("C:\\Users\\39373\\Desktop\\图片\\trailer.mp4", url, 0); } /** @@ -54,7 +53,6 @@ OpenCVFrameGrabber openCVFrameGrabber = grabberMap1.get(deviceNumber); if (null != openCVFrameGrabber) { openCVFrameGrabber.close(); ; } FFmpegFrameRecorder fFmpegFrameRecorder = frameRecorderMap.get(deviceNumber); if (null != fFmpegFrameRecorder) { ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/DOWNConnectRsp.java
@@ -1,6 +1,5 @@ package com.ruoyi.dataInterchange.model; import com.fasterxml.jackson.annotation.JsonProperty; import io.netty.buffer.ByteBuf; import lombok.Data; @@ -26,7 +25,11 @@ * 解析报文 */ public DOWNConnectRsp decode(ByteBuf byteBuf) { try { this.verifyCode = byteBuf.readByte(); }catch (Exception e){ e.printStackTrace(); } return this; } } ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPBaseMsgVehicleAddedAck.java
@@ -38,6 +38,7 @@ * 解析报文 */ public UPBaseMsgVehicleAddedAck decode(BaseMsg baseMsg) { try { byte[] data = baseMsg.getData(); ByteBuf byteBuf = Unpooled.wrappedBuffer(data); this.vehicleNo = baseMsg.getVehicleNo(); @@ -47,6 +48,9 @@ //车辆信息 this.carInfo = Jtt809Util.readGBKString(byteBuf, baseMsg.getDataLength()); }catch (Exception e){ e.printStackTrace(); } return this; } } ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPCloseLinkInform.java
@@ -22,7 +22,11 @@ * 解析报文 */ public UPCloseLinkInform decode(ByteBuf byteBuf) { try { this.reasonCode = byteBuf.readByte(); }catch (Exception e){ e.printStackTrace(); } return this; } } ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPConnectReq.java
@@ -34,10 +34,14 @@ * 解析登录报文 */ public UPConnectReq decode(ByteBuf byteBuf) { try { this.userId = byteBuf.readInt(); this.password = Jtt809Util.readGBKString(byteBuf, 8); this.downLinkIp = Jtt809Util.readGBKString(byteBuf, 32); this.downLinkPort = byteBuf.readUnsignedShort(); }catch (Exception e){ e.printStackTrace(); } return this; } ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPDisconnectInform.java
@@ -1,7 +1,5 @@ package com.ruoyi.dataInterchange.model; import com.fasterxml.jackson.annotation.JsonProperty; import com.ruoyi.dataInterchange.util.jtt809.common.Jtt809Util; import io.netty.buffer.ByteBuf; import lombok.Data; @@ -23,7 +21,11 @@ * 解析报文 */ public UPDisconnectInform decode(ByteBuf byteBuf) { try { this.errorCode = byteBuf.readByte(); }catch (Exception e){ e.printStackTrace(); } return this; } } ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPDisconnectReq.java
@@ -26,8 +26,12 @@ * 解析报文 */ public UPDisconnectReq decode(ByteBuf byteBuf) { try { this.userId = byteBuf.readInt(); this.password = Jtt809Util.readGBKString(byteBuf, 12); }catch (Exception e){ e.printStackTrace(); } return this; } } ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPExgMsgHistoryLocation.java
@@ -56,6 +56,7 @@ * 解析报文 */ public UPExgMsgHistoryLocation decode(UPExgMsg exgMsg) { try { byte[] data = exgMsg.getData(); ByteBuf byteBuf = Unpooled.wrappedBuffer(data); this.vehicleNo = exgMsg.getVehicleNo(); @@ -68,6 +69,9 @@ gnssData.add(new GnssData().decode(byteBuf)); } this.gnssData = gnssData; }catch (Exception e){ e.printStackTrace(); } return this; } } ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPExgMsgRealLocation.java
@@ -48,6 +48,7 @@ * 解析报文 */ public UPExgMsgRealLocation decode(UPExgMsg exgMsg) { try { byte[] data = exgMsg.getData(); ByteBuf byteBuf = Unpooled.wrappedBuffer(data); this.vehicleNo = exgMsg.getVehicleNo(); @@ -55,6 +56,9 @@ this.dataType = exgMsg.getDataType(); this.dataLength = exgMsg.getDataLength(); this.gnssData = new GnssData().decode(byteBuf); }catch (Exception e){ e.printStackTrace(); } return this; } } ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPExgMsgRegister.java
@@ -69,6 +69,7 @@ * 解析报文 */ public UPExgMsgRegister decode(UPExgMsg exgMsg) { try { byte[] data = exgMsg.getData(); ByteBuf byteBuf = Unpooled.wrappedBuffer(data); this.vehicleNo = exgMsg.getVehicleNo(); @@ -86,6 +87,9 @@ this.terminalId = Jtt809Util.readGBKString(byteBuf, 7); //车载终端SIM卡电话号码 this.terminalSIMCode = Jtt809Util.readGBKString(byteBuf, 12); }catch (Exception e){ e.printStackTrace(); } return this; } } ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPExgMsgReportDriverInfoAck.java
@@ -64,6 +64,7 @@ * 解析报文 */ public UPExgMsgReportDriverInfoAck decode(UPExgMsg exgMsg) { try { byte[] data = exgMsg.getData(); ByteBuf byteBuf = Unpooled.wrappedBuffer(data); this.vehicleNo = exgMsg.getVehicleNo(); @@ -74,6 +75,9 @@ this.driverId = Jtt809Util.readGBKString(byteBuf, 20); this.licence = Jtt809Util.readGBKString(byteBuf, 40); this.orgName = Jtt809Util.readGBKString(byteBuf, 200); }catch (Exception e){ e.printStackTrace(); } return this; } } ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPExgMsgTakeEwayBillAck.java
@@ -54,6 +54,7 @@ * 解析报文 */ public UPExgMsgTakeEwayBillAck decode(UPExgMsg exgMsg) { try { byte[] data = exgMsg.getData(); ByteBuf byteBuf = Unpooled.wrappedBuffer(data); this.vehicleNo = exgMsg.getVehicleNo(); @@ -62,6 +63,9 @@ this.dataLength = exgMsg.getDataLength(); this.ewayBillLength = byteBuf.readInt(); this.ewayBillInfo = Jtt809Util.readGBKString(byteBuf, this.ewayBillLength); }catch (Exception e){ e.printStackTrace(); } return this; } } ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPPlaybackMsgControlAck.java
@@ -52,6 +52,7 @@ * 解析报文 */ public UPPlaybackMsgControlAck decode(PlaybackMsg playbackMsg) { try { byte[] data = playbackMsg.getData(); ByteBuf byteBuf = Unpooled.wrappedBuffer(data); this.vehicleNo = playbackMsg.getVehicleNo(); @@ -59,6 +60,9 @@ this.dataType = playbackMsg.getDataType(); this.dataLength = playbackMsg.getDataLength(); this.result = byteBuf.readByte(); }catch (Exception e){ e.printStackTrace(); } return this; } } ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPPlaybackMsgStartupAck.java
@@ -65,6 +65,7 @@ * 解析报文 */ public UPPlaybackMsgStartupAck decode(PlaybackMsg playbackMsg) { try { byte[] data = playbackMsg.getData(); ByteBuf byteBuf = Unpooled.wrappedBuffer(data); this.vehicleNo = playbackMsg.getVehicleNo(); @@ -75,6 +76,9 @@ this.serverIP = Jtt809Util.readGBKString(byteBuf, 32); this.serverPort = byteBuf.readShort(); this.result = byteBuf.readByte(); }catch (Exception e){ e.printStackTrace(); } return this; } } ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPRealvideoMsgEndAck.java
@@ -50,6 +50,7 @@ * 解析报文 */ public UPRealvideoMsgEndAck decode(RealVideoMsg realVideoMsg) { try { byte[] data = realVideoMsg.getData(); ByteBuf byteBuf = Unpooled.wrappedBuffer(data); this.vehicleNo = realVideoMsg.getVehicleNo(); @@ -59,6 +60,9 @@ //报警处理结果 this.result = byteBuf.readByte(); }catch (Exception e){ e.printStackTrace(); } return this; } } ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPRealvideoMsgStartupAck.java
@@ -64,6 +64,7 @@ * 解析报文 */ public UPRealvideoMsgStartupAck decode(RealVideoMsg realVideoMsg) { try { byte[] data = realVideoMsg.getData(); ByteBuf byteBuf = Unpooled.wrappedBuffer(data); this.vehicleNo = realVideoMsg.getVehicleNo(); @@ -75,6 +76,9 @@ this.result = byteBuf.readByte(); this.serverIP = Jtt809Util.readGBKString(byteBuf, 32); this.serverPort = byteBuf.readShort(); }catch (Exception e){ e.printStackTrace(); } return this; } } ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPWarnMsgAdptInfo.java
@@ -117,6 +117,7 @@ * 解析报文 */ public UPWarnMsgAdptInfo decode(WarnMsg warnMsg) { try { byte[] data = warnMsg.getData(); ByteBuf byteBuf = Unpooled.wrappedBuffer(data); this.vehicleNo = warnMsg.getVehicleNo(); @@ -139,6 +140,9 @@ this.infoLength = byteBuf.readInt(); //上报报警信息内容 this.infoContent = Jtt809Util.readGBKString(byteBuf, this.infoLength); }catch (Exception e){ e.printStackTrace(); } return this; } } ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/model/UPWarnMsgUrgeTodoAck.java
@@ -57,6 +57,7 @@ * 解析报文 */ public UPWarnMsgUrgeTodoAck decode(WarnMsg warnMsg) { try { byte[] data = warnMsg.getData(); ByteBuf byteBuf = Unpooled.wrappedBuffer(data); this.vehicleNo = warnMsg.getVehicleNo(); @@ -68,6 +69,9 @@ this.supervisionId = byteBuf.readInt(); //报警处理结果 this.result = byteBuf.readByte(); }catch (Exception e){ e.printStackTrace(); } return this; } } ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/UPLinkTestReqService.java
@@ -37,6 +37,7 @@ return; } int gnsscenterId = out.getGnsscenterId(); //保存链路 ChannelMap.addServerChannel(gnsscenterId, ctx.channel()); OuterPacket rep = new OuterPacket(DataType.UP_LINKTEST_RSP.getCode(), gnsscenterId, null); rep.setGnsscenterId(gnsscenterId);