From b6e604f2449bb65dfaafb0f0741ba54ff0d2f9c2 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 30 四月 2024 15:20:03 +0800
Subject: [PATCH] 修改云端录像详情页使用直接访问zlm的方式播放录像
---
src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java | 49 +++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 47 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java
index 1d4ce4b..c646058 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java
@@ -3,12 +3,15 @@
import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
import com.genersoft.iot.vmp.gb28181.bean.Gb28181Sdp;
import com.genersoft.iot.vmp.gb28181.bean.RemoteAddressInfo;
+import com.genersoft.iot.vmp.utils.DateUtil;
import com.genersoft.iot.vmp.utils.GitUtil;
import gov.nist.javax.sip.address.AddressImpl;
import gov.nist.javax.sip.address.SipUri;
import gov.nist.javax.sip.header.Subject;
import gov.nist.javax.sip.message.SIPRequest;
import org.apache.commons.lang3.RandomStringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.util.ObjectUtils;
import javax.sdp.SdpFactory;
@@ -21,6 +24,8 @@
import javax.sip.header.UserAgentHeader;
import javax.sip.message.Request;
import java.text.ParseException;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeParseException;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
@@ -32,6 +37,8 @@
* @createTime 2021骞�09鏈�27鏃� 15:12:00
*/
public class SipUtils {
+
+ private final static Logger logger = LoggerFactory.getLogger(SipUtils.class);
public static String getUserIdFromFromHeader(Request request) {
FromHeader fromHeader = (FromHeader)request.getHeader(FromHeader.NAME);
@@ -118,7 +125,7 @@
strTmp = String.format("%02X", moveSpeed);
builder.append(strTmp, 0, 2);
builder.append(strTmp, 0, 2);
-
+
//浼樺寲zoom浣庡�嶉�熶笅鐨勫彉鍊嶉�熺巼
if ((zoomSpeed > 0) && (zoomSpeed <16))
{
@@ -133,6 +140,26 @@
return builder.toString();
}
+ public static String getNewCallId() {
+ return (int) Math.floor(Math.random() * 1000000000) + "";
+ }
+
+ public static int getTypeCodeFromGbCode(String deviceId) {
+ if (ObjectUtils.isEmpty(deviceId)) {
+ return 0;
+ }
+ return Integer.parseInt(deviceId.substring(10, 13));
+ }
+
+ /**
+ * 鍒ゆ柇鏄惁鏄墠绔鍥磋澶�
+ * @param deviceId
+ * @return
+ */
+ public static boolean isFrontEnd(String deviceId) {
+ int typeCodeFromGbCode = getTypeCodeFromGbCode(deviceId);
+ return typeCodeFromGbCode > 130 && typeCodeFromGbCode < 199;
+ }
/**
* 浠庤姹備腑鑾峰彇璁惧ip鍦板潃鍜岀鍙e彿
* @param request 璇锋眰
@@ -238,4 +265,22 @@
}
return null;
}
-}
+
+ public static String parseTime(String timeStr) {
+ if (ObjectUtils.isEmpty(timeStr)){
+ return null;
+ }
+ LocalDateTime localDateTime;
+ try {
+ localDateTime = LocalDateTime.parse(timeStr);
+ }catch (DateTimeParseException e) {
+ try {
+ localDateTime = LocalDateTime.parse(timeStr, DateUtil.formatterISO8601);
+ }catch (DateTimeParseException e2) {
+ logger.error("[鏍煎紡鍖栨椂闂碷 鏃犳硶鏍煎紡鍖栨椂闂达細 {}", timeStr);
+ return null;
+ }
+ }
+ return localDateTime.format(DateUtil.formatter);
+ }
+}
\ No newline at end of file
--
Gitblit v1.8.0