From 306c42b4b764699107745381dd28502af0191db6 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: Thu, 20 Jun 2024 22:29:50 +0800
Subject: [PATCH] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../iot/vmp/gb28181/bean/CatalogEvent.java | 9 +
.../iot/vmp/gb28181/bean/CommonGBChannel.java | 2 +-
.../iot/vmp/gb28181/bean/DeviceChannel.java | 784 ++++++------------
.../request/impl/InviteRequestProcessor.java | 10 +-
.../NotifyRequestForCatalogProcessor.java | 4 +-
.../iot/vmp/gb28181/utils/XmlUtil.java | 1 +
.../iot/vmp/media/zlm/dto/StreamProxy.java | 64 ++
.../vmp/media/zlm/dto/StreamProxyItem.java | 180 ----
.../iot/vmp/media/zlm/dto/StreamPush.java | 107 +++
.../iot/vmp/media/zlm/dto/StreamPushItem.java | 432 ----------
.../iot/vmp/service/IGbStreamService.java | 4 +-
.../iot/vmp/service/IStreamProxyService.java | 14 +-
.../iot/vmp/service/IStreamPushService.java | 18 +-
.../service/impl/DeviceAlarmServiceImpl.java | 1 -
.../vmp/service/impl/GbStreamServiceImpl.java | 4 +-
.../vmp/service/impl/MediaServiceImpl.java | 6 +-
.../service/impl/StreamProxyServiceImpl.java | 39 +-
.../service/impl/StreamPushServiceImpl.java | 77 +-
.../impl/StreamPushUploadFileHandler.java | 8 +-
.../RedisPushStreamStatusListMsgListener.java | 12 +-
.../iot/vmp/storager/IRedisCatchStorage.java | 4 +-
.../vmp/storager/IVideoManagerStorage.java | 12 +-
.../iot/vmp/storager/dao/GbStreamMapper.java | 12 +-
.../storager/dao/PlatformGbStreamMapper.java | 8 +-
.../vmp/storager/dao/StreamProxyMapper.java | 18 +-
.../vmp/storager/dao/StreamPushMapper.java | 26 +-
.../storager/impl/RedisCatchStorageImpl.java | 10 +-
.../impl/VideoManagerStorageImpl.java | 14 +-
.../streamProxy/StreamProxyController.java | 16 +-
.../streamPush/StreamPushController.java | 18 +-
30 files changed, 583 insertions(+), 1331 deletions(-)
create mode 100644 src/main/java/com/genersoft/iot/vmp/gb28181/bean/CatalogEvent.java
create mode 100755 src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamProxy.java
delete mode 100755 src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamProxyItem.java
create mode 100755 src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPush.java
delete mode 100755 src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/CatalogEvent.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/CatalogEvent.java
new file mode 100644
index 00000000..a3fcdee8
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/CatalogEvent.java
@@ -0,0 +1,9 @@
+package com.genersoft.iot.vmp.gb28181.bean;
+
+import com.genersoft.iot.vmp.gb28181.utils.MessageElement;
+
+public class CatalogEvent extends DeviceChannel{
+
+ @MessageElement("Event")
+ private String event;
+}
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/CommonGBChannel.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/CommonGBChannel.java
index b43d5813..a9842123 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/CommonGBChannel.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/CommonGBChannel.java
@@ -90,7 +90,7 @@ public class CommonGBChannel {
private String gbBusinessGroupId;
@Schema(description = "国标-摄像机结构类型,标识摄像机类型: 1-球机; 2-半球; 3-固定枪机; 4-遥控枪机;5-遥控半球;6-多目设备的全景/拼接通道;7-多目设备的分割通道")
- private String gbPtzType;
+ private Integer gbPtzType;
@Schema(description = "国标-摄像机光电成像类型。1-可见光成像;2-热成像;3-雷达成像;4-X光成像;5-深度光场成像;9-其他。可多值,")
private String gbPhotoelectricImagingTyp;
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceChannel.java b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceChannel.java
index 6e230afe..5ddf1c46 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceChannel.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceChannel.java
@@ -1,260 +1,275 @@
package com.genersoft.iot.vmp.gb28181.bean;
+import com.genersoft.iot.vmp.gb28181.utils.MessageElement;
import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+@Data
@Schema(description = "通道信息")
-public class DeviceChannel {
+@EqualsAndHashCode(callSuper = true)
+public class DeviceChannel extends CommonGBChannel {
-
- /**
- * 数据库自增ID
- */
- @Schema(description = "数据库自增ID")
- private int id;
-
- /**
- * 通道国标编号
- */
- @Schema(description = "通道国标编号")
- private String channelId;
-
- /**
- * 设备国标编号
- */
- @Schema(description = "设备国标编号")
+ @MessageElement("DeviceID")
+ @Schema(description = "编码")
private String deviceId;
-
- /**
- * 通道名
- */
+
+ @MessageElement("DeviceID")
@Schema(description = "名称")
private String name;
-
- /**
- * 生产厂商
- */
- @Schema(description = "生产厂商")
- private String manufacture;
-
- /**
- * 型号
- */
- @Schema(description = "型号")
+
+ @MessageElement("DeviceID")
+ @Schema(description = "设备厂商")
+ private String manufacturer;
+
+ @MessageElement("DeviceID")
+ @Schema(description = "设备型号")
private String model;
-
- /**
- * 设备归属
- */
+
+ // 2016
+ @MessageElement("DeviceID")
@Schema(description = "设备归属")
private String owner;
-
- /**
- * 行政区域
- */
+
+ @MessageElement("DeviceID")
@Schema(description = "行政区域")
private String civilCode;
-
- /**
- * 警区
- */
+
+ @MessageElement("DeviceID")
@Schema(description = "警区")
private String block;
- /**
- * 安装地址
- */
+ @MessageElement("DeviceID")
@Schema(description = "安装地址")
private String address;
-
- /**
- * 是否有子设备 1有, 0没有
- */
- @Schema(description = "是否有子设备 1有, 0没有")
- private int parental;
-
- /**
- * 父级id
- */
- @Schema(description = "父级id")
+
+ @MessageElement("DeviceID")
+ @Schema(description = "是否有子设备")
+ private Boolean parental;
+
+
+ @MessageElement("DeviceID")
+ @Schema(description = "父节点ID")
private String parentId;
-
- /**
- * 信令安全模式 缺省为0; 0:不采用; 2: S/MIME签名方式; 3: S/ MIME加密签名同时采用方式; 4:数字摘要方式
- */
- @Schema(description = "信令安全模式 缺省为0; 0:不采用; 2: S/MIME签名方式; 3: S/ MIME加密签名同时采用方式; 4:数字摘要方式")
- private int safetyWay;
-
- /**
- * 注册方式 缺省为1;1:符合IETFRFC3261标准的认证注册模 式; 2:基于口令的双向认证注册模式; 3:基于数字证书的双向认证注册模式
- */
- @Schema(description = "注册方式 缺省为1;1:符合IETFRFC3261标准的认证注册模 式; 2:基于口令的双向认证注册模式; 3:基于数字证书的双向认证注册模式")
- private int registerWay;
-
- /**
- * 证书序列号
- */
+
+ // 2016
+ @MessageElement("DeviceID")
+ @Schema(description = "信令安全模式")
+ private Integer safetyWay;
+
+ @MessageElement("DeviceID")
+ @Schema(description = "注册方式")
+ private Integer registerWay;
+
+ // 2016
+ @MessageElement("DeviceID")
@Schema(description = "证书序列号")
- private String certNum;
-
- /**
- * 证书有效标识 缺省为0;证书有效标识:0:无效1: 有效
- */
- @Schema(description = "证书有效标识 缺省为0;证书有效标识:0:无效1: 有效")
- private int certifiable;
-
- /**
- * 证书无效原因码
- */
- @Schema(description = "证书无效原因码")
- private int errCode;
-
- /**
- * 证书终止有效期
- */
- @Schema(description = "证书终止有效期")
- private String endTime;
-
- /**
- * 保密属性 缺省为0; 0:不涉密, 1:涉密
- */
- @Schema(description = "保密属性 缺省为0; 0:不涉密, 1:涉密")
- private String secrecy;
-
- /**
- * IP地址
- */
- @Schema(description = "IP地址")
+ private Integer certNum;
+
+ // 2016
+ @MessageElement("DeviceID")
+ @Schema(description = "证书有效标识")
+ private Integer certifiable;
+
+ // 2016
+ @MessageElement("DeviceID")
+ @Schema(description = "无效原因码(有证书且证书无效的设备必选)")
+ private Integer errCode;
+
+ // 2016
+ @MessageElement("DeviceID")
+ @Schema(description = "证书终止有效期(有证书且证书无效的设备必选)")
+ private Integer endTime;
+
+ // 2022
+ @MessageElement("DeviceID")
+ @Schema(description = "摄像机安全能力等级代码")
+ private String securityLevelCode;
+
+ @MessageElement("DeviceID")
+ @Schema(description = "保密属性(必选)缺省为0;0-不涉密,1-涉密")
+ private Integer secrecy;
+
+ @MessageElement("DeviceID")
+ @Schema(description = "设备/系统IPv4/IPv6地址")
private String ipAddress;
-
- /**
- * 端口号
- */
- @Schema(description = "端口号")
- private int port;
-
- /**
- * 密码
- */
- @Schema(description = "密码")
+
+ @MessageElement("DeviceID")
+ @Schema(description = "设备/系统端口")
+ private Integer port;
+
+ @MessageElement("DeviceID")
+ @Schema(description = "设备口令")
private String password;
- /**
- * 云台类型
- */
- @Schema(description = "云台类型")
- private int ptzType;
+ @MessageElement("DeviceID")
+ @Schema(description = "设备状态")
+ private Boolean status;
+
+ @MessageElement("DeviceID")
+ @Schema(description = "经度 WGS-84坐标系")
+ private Double longitude;
+
+
+ @MessageElement("DeviceID")
+ @Schema(description = ",纬度 WGS-84坐标系")
+ private Double latitude;
+
+ @MessageElement("DeviceID")
+ @Schema(description = "虚拟组织所属的业务分组ID")
+ private String businessGroupId;
+
+ @MessageElement("DeviceID")
+ @Schema(description = "摄像机结构类型,标识摄像机类型: 1-球机; 2-半球; 3-固定枪机; 4-遥控枪机;5-遥控半球;6-多目设备的全景/拼接通道;7-多目设备的分割通道")
+ private Integer ptzType;
+
+ @MessageElement("DeviceID")
+ @Schema(description = "摄像机光电成像类型。1-可见光成像;2-热成像;3-雷达成像;4-X光成像;5-深度光场成像;9-其他。可多值,")
+ private String photoelectricImagingTyp;
+
+ @MessageElement("DeviceID")
+ @Schema(description = "摄像机采集部位类型")
+ private String capturePositionType;
+
+ @MessageElement("DeviceID")
+ @Schema(description = "摄像机安装位置室外、室内属性。1-室外、2-室内。")
+ private Integer roomType;
+
+ // 2016
+ @MessageElement("DeviceID")
+ @Schema(description = "用途属性")
+ private Integer useType;
+
+ @MessageElement("DeviceID")
+ @Schema(description = "摄像机补光属性。1-无补光;2-红外补光;3-白光补光;4-激光补光;9-其他")
+ private Integer supplyLightType;
+
+ @MessageElement("DeviceID")
+ @Schema(description = "摄像机监视方位(光轴方向)属性。1-东(西向东)、2-西(东向西)、3-南(北向南)、4-北(南向北)、" +
+ "5-东南(西北到东南)、6-东北(西南到东北)、7-西南(东北到西南)、8-西北(东南到西北)")
+ private Integer directionType;
+
+ @MessageElement("DeviceID")
+ @Schema(description = "摄像机支持的分辨率,可多值")
+ private String resolution;
+
+ // 2022
+ @MessageElement("DeviceID")
+ @Schema(description = "摄像机支持的码流编号列表,用于实时点播时指定码流编号(可选)")
+ private String streamNumberList;
+
+ @MessageElement("DeviceID")
+ @Schema(description = "下载倍速(可选),可多值")
+ private String downloadSpeed;
+
+ @MessageElement("DeviceID")
+ @Schema(description = "空域编码能力,取值0-不支持;1-1级增强(1个增强层);2-2级增强(2个增强层);3-3级增强(3个增强层)")
+ private Integer svcSpaceSupportMod;
+
+ @MessageElement("DeviceID")
+ @Schema(description = "时域编码能力,取值0-不支持;1-1级增强;2-2级增强;3-3级增强(可选)")
+ private Integer svcTimeSupportMode;
+
+ // 2022
+ @MessageElement("DeviceID")
+ @Schema(description = " SSVC增强层与基本层比例能力 ")
+ private String ssvcRatioSupportList;
+
+ // 2022
+ @MessageElement("DeviceID")
+ @Schema(description = "移动采集设备类型(仅移动采集设备适用,必选);1-移动机器人载摄像机;2-执法记录仪;3-移动单兵设备;" +
+ "4-车载视频记录设备;5-无人机载摄像机;9-其他")
+ private Integer mobileDeviceType;
+
+ // 2022
+ @MessageElement("DeviceID")
+ @Schema(description = "摄像机水平视场角(可选),取值范围大于0度小于等于360度")
+ private Double horizontalFieldAngle;
+
+ // 2022
+ @MessageElement("DeviceID")
+ @Schema(description = "摄像机竖直视场角(可选),取值范围大于0度小于等于360度 ")
+ private Double verticalFieldAngle;
+
+ // 2022
+ @MessageElement("DeviceID")
+ @Schema(description = "摄像机可视距离(可选),单位:米")
+ private Double maxViewDistance;
+
+ // 2022
+ @MessageElement("DeviceID")
+ @Schema(description = "基层组织编码(必选,非基层建设时为“000000”)")
+ private String grassrootsCode;
+
+ // 2022
+ @MessageElement("DeviceID")
+ @Schema(description = "监控点位类型(当为摄像机时必选),1-一类视频监控点;2-二类视频监控点;3-三类视频监控点;9-其他点位。")
+ private Integer poType;
+
+ // 2022
+ @MessageElement("DeviceID")
+ @Schema(description = "点位俗称")
+ private String poCommonName;
+
+ // 2022
+ @MessageElement("DeviceID")
+ @Schema(description = "设备MAC地址(可选),用“XX-XX-XX-XX-XX-XX”格式表达")
+ private String mac;
+
+ // 2022
+ @MessageElement("DeviceID")
+ @Schema(description = "摄像机卡口功能类型,01-人脸卡口;02-人员卡口;03-机动车卡口;04-非机动车卡口;05-物品卡口;99-其他")
+ private String functionType;
+
+ // 2022
+ @MessageElement("DeviceID")
+ @Schema(description = "摄像机视频编码格式")
+ private String encodeType;
+
+ // 2022
+ @MessageElement("DeviceID")
+ @Schema(description = "摄像机安装使用时间")
+ private String installTime;
+
+ // 2022
+ @MessageElement("DeviceID")
+ @Schema(description = "摄像机所属管理单位名称")
+ private String managementUnit;
+
+ // 2022
+ @MessageElement("DeviceID")
+ @Schema(description = "摄像机所属管理单位联系人的联系方式(电话号码,可多值,用英文半角“/”分割)")
+ private String contactInfo;
+
+ // 2022
+ @MessageElement("DeviceID")
+ @Schema(description = "录像保存天数(可选)")
+ private Integer recordSaveDays;
+
+ // 2022
+ @MessageElement("DeviceID")
+ @Schema(description = "国民经济行业分类代码(可选)")
+ private String industrialClassification;
+
- /**
- * 云台类型描述字符串
- */
@Schema(description = "云台类型描述字符串")
private String ptzTypeText;
- /**
- * 创建时间
- */
@Schema(description = "创建时间")
private String createTime;
- /**
- * 更新时间
- */
@Schema(description = "更新时间")
private String updateTime;
-
- /**
- * 在线/离线
- * 1在线,0离线
- * 默认在线
- * 信令:
- * ON
- * OFF
- * 遇到过NVR下的IPC下发信令可以推流, 但是 Status 响应 OFF
- */
- @Schema(description = "在线/离线, 1在线,0离线")
- private boolean status;
- /**
- * 经度
- */
- @Schema(description = "经度")
- private double longitude;
-
- /**
- * 纬度
- */
- @Schema(description = "纬度")
- private double latitude;
-
- /**
- * 经度
- */
- @Schema(description = "自定义经度")
- private double customLongitude;
-
- /**
- * 纬度
- */
- @Schema(description = "自定义纬度")
- private double customLatitude;
-
- /**
- * 经度 GCJ02
- */
- @Schema(description = "GCJ02坐标系经度")
- private double longitudeGcj02;
-
- /**
- * 纬度 GCJ02
- */
- @Schema(description = "GCJ02坐标系纬度")
- private double latitudeGcj02;
-
- /**
- * 经度 WGS84
- */
- @Schema(description = "WGS84坐标系经度")
- private double longitudeWgs84;
-
- /**
- * 纬度 WGS84
- */
- @Schema(description = "WGS84坐标系纬度")
- private double latitudeWgs84;
-
- /**
- * 子设备数
- */
@Schema(description = "子设备数")
private int subCount;
- /**
- * 流唯一编号,存在表示正在直播
- */
@Schema(description = "流唯一编号,存在表示正在直播")
private String streamId;
- /**
- * 是否含有音频
- */
@Schema(description = "是否含有音频")
private Boolean hasAudio;
- /**
- * 标记通道的类型,0->国标通道 1->直播流通道 2->业务分组/虚拟组织/行政区划
- */
- @Schema(description = "标记通道的类型,0->国标通道 1->直播流通道 2->业务分组/虚拟组织/行政区划")
- private int channelType;
-
- /**
- * 业务分组
- */
- @Schema(description = "业务分组")
- private String businessGroupId;
-
- /**
- * GPS的更新时间
- */
@Schema(description = "GPS的更新时间")
private String gpsTime;
@@ -262,22 +277,6 @@ public class DeviceChannel {
"用于选择码流时组成码流标识。默认为null,不设置。可选值: stream/streamnumber/streamprofile/streamMode")
private String streamIdentification;
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public String getDeviceId() {
- return deviceId;
- }
-
- public void setDeviceId(String deviceId) {
- this.deviceId = deviceId;
- }
-
public void setPtzType(int ptzType) {
this.ptzType = ptzType;
switch (ptzType) {
@@ -296,322 +295,15 @@ public class DeviceChannel {
case 4:
this.ptzTypeText = "遥控枪机";
break;
+ case 5:
+ this.ptzTypeText = "遥控半球";
+ break;
+ case 6:
+ this.ptzTypeText = "多目设备的全景/拼接通道";
+ break;
+ case 7:
+ this.ptzTypeText = "多目设备的分割通道";
+ break;
}
}
-
- public String getChannelId() {
- return channelId;
- }
-
- public void setChannelId(String channelId) {
- this.channelId = channelId;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getManufacture() {
- return manufacture;
- }
-
- public void setManufacture(String manufacture) {
- this.manufacture = manufacture;
- }
-
- public String getModel() {
- return model;
- }
-
- public void setModel(String model) {
- this.model = model;
- }
-
- public String getOwner() {
- return owner;
- }
-
- public void setOwner(String owner) {
- this.owner = owner;
- }
-
- public String getCivilCode() {
- return civilCode;
- }
-
- public void setCivilCode(String civilCode) {
- this.civilCode = civilCode;
- }
-
- public String getBlock() {
- return block;
- }
-
- public void setBlock(String block) {
- this.block = block;
- }
-
- public String getAddress() {
- return address;
- }
-
- public void setAddress(String address) {
- this.address = address;
- }
-
- public int getParental() {
- return parental;
- }
-
- public void setParental(int parental) {
- this.parental = parental;
- }
-
- public String getParentId() {
- return parentId;
- }
-
- public void setParentId(String parentId) {
- this.parentId = parentId;
- }
-
- public int getSafetyWay() {
- return safetyWay;
- }
-
- public void setSafetyWay(int safetyWay) {
- this.safetyWay = safetyWay;
- }
-
- public int getRegisterWay() {
- return registerWay;
- }
-
- public void setRegisterWay(int registerWay) {
- this.registerWay = registerWay;
- }
-
- public String getCertNum() {
- return certNum;
- }
-
- public void setCertNum(String certNum) {
- this.certNum = certNum;
- }
-
- public int getCertifiable() {
- return certifiable;
- }
-
- public void setCertifiable(int certifiable) {
- this.certifiable = certifiable;
- }
-
- public int getErrCode() {
- return errCode;
- }
-
- public void setErrCode(int errCode) {
- this.errCode = errCode;
- }
-
- public String getEndTime() {
- return endTime;
- }
-
- public void setEndTime(String endTime) {
- this.endTime = endTime;
- }
-
- public String getSecrecy() {
- return secrecy;
- }
-
- public void setSecrecy(String secrecy) {
- this.secrecy = secrecy;
- }
-
- public String getIpAddress() {
- return ipAddress;
- }
-
- public void setIpAddress(String ipAddress) {
- this.ipAddress = ipAddress;
- }
-
- public int getPort() {
- return port;
- }
-
- public void setPort(int port) {
- this.port = port;
- }
-
- public String getPassword() {
- return password;
- }
-
- public void setPassword(String password) {
- this.password = password;
- }
-
- public int getPtzType() {
- return ptzType;
- }
-
- public String getPtzTypeText() {
- return ptzTypeText;
- }
-
- public void setPtzTypeText(String ptzTypeText) {
- this.ptzTypeText = ptzTypeText;
- }
-
- public boolean isStatus() {
- return status;
- }
-
- public void setStatus(boolean status) {
- this.status = status;
- }
-
- public double getLongitude() {
- return longitude;
- }
-
- public void setLongitude(double longitude) {
- this.longitude = longitude;
- }
-
- public double getLatitude() {
- return latitude;
- }
-
- public void setLatitude(double latitude) {
- this.latitude = latitude;
- }
-
- public double getLongitudeGcj02() {
- return longitudeGcj02;
- }
-
- public void setLongitudeGcj02(double longitudeGcj02) {
- this.longitudeGcj02 = longitudeGcj02;
- }
-
- public double getLatitudeGcj02() {
- return latitudeGcj02;
- }
-
- public void setLatitudeGcj02(double latitudeGcj02) {
- this.latitudeGcj02 = latitudeGcj02;
- }
-
- public double getLongitudeWgs84() {
- return longitudeWgs84;
- }
-
- public void setLongitudeWgs84(double longitudeWgs84) {
- this.longitudeWgs84 = longitudeWgs84;
- }
-
- public double getLatitudeWgs84() {
- return latitudeWgs84;
- }
-
- public void setLatitudeWgs84(double latitudeWgs84) {
- this.latitudeWgs84 = latitudeWgs84;
- }
-
- public int getSubCount() {
- return subCount;
- }
-
- public void setSubCount(int subCount) {
- this.subCount = subCount;
- }
-
- public Boolean getHasAudio() {
- return hasAudio;
- }
-
- public void setHasAudio(Boolean hasAudio) {
- this.hasAudio = hasAudio;
- }
-
- public String getStreamId() {
- return streamId;
- }
-
- public void setStreamId(String streamId) {
- this.streamId = streamId;
- }
-
- public String getCreateTime() {
- return createTime;
- }
-
- public void setCreateTime(String createTime) {
- this.createTime = createTime;
- }
-
- public String getUpdateTime() {
- return updateTime;
- }
-
- public void setUpdateTime(String updateTime) {
- this.updateTime = updateTime;
- }
-
- public int getChannelType() {
- return channelType;
- }
-
- public void setChannelType(int channelType) {
- this.channelType = channelType;
- }
-
- public String getBusinessGroupId() {
- return businessGroupId;
- }
-
- public void setBusinessGroupId(String businessGroupId) {
- this.businessGroupId = businessGroupId;
- }
-
- public String getGpsTime() {
- return gpsTime;
- }
-
- public void setGpsTime(String gpsTime) {
- this.gpsTime = gpsTime;
- }
-
- public String getStreamIdentification() {
- return streamIdentification;
- }
-
- public void setStreamIdentification(String streamIdentification) {
- this.streamIdentification = streamIdentification;
- }
-
- public double getCustomLongitude() {
- return customLongitude;
- }
-
- public void setCustomLongitude(double customLongitude) {
- this.customLongitude = customLongitude;
- }
-
- public double getCustomLatitude() {
- return customLatitude;
- }
-
- public void setCustomLatitude(double customLatitude) {
- this.customLatitude = customLatitude;
- }
}
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java
index ec6f901f..fe827f5a 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/InviteRequestProcessor.java
@@ -25,8 +25,8 @@ import com.genersoft.iot.vmp.media.event.hook.Hook;
import com.genersoft.iot.vmp.media.event.hook.HookSubscribe;
import com.genersoft.iot.vmp.media.event.hook.HookType;
import com.genersoft.iot.vmp.media.service.IMediaServerService;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamProxy;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamPush;
import com.genersoft.iot.vmp.service.IPlayService;
import com.genersoft.iot.vmp.service.IStreamProxyService;
import com.genersoft.iot.vmp.service.IStreamPushService;
@@ -197,8 +197,8 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
PlatformCatalog catalog = storager.getCatalog(requesterId, channelId);
MediaServer mediaServerItem = null;
- StreamPushItem streamPushItem = null;
- StreamProxyItem proxyByAppAndStream = null;
+ StreamPush streamPushItem = null;
+ StreamProxy proxyByAppAndStream = null;
// 不是通道可能是直播流
if (channel != null && gbStream == null) {
// 通道存在,发100,TRYING
@@ -593,7 +593,7 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
sendRtpItem.setPlayType(InviteStreamType.PUSH);
if (streamPushItem != null) {
// 从redis查询是否正在接收这个推流
- StreamPushItem pushListItem = redisCatchStorage.getPushListItem(gbStream.getApp(), gbStream.getStream());
+ StreamPush pushListItem = redisCatchStorage.getPushListItem(gbStream.getApp(), gbStream.getStream());
if (pushListItem != null) {
sendRtpItem.setServerId(pushListItem.getServerId());
sendRtpItem.setMediaServerId(pushListItem.getMediaServerId());
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForCatalogProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForCatalogProcessor.java
index 6185cda4..c832161a 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForCatalogProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForCatalogProcessor.java
@@ -122,6 +122,8 @@ public class NotifyRequestForCatalogProcessor extends SIPRequestProcessorParent
event = eventElement.getText().toUpperCase();
}
DeviceChannel channel = XmlUtil.channelContentHandler(itemDevice, device, event);
+
+
if (channel == null) {
logger.info("[收到目录订阅]:但是解析失败 {}", new String(evt.getRequest().getRawContent()));
continue;
@@ -130,7 +132,7 @@ public class NotifyRequestForCatalogProcessor extends SIPRequestProcessorParent
channel.setParentId(null);
}
channel.setDeviceId(device.getDeviceId());
- logger.info("[收到目录订阅]:{}/{}", device.getDeviceId(), channel.getChannelId());
+ logger.info("[收到目录订阅]:{}/{}", device.getDeviceId(), channel.getDeviceId());
switch (event) {
case CatalogEvent.ON:
// 上线
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java
index 6596f53a..cb874802 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java
@@ -241,6 +241,7 @@ public class XmlUtil {
}
public static DeviceChannel channelContentHandler(Element itemDevice, Device device, String event){
+ loadElement(itemDevice, DeviceChannel.class)
DeviceChannel deviceChannel = new DeviceChannel();
deviceChannel.setDeviceId(device.getDeviceId());
Element channdelIdElement = itemDevice.element("DeviceID");
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamProxy.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamProxy.java
new file mode 100755
index 00000000..cb007554
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamProxy.java
@@ -0,0 +1,64 @@
+package com.genersoft.iot.vmp.media.zlm.dto;
+
+import com.genersoft.iot.vmp.gb28181.bean.CommonGBChannel;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @author lin
+ */
+@Data
+@Schema(description = "拉流代理的信息")
+@EqualsAndHashCode(callSuper = true)
+public class StreamProxy extends CommonGBChannel {
+
+ /**
+ * 数据库自增ID
+ */
+ @Schema(description = "数据库自增ID")
+ private int id;
+
+ @Schema(description = "类型,取值,default: 流媒体直接拉流(默认),ffmpeg: ffmpeg实现拉流")
+ private String type;
+
+ @Schema(description = "应用名")
+ private String app;
+
+ @Schema(description = "流ID")
+ private String stream;
+
+ @Schema(description = "流媒体服务ID")
+ private String mediaServerId;
+
+ @Schema(description = "拉流地址")
+ private String srcUrl;
+
+
+ @Schema(description = "超时时间")
+ private int timeout;
+
+ @Schema(description = "ffmpeg模板KEY")
+ private String ffmpegCmdKey;
+
+ @Schema(description = "rtsp拉流时,拉流方式,0:tcp,1:udp,2:组播")
+ private String rtspType;
+
+ @Schema(description = "是否启用")
+ private boolean enable;
+
+ @Schema(description = "是否启用音频")
+ private boolean enableAudio;
+
+ @Schema(description = "是否启用MP4")
+ private boolean enableMp4;
+
+ @Schema(description = "是否 无人观看时删除")
+ private boolean enableRemoveNoneReader;
+
+ @Schema(description = "是否 无人观看时自动停用")
+ private boolean enableDisableNoneReader;
+
+ @Schema(description = "拉流代理时zlm返回的key,用于停止拉流代理")
+ private String streamKey;
+}
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamProxyItem.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamProxyItem.java
deleted file mode 100755
index 0486d00d..00000000
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamProxyItem.java
+++ /dev/null
@@ -1,180 +0,0 @@
-package com.genersoft.iot.vmp.media.zlm.dto;
-
-import com.genersoft.iot.vmp.gb28181.bean.GbStream;
-import io.swagger.v3.oas.annotations.media.Schema;
-
-/**
- * @author lin
- */
-@Schema(description = "拉流代理的信息")
-public class StreamProxyItem extends GbStream {
-
- @Schema(description = "类型")
- private String type;
- @Schema(description = "应用名")
- private String app;
- @Schema(description = "流ID")
- private String stream;
- @Schema(description = "流媒体服务ID")
- private String mediaServerId;
- @Schema(description = "拉流地址")
- private String url;
- @Schema(description = "拉流地址")
- private String srcUrl;
- @Schema(description = "目标地址")
- private String dstUrl;
- @Schema(description = "超时时间")
- private int timeoutMs;
- @Schema(description = "ffmpeg模板KEY")
- private String ffmpegCmdKey;
- @Schema(description = "rtsp拉流时,拉流方式,0:tcp,1:udp,2:组播")
- private String rtpType;
- @Schema(description = "是否启用")
- private boolean enable;
- @Schema(description = "是否启用音频")
- private boolean enableAudio;
- @Schema(description = "是否启用MP4")
- private boolean enableMp4;
- @Schema(description = "是否 无人观看时删除")
- private boolean enableRemoveNoneReader;
-
- @Schema(description = "是否 无人观看时自动停用")
- private boolean enableDisableNoneReader;
-
- @Schema(description = "拉流代理时zlm返回的key,用于停止拉流代理")
- private String streamKey;
-
- public String getType() {
- return type;
- }
-
- public void setType(String type) {
- this.type = type;
- }
-
- @Override
- public String getApp() {
- return app;
- }
-
- @Override
- public void setApp(String app) {
- this.app = app;
- }
-
- @Override
- public String getStream() {
- return stream;
- }
-
- @Override
- public void setStream(String stream) {
- this.stream = stream;
- }
-
- @Override
- public String getMediaServerId() {
- return mediaServerId;
- }
-
- @Override
- public void setMediaServerId(String mediaServerId) {
- this.mediaServerId = mediaServerId;
- }
-
- public String getUrl() {
- return url;
- }
-
- public void setUrl(String url) {
- this.url = url;
- }
-
- public String getSrcUrl() {
- return srcUrl;
- }
-
- public void setSrcUrl(String src_url) {
- this.srcUrl = src_url;
- }
-
- public String getDstUrl() {
- return dstUrl;
- }
-
- public void setDstUrl(String dst_url) {
- this.dstUrl = dst_url;
- }
-
- public int getTimeoutMs() {
- return timeoutMs;
- }
-
- public void setTimeoutMs(int timeout_ms) {
- this.timeoutMs = timeout_ms;
- }
-
- public String getFfmpegCmdKey() {
- return ffmpegCmdKey;
- }
-
- public void setFfmpegCmdKey(String ffmpeg_cmd_key) {
- this.ffmpegCmdKey = ffmpeg_cmd_key;
- }
-
- public String getRtpType() {
- return rtpType;
- }
-
- public void setRtpType(String rtp_type) {
- this.rtpType = rtp_type;
- }
-
- public boolean isEnable() {
- return enable;
- }
-
- public void setEnable(boolean enable) {
- this.enable = enable;
- }
-
- public boolean isEnableMp4() {
- return enableMp4;
- }
-
- public void setEnableMp4(boolean enable_mp4) {
- this.enableMp4 = enable_mp4;
- }
-
- public boolean isEnableRemoveNoneReader() {
- return enableRemoveNoneReader;
- }
-
- public void setEnableRemoveNoneReader(boolean enable_remove_none_reader) {
- this.enableRemoveNoneReader = enable_remove_none_reader;
- }
-
- public boolean isEnableDisableNoneReader() {
- return enableDisableNoneReader;
- }
-
- public void setEnableDisableNoneReader(boolean enable_disable_none_reader) {
- this.enableDisableNoneReader = enable_disable_none_reader;
- }
-
- public boolean isEnableAudio() {
- return enableAudio;
- }
-
- public void setEnableAudio(boolean enable_audio) {
- this.enableAudio = enable_audio;
- }
-
- public String getStreamKey() {
- return streamKey;
- }
-
- public void setStreamKey(String streamKey) {
- this.streamKey = streamKey;
- }
-}
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPush.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPush.java
new file mode 100755
index 00000000..41d4af96
--- /dev/null
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPush.java
@@ -0,0 +1,107 @@
+package com.genersoft.iot.vmp.media.zlm.dto;
+
+import com.genersoft.iot.vmp.common.StreamInfo;
+import com.genersoft.iot.vmp.gb28181.bean.CommonGBChannel;
+import com.genersoft.iot.vmp.media.event.media.MediaArrivalEvent;
+import com.genersoft.iot.vmp.utils.DateUtil;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.jetbrains.annotations.NotNull;
+
+
+@Data
+@Schema(description = "推流信息")
+@EqualsAndHashCode(callSuper = true)
+public class StreamPush extends CommonGBChannel implements Comparable{
+
+ /**
+ * id
+ */
+ @Schema(description = "id")
+ private Integer id;
+
+ /**
+ * 应用名
+ */
+ @Schema(description = "应用名")
+ private String app;
+
+ /**
+ * 流id
+ */
+ @Schema(description = "流id")
+ private String stream;
+
+ /**
+ * 使用的流媒体ID
+ */
+ @Schema(description = "使用的流媒体ID")
+ private String mediaServerId;
+
+ /**
+ * 使用的服务ID
+ */
+ @Schema(description = "使用的服务ID")
+ private String serverId;
+
+ /**
+ * 推流时间
+ */
+ @Schema(description = "推流时间")
+ private String pushTime;
+
+ /**
+ * 更新时间
+ */
+ @Schema(description = "更新时间")
+ private String updateTime;
+
+ /**
+ * 创建时间
+ */
+ @Schema(description = "创建时间")
+ private String createTime;
+
+ /**
+ * 是否正在推流
+ */
+ @Schema(description = "是否正在推流")
+ private boolean pushIng;
+
+ /**
+ * 是否自己平台的推流
+ */
+ @Schema(description = "是否自己平台的推流")
+ private boolean self;
+
+ @Override
+ public int compareTo(@NotNull StreamPush streamPushItem) {
+ return Long.valueOf(DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(this.createTime)
+ - DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(streamPushItem.getCreateTime())).intValue();
+ }
+
+ public StreamPush getInstance(StreamInfo streamInfo) {
+ StreamPush streamPushItem = new StreamPush();
+ streamPushItem.setApp(streamInfo.getApp());
+ streamPushItem.setMediaServerId(streamInfo.getMediaServerId());
+ streamPushItem.setStream(streamInfo.getStream());
+ streamPushItem.setCreateTime(DateUtil.getNow());
+ streamPushItem.setServerId(streamInfo.getMediaServerId());
+ return streamPushItem;
+
+ }
+
+ public static StreamPush getInstance(MediaArrivalEvent event, String serverId){
+ StreamPush streamPushItem = new StreamPush();
+ streamPushItem.setApp(event.getApp());
+ streamPushItem.setMediaServerId(event.getMediaServer().getId());
+ streamPushItem.setStream(event.getStream());
+ streamPushItem.setCreateTime(DateUtil.getNow());
+ streamPushItem.setServerId(serverId);
+ return streamPushItem;
+ }
+
+
+}
+
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java
deleted file mode 100755
index f498479d..00000000
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamPushItem.java
+++ /dev/null
@@ -1,432 +0,0 @@
-package com.genersoft.iot.vmp.media.zlm.dto;
-
-import com.genersoft.iot.vmp.common.StreamInfo;
-import com.genersoft.iot.vmp.gb28181.bean.GbStream;
-import com.genersoft.iot.vmp.media.event.media.MediaArrivalEvent;
-import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
-import com.genersoft.iot.vmp.utils.DateUtil;
-import io.swagger.v3.oas.annotations.media.Schema;
-import org.jetbrains.annotations.NotNull;
-
-import java.util.List;
-
-@Schema(description = "推流信息")
-public class StreamPushItem extends GbStream implements Comparable{
-
- /**
- * id
- */
- @Schema(description = "id")
- private Integer id;
-
- /**
- * 应用名
- */
- @Schema(description = "应用名")
- private String app;
-
- /**
- * 流id
- */
- @Schema(description = "流id")
- private String stream;
-
- /**
- * 观看总人数,包括hls/rtsp/rtmp/http-flv/ws-flv
- */
- @Schema(description = "观看总人数")
- private Integer totalReaderCount;
-
- /**
- * 协议 包括hls/rtsp/rtmp/http-flv/ws-flv
- */
- @Schema(description = "协议 包括hls/rtsp/rtmp/http-flv/ws-flv")
- private List schemas;
-
- /**
- * 产生源类型,
- * unknown = 0,
- * rtmp_push=1,
- * rtsp_push=2,
- * rtp_push=3,
- * pull=4,
- * ffmpeg_pull=5,
- * mp4_vod=6,
- * device_chn=7
- */
- @Schema(description = "产生源类型")
- private int originType;
-
- /**
- * 客户端和服务器网络信息,可能为null类型
- */
- @Schema(description = "客户端和服务器网络信息,可能为null类型")
- private OnStreamChangedHookParam.OriginSock originSock;
-
- /**
- * 产生源类型的字符串描述
- */
- @Schema(description = "产生源类型的字符串描述")
- private String originTypeStr;
-
- /**
- * 产生源的url
- */
- @Schema(description = "产生源的url")
- private String originUrl;
-
- /**
- * 存活时间,单位秒
- */
- @Schema(description = "存活时间,单位秒")
- private Long aliveSecond;
-
- /**
- * 音视频轨道
- */
- @Schema(description = "音视频轨道")
- private List tracks;
-
- /**
- * 音视频轨道
- */
- @Schema(description = "音视频轨道")
- private String vhost;
-
- /**
- * 使用的流媒体ID
- */
- @Schema(description = "使用的流媒体ID")
- private String mediaServerId;
-
- /**
- * 使用的服务ID
- */
- @Schema(description = "使用的服务ID")
- private String serverId;
-
- /**
- * 推流时间
- */
- @Schema(description = "推流时间")
- private String pushTime;
-
- /**
- * 更新时间
- */
- @Schema(description = "更新时间")
- private String updateTime;
-
- /**
- * 创建时间
- */
- @Schema(description = "创建时间")
- private String createTime;
-
- /**
- * 是否正在推流
- */
- @Schema(description = "是否正在推流")
- private boolean pushIng;
-
- /**
- * 是否自己平台的推流
- */
- @Schema(description = "是否自己平台的推流")
- private boolean self;
-
-
-
- public String getVhost() {
- return vhost;
- }
-
- public void setVhost(String vhost) {
- this.vhost = vhost;
- }
-
-
- @Override
- public int compareTo(@NotNull StreamPushItem streamPushItem) {
- return Long.valueOf(DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(super.createTime)
- - DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(streamPushItem.getCreateTime())).intValue();
- }
-
- public StreamPushItem getInstance(StreamInfo streamInfo) {
- StreamPushItem streamPushItem = new StreamPushItem();
- streamPushItem.setApp(streamInfo.getApp());
- streamPushItem.setMediaServerId(streamInfo.getMediaServerId());
- streamPushItem.setStream(streamInfo.getStream());
- streamPushItem.setAliveSecond(streamInfo.getMediaInfo().getAliveSecond());
-// streamPushItem.setOriginSock(streamInfo.getMediaInfo().getOriginSock());
- streamPushItem.setTotalReaderCount(streamInfo.getMediaInfo().getReaderCount());
- streamPushItem.setOriginType(streamInfo.getOriginType());
-// streamPushItem.setOriginTypeStr(streamInfo.getMediaInfo().getOriginTypeStr());
-// streamPushItem.setOriginUrl(streamInfo.getMediaInfo().getOriginUrl());
- streamPushItem.setCreateTime(DateUtil.getNow());
- streamPushItem.setAliveSecond(streamInfo.getMediaInfo().getAliveSecond());
- streamPushItem.setStatus(true);
- streamPushItem.setStreamType("push");
-// streamPushItem.setVhost(streamInfo.getVhost());
- streamPushItem.setServerId(streamInfo.getMediaServerId());
- return streamPushItem;
-
- }
-
- public static StreamPushItem getInstance(MediaArrivalEvent event, String serverId){
- StreamPushItem streamPushItem = new StreamPushItem();
- streamPushItem.setApp(event.getApp());
- streamPushItem.setMediaServerId(event.getMediaServer().getId());
- streamPushItem.setStream(event.getStream());
- streamPushItem.setAliveSecond(event.getMediaInfo().getAliveSecond());
-// streamPushItem.setOriginSock(streamInfo.getMediaInfo().getOriginSock());
- streamPushItem.setTotalReaderCount(event.getMediaInfo().getReaderCount());
- streamPushItem.setOriginType(event.getMediaInfo().getOriginType());
-// streamPushItem.setOriginTypeStr(streamInfo.getMediaInfo().getOriginTypeStr());
-// streamPushItem.setOriginUrl(streamInfo.getMediaInfo().getOriginUrl());
- streamPushItem.setCreateTime(DateUtil.getNow());
- streamPushItem.setAliveSecond(event.getMediaInfo().getAliveSecond());
- streamPushItem.setStatus(true);
- streamPushItem.setStreamType("push");
-// streamPushItem.setVhost(streamInfo.getVhost());
- streamPushItem.setServerId(serverId);
- return streamPushItem;
- }
-
- public static class MediaSchema {
- private String schema;
- private Long bytesSpeed;
-
- public String getSchema() {
- return schema;
- }
-
- public void setSchema(String schema) {
- this.schema = schema;
- }
-
- public Long getBytesSpeed() {
- return bytesSpeed;
- }
-
- public void setBytesSpeed(Long bytesSpeed) {
- this.bytesSpeed = bytesSpeed;
- }
- }
-
- public Integer getId() {
- return id;
- }
-
- public void setId(Integer id) {
- this.id = id;
- }
-
- @Override
- public String getApp() {
- return app;
- }
-
- @Override
- public void setApp(String app) {
- this.app = app;
- }
-
- @Override
- public String getStream() {
- return stream;
- }
-
- @Override
- public void setStream(String stream) {
- this.stream = stream;
- }
-
- public Integer getTotalReaderCount() {
- return totalReaderCount;
- }
-
- public void setTotalReaderCount(Integer totalReaderCount) {
- this.totalReaderCount = totalReaderCount;
- }
-
- public List getSchemas() {
- return schemas;
- }
-
- public void setSchemas(List schemas) {
- this.schemas = schemas;
- }
-
- public int getOriginType() {
- return originType;
- }
-
- public void setOriginType(int originType) {
- this.originType = originType;
- }
-
- public OnStreamChangedHookParam.OriginSock getOriginSock() {
- return originSock;
- }
-
- public void setOriginSock(OnStreamChangedHookParam.OriginSock originSock) {
- this.originSock = originSock;
- }
-
-
- public String getOriginTypeStr() {
- return originTypeStr;
- }
-
- public void setOriginTypeStr(String originTypeStr) {
- this.originTypeStr = originTypeStr;
- }
-
- public String getOriginUrl() {
- return originUrl;
- }
-
- public void setOriginUrl(String originUrl) {
- this.originUrl = originUrl;
- }
-
- public Long getAliveSecond() {
- return aliveSecond;
- }
-
- public void setAliveSecond(Long aliveSecond) {
- this.aliveSecond = aliveSecond;
- }
-
- public List getTracks() {
- return tracks;
- }
-
- public void setTracks(List tracks) {
- this.tracks = tracks;
- }
-
-
- @Override
- public String getMediaServerId() {
- return mediaServerId;
- }
-
- @Override
- public void setMediaServerId(String mediaServerId) {
- this.mediaServerId = mediaServerId;
- }
-
- public String getServerId() {
- return serverId;
- }
-
- public void setServerId(String serverId) {
- this.serverId = serverId;
- }
-
-
- public String getPushTime() {
- return pushTime;
- }
-
- public void setPushTime(String pushTime) {
- this.pushTime = pushTime;
- }
-
- public String getUpdateTime() {
- return updateTime;
- }
-
- public void setUpdateTime(String updateTime) {
- this.updateTime = updateTime;
- }
-
- @Override
- public String getCreateTime() {
- return createTime;
- }
-
- @Override
- public void setCreateTime(String createTime) {
- this.createTime = createTime;
- }
-
- public boolean isPushIng() {
- return pushIng;
- }
-
- public void setPushIng(boolean pushIng) {
- this.pushIng = pushIng;
- }
-
- public boolean isSelf() {
- return self;
- }
-
- public void setSelf(boolean self) {
- this.self = self;
- }
-
-// @Override
-// public Integer getGbStreamId() {
-// return super.getGbStreamId();
-// }
-//
-// @Override
-// public void setGbStreamId(Integer gbStreamId) {
-// super.setGbStreamId(gbStreamId);
-// }
-//
-//
-// public String getGbId() {
-// return super.getGbId();
-// }
-//
-// public void setGbId(String gbId) {
-// super.setGbId(gbId);
-// }
-//
-// public String getName() {
-// return super.getName();
-// }
-//
-// public void setName(String name) {
-// super.setName(name);
-// }
-//
-// public double getLongitude() {
-// return super.getLongitude();
-// }
-//
-// public void setLongitude(double longitude) {
-// super.setLongitude(longitude);
-// }
-//
-// public double getLatitude() {
-// return super.getLatitude();
-// }
-//
-// public void setLatitude(double latitude) {
-// super.setLatitude(latitude);
-// }
-//
-// public String getStreamType() {
-// return super.getStreamType();
-// }
-//
-// public void setStreamType(String streamType) {
-// super.setStreamType(streamType);
-// }
-//
-// public boolean isStatus() {
-// return super.isStatus();
-// }
-//
-// public void setStatus(boolean status) {
-// super.setStatus(status);
-// }
-
-}
-
diff --git a/src/main/java/com/genersoft/iot/vmp/service/IGbStreamService.java b/src/main/java/com/genersoft/iot/vmp/service/IGbStreamService.java
index e4090977..f37539cd 100755
--- a/src/main/java/com/genersoft/iot/vmp/service/IGbStreamService.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/IGbStreamService.java
@@ -3,7 +3,7 @@ package com.genersoft.iot.vmp.service;
import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
import com.genersoft.iot.vmp.gb28181.bean.GbStream;
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamPush;
import com.github.pagehelper.PageInfo;
import java.util.List;
@@ -53,7 +53,7 @@ public interface IGbStreamService {
* @param streamPushItemForUpdate
* @return
*/
- int updateGbIdOrName(List streamPushItemForUpdate);
+ int updateGbIdOrName(List streamPushItemForUpdate);
DeviceChannel getDeviceChannelListByStreamWithStatus(GbStream gbStream, String catalogId, ParentPlatform platform);
diff --git a/src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java b/src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java
index f3b51628..8cfbd3a9 100755
--- a/src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/IStreamProxyService.java
@@ -3,7 +3,7 @@ package com.genersoft.iot.vmp.service;
import com.genersoft.iot.vmp.common.GeneralCallback;
import com.genersoft.iot.vmp.common.StreamInfo;
import com.genersoft.iot.vmp.media.bean.MediaServer;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamProxy;
import com.genersoft.iot.vmp.vmanager.bean.ResourceBaseInfo;
import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
import com.github.pagehelper.PageInfo;
@@ -16,7 +16,7 @@ public interface IStreamProxyService {
* 保存视频代理
* @param param
*/
- void save(StreamProxyItem param, GeneralCallback callback);
+ void save(StreamProxy param, GeneralCallback callback);
/**
* 添加视频代理到zlm
@@ -24,7 +24,7 @@ public interface IStreamProxyService {
* @param param
* @return
*/
- WVPResult addStreamProxyToZlm(StreamProxyItem param);
+ WVPResult addStreamProxyToZlm(StreamProxy param);
/**
* 从zlm移除视频代理
@@ -32,7 +32,7 @@ public interface IStreamProxyService {
* @param param
* @return
*/
- Boolean removeStreamProxyFromZlm(StreamProxyItem param);
+ Boolean removeStreamProxyFromZlm(StreamProxy param);
/**
* 分页查询
@@ -40,7 +40,7 @@ public interface IStreamProxyService {
* @param count
* @return
*/
- PageInfo getAll(Integer page, Integer count);
+ PageInfo getAll(Integer page, Integer count);
/**
* 删除视频代理
@@ -86,7 +86,7 @@ public interface IStreamProxyService {
* 根据app与stream获取streamProxy
* @return
*/
- StreamProxyItem getStreamProxyByAppAndStream(String app, String streamId);
+ StreamProxy getStreamProxyByAppAndStream(String app, String streamId);
/**
@@ -108,7 +108,7 @@ public interface IStreamProxyService {
/**
* 更新代理流
*/
- boolean updateStreamProxy(StreamProxyItem streamProxyItem);
+ boolean updateStreamProxy(StreamProxy streamProxyItem);
/**
* 获取统计信息
diff --git a/src/main/java/com/genersoft/iot/vmp/service/IStreamPushService.java b/src/main/java/com/genersoft/iot/vmp/service/IStreamPushService.java
index e315d927..b99106e7 100755
--- a/src/main/java/com/genersoft/iot/vmp/service/IStreamPushService.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/IStreamPushService.java
@@ -1,7 +1,7 @@
package com.genersoft.iot.vmp.service;
import com.genersoft.iot.vmp.gb28181.bean.GbStream;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamPush;
import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
import com.genersoft.iot.vmp.service.bean.StreamPushItemFromRedis;
import com.genersoft.iot.vmp.vmanager.bean.ResourceBaseInfo;
@@ -32,13 +32,13 @@ public interface IStreamPushService {
/**
* 获取
*/
- PageInfo getPushList(Integer page, Integer count, String query, Boolean pushing, String mediaServerId);
+ PageInfo getPushList(Integer page, Integer count, String query, Boolean pushing, String mediaServerId);
- List getPushList(String mediaSererId);
+ List getPushList(String mediaSererId);
- StreamPushItem transform(OnStreamChangedHookParam item);
+ StreamPush transform(OnStreamChangedHookParam item);
- StreamPushItem getPush(String app, String streamId);
+ StreamPush getPush(String app, String streamId);
/**
* 停止一路推流
@@ -68,7 +68,7 @@ public interface IStreamPushService {
/**
* 批量添加
*/
- void batchAdd(List streamPushExcelDtoList);
+ void batchAdd(List streamPushExcelDtoList);
/**
* 中止多个推流
@@ -78,7 +78,7 @@ public interface IStreamPushService {
/**
* 导入时批量增加
*/
- void batchAddForUpload(List streamPushItems, Map> streamPushItemsForAll);
+ void batchAddForUpload(List streamPushItems, Map> streamPushItemsForAll);
/**
* 全部离线
@@ -98,7 +98,7 @@ public interface IStreamPushService {
/**
* 增加推流
*/
- boolean add(StreamPushItem stream);
+ boolean add(StreamPush stream);
/**
* 获取全部的app+Streanm 用于判断推流列表是新增还是修改
@@ -112,7 +112,7 @@ public interface IStreamPushService {
*/
ResourceBaseInfo getOverview();
- Map getAllAppAndStreamMap();
+ Map getAllAppAndStreamMap();
void updatePush(OnStreamChangedHookParam param);
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceAlarmServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceAlarmServiceImpl.java
index e9936c4a..afc9c3a1 100755
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceAlarmServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/DeviceAlarmServiceImpl.java
@@ -2,7 +2,6 @@ package com.genersoft.iot.vmp.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.genersoft.iot.vmp.gb28181.bean.DeviceAlarm;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
import com.genersoft.iot.vmp.service.IDeviceAlarmService;
import com.genersoft.iot.vmp.storager.dao.DeviceAlarmMapper;
import com.github.pagehelper.PageHelper;
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java
index c2c9d725..46b70f18 100755
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/GbStreamServiceImpl.java
@@ -4,7 +4,7 @@ import com.baomidou.dynamic.datasource.annotation.DS;
import com.genersoft.iot.vmp.gb28181.bean.*;
import com.genersoft.iot.vmp.gb28181.event.EventPublisher;
import com.genersoft.iot.vmp.gb28181.event.subscribe.catalog.CatalogEvent;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamPush;
import com.genersoft.iot.vmp.service.IGbStreamService;
import com.genersoft.iot.vmp.storager.dao.GbStreamMapper;
import com.genersoft.iot.vmp.storager.dao.ParentPlatformMapper;
@@ -194,7 +194,7 @@ public class GbStreamServiceImpl implements IGbStreamService {
}
@Override
- public int updateGbIdOrName(List streamPushItemForUpdate) {
+ public int updateGbIdOrName(List streamPushItemForUpdate) {
return gbStreamMapper.updateGbIdOrName(streamPushItemForUpdate);
}
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java
index 144fb590..d3b595d2 100755
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java
@@ -13,7 +13,7 @@ import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform;
import com.genersoft.iot.vmp.media.bean.MediaServer;
import com.genersoft.iot.vmp.media.bean.ResultForOnPublish;
import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamProxy;
import com.genersoft.iot.vmp.service.*;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
@@ -91,7 +91,7 @@ public class MediaServiceImpl implements IMediaService {
public ResultForOnPublish authenticatePublish(MediaServer mediaServer, String app, String stream, String params) {
// 推流鉴权的处理
if (!"rtp".equals(app)) {
- StreamProxyItem streamProxyItem = streamProxyService.getStreamProxyByAppAndStream(app, stream);
+ StreamProxy streamProxyItem = streamProxyService.getStreamProxyByAppAndStream(app, stream);
if (streamProxyItem != null) {
ResultForOnPublish result = new ResultForOnPublish();
result.setEnable_audio(streamProxyItem.isEnableAudio());
@@ -277,7 +277,7 @@ public class MediaServiceImpl implements IMediaService {
} else {
// 非国标流 推流/拉流代理
// 拉流代理
- StreamProxyItem streamProxyItem = streamProxyService.getStreamProxyByAppAndStream(app, stream);
+ StreamProxy streamProxyItem = streamProxyService.getStreamProxyByAppAndStream(app, stream);
if (streamProxyItem != null) {
if (streamProxyItem.isEnableRemoveNoneReader()) {
// 无人观看自动移除
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java
index 920228df..f125ac17 100755
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java
@@ -7,7 +7,6 @@ import com.genersoft.iot.vmp.common.StreamInfo;
import com.genersoft.iot.vmp.conf.DynamicTask;
import com.genersoft.iot.vmp.conf.UserSetting;
import com.genersoft.iot.vmp.conf.exception.ControllerException;
-import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
import com.genersoft.iot.vmp.gb28181.event.subscribe.catalog.CatalogEvent;
import com.genersoft.iot.vmp.media.bean.MediaInfo;
import com.genersoft.iot.vmp.media.bean.MediaServer;
@@ -18,7 +17,7 @@ import com.genersoft.iot.vmp.media.event.media.MediaArrivalEvent;
import com.genersoft.iot.vmp.media.event.media.MediaDepartureEvent;
import com.genersoft.iot.vmp.media.event.media.MediaNotFoundEvent;
import com.genersoft.iot.vmp.media.service.IMediaServerService;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamProxy;
import com.genersoft.iot.vmp.service.IGbStreamService;
import com.genersoft.iot.vmp.service.IStreamProxyService;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
@@ -131,7 +130,7 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
return;
}
// 拉流代理
- StreamProxyItem streamProxyByAppAndStream = getStreamProxyByAppAndStream(event.getApp(), event.getStream());
+ StreamProxy streamProxyByAppAndStream = getStreamProxyByAppAndStream(event.getApp(), event.getStream());
if (streamProxyByAppAndStream != null && streamProxyByAppAndStream.isEnableDisableNoneReader()) {
start(event.getApp(), event.getStream());
}
@@ -139,7 +138,7 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
@Override
- public void save(StreamProxyItem param, GeneralCallback callback) {
+ public void save(StreamProxy param, GeneralCallback callback) {
MediaServer mediaServer;
if (ObjectUtils.isEmpty(param.getMediaServerId()) || "auto".equals(param.getMediaServerId())){
mediaServer = mediaServerService.getMediaServerForMinimumLoad(null);
@@ -266,7 +265,7 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
* @param streamProxyItem
* @return
*/
- private boolean addStreamProxy(StreamProxyItem streamProxyItem) {
+ private boolean addStreamProxy(StreamProxy streamProxyItem) {
TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
boolean result = false;
streamProxyItem.setStreamType("proxy");
@@ -304,7 +303,7 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
* @return
*/
@Override
- public boolean updateStreamProxy(StreamProxyItem streamProxyItem) {
+ public boolean updateStreamProxy(StreamProxy streamProxyItem) {
TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
boolean result = false;
streamProxyItem.setStreamType("proxy");
@@ -333,7 +332,7 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
}
@Override
- public WVPResult addStreamProxyToZlm(StreamProxyItem param) {
+ public WVPResult addStreamProxyToZlm(StreamProxy param) {
WVPResult result = null;
MediaServer mediaServer = null;
if (param.getMediaServerId() == null) {
@@ -373,7 +372,7 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
}
@Override
- public Boolean removeStreamProxyFromZlm(StreamProxyItem param) {
+ public Boolean removeStreamProxyFromZlm(StreamProxy param) {
if (param ==null) {
return null;
}
@@ -395,13 +394,13 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
}
@Override
- public PageInfo getAll(Integer page, Integer count) {
+ public PageInfo getAll(Integer page, Integer count) {
return videoManagerStorager.queryStreamProxyList(page, count);
}
@Override
public void del(String app, String stream) {
- StreamProxyItem streamProxyItem = videoManagerStorager.queryStreamProxy(app, stream);
+ StreamProxy streamProxyItem = videoManagerStorager.queryStreamProxy(app, stream);
if (streamProxyItem != null) {
gbStreamService.sendCatalogMsg(streamProxyItem, CatalogEvent.DEL);
@@ -423,7 +422,7 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
@Override
public boolean start(String app, String stream) {
boolean result = false;
- StreamProxyItem streamProxy = videoManagerStorager.queryStreamProxy(app, stream);
+ StreamProxy streamProxy = videoManagerStorager.queryStreamProxy(app, stream);
if (streamProxy != null && !streamProxy.isEnable() ) {
WVPResult wvpResult = addStreamProxyToZlm(streamProxy);
if (wvpResult == null) {
@@ -446,7 +445,7 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
@Override
public boolean stop(String app, String stream) {
boolean result = false;
- StreamProxyItem streamProxyDto = videoManagerStorager.queryStreamProxy(app, stream);
+ StreamProxy streamProxyDto = videoManagerStorager.queryStreamProxy(app, stream);
if (streamProxyDto != null && streamProxyDto.isEnable()) {
Boolean removed = removeStreamProxyFromZlm(streamProxyDto);
if (removed != null && removed) {
@@ -464,14 +463,14 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
@Override
- public StreamProxyItem getStreamProxyByAppAndStream(String app, String streamId) {
+ public StreamProxy getStreamProxyByAppAndStream(String app, String streamId) {
return videoManagerStorager.getStreamProxyByAppAndStream(app, streamId);
}
@Override
public void zlmServerOnline(String mediaServerId) {
// 移除开启了无人观看自动移除的流
- List streamProxyItemList = streamProxyMapper.selectAutoRemoveItemByMediaServerId(mediaServerId);
+ List streamProxyItemList = streamProxyMapper.selectAutoRemoveItemByMediaServerId(mediaServerId);
if (streamProxyItemList.size() > 0) {
gbStreamMapper.batchDel(streamProxyItemList);
}
@@ -481,9 +480,9 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
syncPullStream(mediaServerId);
// 恢复流代理, 只查找这个这个流媒体
- List streamProxyListForEnable = storager.getStreamProxyListForEnableInMediaServer(
+ List streamProxyListForEnable = storager.getStreamProxyListForEnableInMediaServer(
mediaServerId, true);
- for (StreamProxyItem streamProxyDto : streamProxyListForEnable) {
+ for (StreamProxy streamProxyDto : streamProxyListForEnable) {
logger.info("恢复流代理," + streamProxyDto.getApp() + "/" + streamProxyDto.getStream());
WVPResult wvpResult = addStreamProxyToZlm(streamProxyDto);
if (wvpResult == null) {
@@ -499,7 +498,7 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
@Override
public void zlmServerOffline(String mediaServerId) {
// 移除开启了无人观看自动移除的流
- List streamProxyItemList = streamProxyMapper.selectAutoRemoveItemByMediaServerId(mediaServerId);
+ List streamProxyItemList = streamProxyMapper.selectAutoRemoveItemByMediaServerId(mediaServerId);
if (streamProxyItemList.size() > 0) {
gbStreamMapper.batchDel(streamProxyItemList);
}
@@ -533,7 +532,7 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
@Override
public int updateStatus(boolean status, String app, String stream) {
// 状态变化时推送到国标上级
- StreamProxyItem streamProxyItem = streamProxyMapper.selectOne(app, stream);
+ StreamProxy streamProxyItem = streamProxyMapper.selectOne(app, stream);
if (streamProxyItem == null) {
return 0;
}
@@ -592,13 +591,13 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
Map serverItemMap = all.stream().collect(Collectors.toMap(MediaServer::getId, Function.identity(), (m1, m2) -> m1));
- List list = videoManagerStorager.getStreamProxyListForEnable(true);
+ List list = videoManagerStorager.getStreamProxyListForEnable(true);
if (CollectionUtils.isEmpty(list)){
return;
}
- for (StreamProxyItem streamProxyItem : list) {
+ for (StreamProxy streamProxyItem : list) {
MediaServer mediaServerItem = serverItemMap.get(streamProxyItem.getMediaServerId());
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
index 3213eb98..0d8a8ec6 100755
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
@@ -16,7 +16,7 @@ import com.genersoft.iot.vmp.media.event.media.MediaDepartureEvent;
import com.genersoft.iot.vmp.media.service.IMediaServerService;
import com.genersoft.iot.vmp.media.bean.MediaServer;
import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamPush;
import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
import com.genersoft.iot.vmp.media.zlm.dto.hook.OriginType;
import com.genersoft.iot.vmp.service.IGbStreamService;
@@ -113,12 +113,12 @@ public class StreamPushServiceImpl implements IStreamPushService {
streamAuthorityInfo.setOriginType(mediaInfo.getOriginType());
}
redisCatchStorage.updateStreamAuthorityInfo(event.getApp(), event.getStream(), streamAuthorityInfo);
- StreamPushItem transform = StreamPushItem.getInstance(event, userSetting.getServerId());
+ StreamPush transform = StreamPush.getInstance(event, userSetting.getServerId());
transform.setPushIng(true);
transform.setUpdateTime(DateUtil.getNow());
transform.setPushTime(DateUtil.getNow());
transform.setSelf(true);
- StreamPushItem pushInDb = getPush(event.getApp(), event.getStream());
+ StreamPush pushInDb = getPush(event.getApp(), event.getStream());
if (pushInDb == null) {
transform.setCreateTime(DateUtil.getNow());
streamPushMapper.add(transform);
@@ -188,18 +188,18 @@ public class StreamPushServiceImpl implements IStreamPushService {
}
- private List handleJSON(List streamInfoList) {
+ private List handleJSON(List streamInfoList) {
if (streamInfoList == null || streamInfoList.isEmpty()) {
return null;
}
- Map result = new HashMap<>();
+ Map result = new HashMap<>();
for (StreamInfo streamInfo : streamInfoList) {
// 不保存国标推理以及拉流代理的流
if (streamInfo.getOriginType() == OriginType.RTSP_PUSH.ordinal()
|| streamInfo.getOriginType() == OriginType.RTMP_PUSH.ordinal()
|| streamInfo.getOriginType() == OriginType.RTC_PUSH.ordinal() ) {
String key = streamInfo.getApp() + "_" + streamInfo.getStream();
- StreamPushItem streamPushItem = result.get(key);
+ StreamPush streamPushItem = result.get(key);
if (streamPushItem == null) {
streamPushItem = streamPushItem.getInstance(streamInfo);
result.put(key, streamPushItem);
@@ -210,35 +210,26 @@ public class StreamPushServiceImpl implements IStreamPushService {
}
@Override
- public StreamPushItem transform(OnStreamChangedHookParam item) {
- StreamPushItem streamPushItem = new StreamPushItem();
+ public StreamPush transform(OnStreamChangedHookParam item) {
+ StreamPush streamPushItem = new StreamPush();
streamPushItem.setApp(item.getApp());
streamPushItem.setMediaServerId(item.getMediaServerId());
streamPushItem.setStream(item.getStream());
- streamPushItem.setAliveSecond(item.getAliveSecond());
- streamPushItem.setOriginSock(item.getOriginSock());
- streamPushItem.setTotalReaderCount(item.getTotalReaderCount());
- streamPushItem.setOriginType(item.getOriginType());
- streamPushItem.setOriginTypeStr(item.getOriginTypeStr());
- streamPushItem.setOriginUrl(item.getOriginUrl());
streamPushItem.setCreateTime(DateUtil.getNow());
- streamPushItem.setAliveSecond(item.getAliveSecond());
- streamPushItem.setStatus(true);
- streamPushItem.setStreamType("push");
streamPushItem.setVhost(item.getVhost());
streamPushItem.setServerId(item.getSeverId());
return streamPushItem;
}
@Override
- public PageInfo getPushList(Integer page, Integer count, String query, Boolean pushing, String mediaServerId) {
+ public PageInfo getPushList(Integer page, Integer count, String query, Boolean pushing, String mediaServerId) {
PageHelper.startPage(page, count);
- List all = streamPushMapper.selectAllForList(query, pushing, mediaServerId);
+ List all = streamPushMapper.selectAllForList(query, pushing, mediaServerId);
return new PageInfo<>(all);
}
@Override
- public List getPushList(String mediaServerId) {
+ public List getPushList(String mediaServerId) {
return streamPushMapper.selectAllByMediaServerIdWithOutGbID(mediaServerId);
}
@@ -269,14 +260,14 @@ public class StreamPushServiceImpl implements IStreamPushService {
@Override
- public StreamPushItem getPush(String app, String streamId) {
+ public StreamPush getPush(String app, String streamId) {
return streamPushMapper.selectOne(app, streamId);
}
@Override
public boolean stop(String app, String stream) {
logger.info("[推流 ] 停止流: {}/{}", app, stream);
- StreamPushItem streamPushItem = streamPushMapper.selectOne(app, stream);
+ StreamPush streamPushItem = streamPushMapper.selectOne(app, stream);
if (streamPushItem != null) {
gbStreamService.sendCatalogMsg(streamPushItem, CatalogEvent.DEL);
}
@@ -299,13 +290,13 @@ public class StreamPushServiceImpl implements IStreamPushService {
return;
}
// 数据库记录
- List pushList = getPushList(mediaServerId);
- Map pushItemMap = new HashMap<>();
+ List pushList = getPushList(mediaServerId);
+ Map pushItemMap = new HashMap<>();
// redis记录
List mediaInfoList = redisCatchStorage.getStreams(mediaServerId, "PUSH");
Map streamInfoPushItemMap = new HashMap<>();
if (pushList.size() > 0) {
- for (StreamPushItem streamPushItem : pushList) {
+ for (StreamPush streamPushItem : pushList) {
if (ObjectUtils.isEmpty(streamPushItem.getGbId())) {
pushItemMap.put(streamPushItem.getApp() + streamPushItem.getStream(), streamPushItem);
}
@@ -326,15 +317,15 @@ public class StreamPushServiceImpl implements IStreamPushService {
if (mediaList == null) {
return;
}
- List streamPushItems = handleJSON(mediaList);
+ List streamPushItems = handleJSON(mediaList);
if (streamPushItems != null) {
- for (StreamPushItem streamPushItem : streamPushItems) {
+ for (StreamPush streamPushItem : streamPushItems) {
pushItemMap.remove(streamPushItem.getApp() + streamPushItem.getStream());
streamInfoPushItemMap.remove(streamPushItem.getApp() + streamPushItem.getStream());
streamAuthorityInfoInfoMap.remove(streamPushItem.getApp() + streamPushItem.getStream());
}
}
- List offlinePushItems = new ArrayList<>(pushItemMap.values());
+ List offlinePushItems = new ArrayList<>(pushItemMap.values());
if (offlinePushItems.size() > 0) {
String type = "PUSH";
int runLimit = 300;
@@ -344,7 +335,7 @@ public class StreamPushServiceImpl implements IStreamPushService {
if (i + runLimit > offlinePushItems.size()) {
toIndex = offlinePushItems.size();
}
- List streamPushItemsSub = offlinePushItems.subList(i, toIndex);
+ List streamPushItemsSub = offlinePushItems.subList(i, toIndex);
streamPushMapper.delAll(streamPushItemsSub);
}
}else {
@@ -381,7 +372,7 @@ public class StreamPushServiceImpl implements IStreamPushService {
@Override
public void zlmServerOffline(String mediaServerId) {
- List streamPushItems = streamPushMapper.selectAllByMediaServerIdWithOutGbID(mediaServerId);
+ List streamPushItems = streamPushMapper.selectAllByMediaServerIdWithOutGbID(mediaServerId);
// 移除没有GBId的推流
streamPushMapper.deleteWithoutGBId(mediaServerId);
gbStreamMapper.deleteWithoutGBId("push", mediaServerId);
@@ -417,9 +408,9 @@ public class StreamPushServiceImpl implements IStreamPushService {
@Override
public boolean saveToRandomGB() {
- List streamPushItems = streamPushMapper.selectAll();
+ List streamPushItems = streamPushMapper.selectAll();
long gbId = 100001;
- for (StreamPushItem streamPushItem : streamPushItems) {
+ for (StreamPush streamPushItem : streamPushItems) {
streamPushItem.setStreamType("push");
streamPushItem.setStatus(true);
streamPushItem.setGbId("34020000004111" + gbId);
@@ -443,17 +434,17 @@ public class StreamPushServiceImpl implements IStreamPushService {
}
@Override
- public void batchAdd(List streamPushItems) {
+ public void batchAdd(List streamPushItems) {
streamPushMapper.addAll(streamPushItems);
gbStreamMapper.batchAdd(streamPushItems);
}
@Override
- public void batchAddForUpload(List streamPushItems, Map> streamPushItemsForAll ) {
+ public void batchAddForUpload(List streamPushItems, Map> streamPushItemsForAll ) {
// 存储数据到stream_push表
streamPushMapper.addAll(streamPushItems);
- List streamPushItemForGbStream = streamPushItems.stream()
+ List streamPushItemForGbStream = streamPushItems.stream()
.filter(streamPushItem-> streamPushItem.getGbId() != null)
.collect(Collectors.toList());
// 存储数据到gb_stream表, id会返回到streamPushItemForGbStream里
@@ -461,7 +452,7 @@ public class StreamPushServiceImpl implements IStreamPushService {
gbStreamMapper.batchAdd(streamPushItemForGbStream);
}
// 去除没有ID也就是没有存储到数据库的数据
- List streamPushItemsForPlatform = streamPushItemForGbStream.stream()
+ List streamPushItemsForPlatform = streamPushItemForGbStream.stream()
.filter(streamPushItem-> streamPushItem.getGbStreamId() != null)
.collect(Collectors.toList());
@@ -489,14 +480,14 @@ public class StreamPushServiceImpl implements IStreamPushService {
}
platformInfoMap.put(platform.getServerGBId(), catalogMap);
}
- List streamPushItemListFroPlatform = new ArrayList<>();
+ List streamPushItemListFroPlatform = new ArrayList<>();
Map> platformForEvent = new HashMap<>();
// 遍历存储结果,查找app+Stream->platformId+catalogId的对应关系,然后执行批量写入
- for (StreamPushItem streamPushItem : streamPushItemsForPlatform) {
+ for (StreamPush streamPushItem : streamPushItemsForPlatform) {
List platFormInfoList = streamPushItemsForAll.get(streamPushItem.getApp() + streamPushItem.getStream());
if (platFormInfoList != null && platFormInfoList.size() > 0) {
for (String[] platFormInfoArray : platFormInfoList) {
- StreamPushItem streamPushItemForPlatform = new StreamPushItem();
+ StreamPush streamPushItemForPlatform = new StreamPush();
streamPushItemForPlatform.setGbStreamId(streamPushItem.getGbStreamId());
if (platFormInfoArray.length > 0) {
// 数组 platFormInfoArray 0 为平台ID。 1为目录ID
@@ -589,7 +580,7 @@ public class StreamPushServiceImpl implements IStreamPushService {
}
@Override
- public boolean add(StreamPushItem stream) {
+ public boolean add(StreamPush stream) {
stream.setUpdateTime(DateUtil.getNow());
stream.setCreateTime(DateUtil.getNow());
stream.setServerId(userSetting.getServerId());
@@ -630,14 +621,14 @@ public class StreamPushServiceImpl implements IStreamPushService {
}
@Override
- public Map getAllAppAndStreamMap() {
+ public Map getAllAppAndStreamMap() {
return streamPushMapper.getAllAppAndStreamMap();
}
@Override
public void updatePush(OnStreamChangedHookParam param) {
- StreamPushItem transform = transform(param);
- StreamPushItem pushInDb = getPush(param.getApp(), param.getStream());
+ StreamPush transform = transform(param);
+ StreamPush pushInDb = getPush(param.getApp(), param.getStream());
transform.setPushIng(param.isRegist());
transform.setUpdateTime(DateUtil.getNow());
transform.setPushTime(DateUtil.getNow());
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushUploadFileHandler.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushUploadFileHandler.java
index 2c3a3fa4..1d6e7730 100755
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushUploadFileHandler.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushUploadFileHandler.java
@@ -2,7 +2,7 @@ package com.genersoft.iot.vmp.service.impl;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamPush;
import com.genersoft.iot.vmp.service.IStreamPushService;
import com.genersoft.iot.vmp.utils.DateUtil;
import com.genersoft.iot.vmp.vmanager.bean.StreamPushExcelDto;
@@ -32,12 +32,12 @@ public class StreamPushUploadFileHandler extends AnalysisEventListener streamPushItems = new ArrayList<>();
+ private final List streamPushItems = new ArrayList<>();
/**
* 用于存储更具APP+Stream过滤后的数据,可以直接存入stream_push表与gb_stream表
*/
- private final Map streamPushItemForSave = new HashMap<>();
+ private final Map streamPushItemForSave = new HashMap<>();
/**
* 用于存储按照APP+Stream为KEY, 平台ID+目录Id 为value的数据,用于存储到gb_stream表后获取app+Stream对应的平台与目录信息,然后存入关联表
@@ -126,7 +126,7 @@ public class StreamPushUploadFileHandler extends AnalysisEventListener streamPushItems = JSON.parseArray(new String(msg.getBody()), StreamPushItem.class);
+ List streamPushItems = JSON.parseArray(new String(msg.getBody()), StreamPush.class);
//查询全部的app+stream 用于判断是添加还是修改
- Map allAppAndStream = streamPushService.getAllAppAndStreamMap();
+ Map allAppAndStream = streamPushService.getAllAppAndStreamMap();
Map allGBId = gbStreamService.getAllGBId();
/**
* 用于存储更具APP+Stream过滤后的数据,可以直接存入stream_push表与gb_stream表
*/
- List streamPushItemForSave = new ArrayList<>();
- List streamPushItemForUpdate = new ArrayList<>();
- for (StreamPushItem streamPushItem : streamPushItems) {
+ List streamPushItemForSave = new ArrayList<>();
+ List streamPushItemForUpdate = new ArrayList<>();
+ for (StreamPush streamPushItem : streamPushItems) {
String app = streamPushItem.getApp();
String stream = streamPushItem.getStream();
boolean contains = allAppAndStream.containsKey(app + stream);
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java b/src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java
index 66b483b7..76da4dc9 100755
--- a/src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/IRedisCatchStorage.java
@@ -7,7 +7,7 @@ import com.genersoft.iot.vmp.media.bean.MediaInfo;
import com.genersoft.iot.vmp.media.bean.MediaServer;
import com.genersoft.iot.vmp.media.event.media.MediaArrivalEvent;
import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamPush;
import com.genersoft.iot.vmp.service.bean.GPSMsgInfo;
import com.genersoft.iot.vmp.service.bean.MessageForPushChannel;
import com.genersoft.iot.vmp.storager.dao.dto.PlatformRegisterInfo;
@@ -216,7 +216,7 @@ public interface IRedisCatchStorage {
void addPushListItem(String app, String stream, MediaArrivalEvent param);
- StreamPushItem getPushListItem(String app, String stream);
+ StreamPush getPushListItem(String app, String stream);
void removePushListItem(String app, String stream, String mediaServerId);
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorage.java b/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorage.java
index b0ff0113..fcb2cf9a 100755
--- a/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorage.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorage.java
@@ -1,7 +1,7 @@
package com.genersoft.iot.vmp.storager;
import com.genersoft.iot.vmp.gb28181.bean.*;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamProxy;
import com.genersoft.iot.vmp.service.bean.GPSMsgInfo;
import com.genersoft.iot.vmp.storager.dao.dto.ChannelSourceInfo;
import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce;
@@ -233,7 +233,7 @@ public interface IVideoManagerStorage {
* @param enable
* @return
*/
- public List getStreamProxyListForEnable(boolean enable);
+ public List getStreamProxyListForEnable(boolean enable);
/**
* 按照是app和stream获取代理流
@@ -241,7 +241,7 @@ public interface IVideoManagerStorage {
* @param stream
* @return
*/
- public StreamProxyItem queryStreamProxy(String app, String stream);
+ public StreamProxy queryStreamProxy(String app, String stream);
/**
* 获取代理流
@@ -249,7 +249,7 @@ public interface IVideoManagerStorage {
* @param count
* @return
*/
- PageInfo queryStreamProxyList(Integer page, Integer count);
+ PageInfo queryStreamProxyList(Integer page, Integer count);
/**
* 根据国标ID获取平台关联的直播流
@@ -294,7 +294,7 @@ public interface IVideoManagerStorage {
* @param enable 启用/不启用
* @return
*/
- List getStreamProxyListForEnableInMediaServer(String id, boolean enable);
+ List getStreamProxyListForEnableInMediaServer(String id, boolean enable);
/**
* 根据通道ID获取其所在设备
@@ -321,7 +321,7 @@ public interface IVideoManagerStorage {
* @param streamId
* @return
*/
- StreamProxyItem getStreamProxyByAppAndStream(String app, String streamId);
+ StreamProxy getStreamProxyByAppAndStream(String app, String streamId);
/**
* catlog查询结束后完全重写通道信息
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java
index 3790bdab..b7168c72 100755
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/GbStreamMapper.java
@@ -2,8 +2,8 @@ package com.genersoft.iot.vmp.storager.dao;
import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
import com.genersoft.iot.vmp.gb28181.bean.GbStream;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamProxy;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamPush;
import com.genersoft.iot.vmp.service.bean.GPSMsgInfo;
import org.apache.ibatis.annotations.*;
import org.apache.ibatis.annotations.Param;
@@ -108,7 +108,7 @@ public interface GbStreamMapper {
"(app=#{item.app} and stream=#{item.stream}) " +
"" +
"")
- void batchDel(List streamProxyItemList);
+ void batchDel(List streamProxyItemList);
@Delete("")
@Options(useGeneratedKeys = true, keyProperty = "gbStreamId", keyColumn = "gb_stream_id")
- void batchAdd(@Param("subList") List subList);
+ void batchAdd(@Param("subList") List subList);
@Update({"")
- List selectAllForAppAndStream(List streamPushItems);
+ List selectAllForAppAndStream(List streamPushItems);
@Update("UPDATE wvp_gb_stream " +
"SET media_server_id=#{mediaServerId}" +
@@ -163,7 +163,7 @@ public interface GbStreamMapper {
" WHERE app=#{item.app} and stream=#{item.stream}"+
""+
"")
- int updateGbIdOrName(List streamPushItemForUpdate);
+ int updateGbIdOrName(List streamPushItemForUpdate);
@Select("SELECT status FROM wvp_stream_proxy WHERE app=#{app} AND stream=#{stream}")
Boolean selectStatusForProxy(@Param("app") String app, @Param("stream") String stream);
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java
index e4fc3568..386ab3d5 100755
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformGbStreamMapper.java
@@ -4,8 +4,8 @@ import com.genersoft.iot.vmp.gb28181.bean.GbStream;
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
import com.genersoft.iot.vmp.gb28181.bean.PlatformCatalog;
import com.genersoft.iot.vmp.gb28181.bean.PlatformGbStream;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamProxy;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamPush;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;
@@ -29,7 +29,7 @@ public interface PlatformGbStreamMapper {
"(#{item.gbStreamId}, #{item.platform_id}, #{item.catalogId})" +
" " +
"")
- int batchAdd(List streamPushItems);
+ int batchAdd(List streamPushItems);
@Delete("DELETE from wvp_platform_gb_stream WHERE gb_stream_id = (select gb_stream_id from wvp_gb_stream where app=#{app} AND stream=#{stream})")
int delByAppAndStream(@Param("app") String app, @Param("stream") String stream);
@@ -51,7 +51,7 @@ public interface PlatformGbStreamMapper {
@Select("SELECT pgs.*, gs.gb_id from wvp_platform_gb_stream pgs " +
"LEFT join wvp_gb_stream gs ON pgs.gb_stream_id = gs.gb_stream_id " +
"WHERE gs.app=#{app} AND gs.stream=#{stream} AND pgs.platform_id=#{platformId}")
- StreamProxyItem selectOne(@Param("app") String app, @Param("stream") String stream, @Param("platformId") String platformId);
+ StreamProxy selectOne(@Param("app") String app, @Param("stream") String stream, @Param("platformId") String platformId);
@Select(""})
- int update(StreamPushItem streamPushItem);
+ int update(StreamPush streamPushItem);
@Delete("DELETE FROM wvp_stream_push WHERE app=#{app} AND stream=#{stream}")
int del(String app, String stream);
@@ -46,7 +46,7 @@ public interface StreamPushMapper {
"(sp.app=#{item.app} and sp.stream=#{item.stream} and gs.gb_id is null) " +
"" +
"")
- int delAllWithoutGBId(List streamPushItems);
+ int delAllWithoutGBId(List streamPushItems);
@Delete("")
- int delAll(List streamPushItems);
+ int delAll(List streamPushItems);
@Delete(""})
- List selectAllForList(@Param("query") String query, @Param("pushing") Boolean pushing, @Param("mediaServerId") String mediaServerId);
+ List selectAllForList(@Param("query") String query, @Param("pushing") Boolean pushing, @Param("mediaServerId") String mediaServerId);
@Select("SELECT st.*, gs.gb_id, gs.name, gs.longitude, gs.latitude FROM wvp_stream_push st LEFT join wvp_gb_stream gs on st.app = gs.app AND st.stream = gs.stream order by st.create_time desc")
- List selectAll();
+ List selectAll();
@Select("SELECT st.*, gs.gb_id, gs.name, gs.longitude, gs.latitude FROM wvp_stream_push st LEFT join wvp_gb_stream gs on st.app = gs.app AND st.stream = gs.stream WHERE st.app=#{app} AND st.stream=#{stream}")
- StreamPushItem selectOne(@Param("app") String app, @Param("stream") String stream);
+ StreamPush selectOne(@Param("app") String app, @Param("stream") String stream);
@Insert("")
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
- int addAll(List streamPushItems);
+ int addAll(List streamPushItems);
@Delete("DELETE FROM wvp_stream_push")
void clear();
@@ -116,10 +116,10 @@ public interface StreamPushMapper {
void deleteWithoutGBId(String mediaServerId);
@Select("SELECT * FROM wvp_stream_push WHERE media_server_id=#{mediaServerId}")
- List selectAllByMediaServerId(String mediaServerId);
+ List selectAllByMediaServerId(String mediaServerId);
@Select("SELECT sp.* FROM wvp_stream_push sp left join wvp_gb_stream gs on gs.app = sp.app and gs.stream= sp.stream WHERE sp.media_server_id=#{mediaServerId} and gs.gb_id is null")
- List selectAllByMediaServerIdWithOutGbID(String mediaServerId);
+ List selectAllByMediaServerIdWithOutGbID(String mediaServerId);
@Update("UPDATE wvp_stream_push " +
"SET status=#{status} " +
@@ -195,13 +195,13 @@ public interface StreamPushMapper {
"(#{item.app}, #{item.stream}) " +
"" +
"")
- List getListIn(List streamPushItems);
+ List getListIn(List streamPushItems);
@MapKey("vhost")
@Select("SELECT CONCAT(wsp.app, wsp.stream) as vhost, wsp.app, wsp.stream, wgs.gb_id, wgs.name " +
" from wvp_stream_push wsp " +
" left join wvp_gb_stream wgs on wgs.app = wsp.app and wgs.stream = wsp.stream")
- Map getAllAppAndStreamMap();
+ Map getAllAppAndStreamMap();
}
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java
index 9f09e8a4..429d341b 100755
--- a/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java
@@ -14,7 +14,7 @@ import com.genersoft.iot.vmp.media.bean.MediaServer;
import com.genersoft.iot.vmp.media.event.media.MediaArrivalEvent;
import com.genersoft.iot.vmp.gb28181.bean.*;
import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamPush;
import com.genersoft.iot.vmp.service.bean.GPSMsgInfo;
import com.genersoft.iot.vmp.service.bean.MessageForPushChannel;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
@@ -698,20 +698,20 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage {
@Override
public void addPushListItem(String app, String stream, MediaArrivalEvent event) {
String key = VideoManagerConstants.PUSH_STREAM_LIST + app + "_" + stream;
- StreamPushItem streamPushItem = StreamPushItem.getInstance(event, userSetting.getServerId());
+ StreamPush streamPushItem = StreamPush.getInstance(event, userSetting.getServerId());
redisTemplate.opsForValue().set(key, streamPushItem);
}
@Override
- public StreamPushItem getPushListItem(String app, String stream) {
+ public StreamPush getPushListItem(String app, String stream) {
String key = VideoManagerConstants.PUSH_STREAM_LIST + app + "_" + stream;
- return (StreamPushItem)redisTemplate.opsForValue().get(key);
+ return (StreamPush)redisTemplate.opsForValue().get(key);
}
@Override
public void removePushListItem(String app, String stream, String mediaServerId) {
String key = VideoManagerConstants.PUSH_STREAM_LIST + app + "_" + stream;
- StreamPushItem param = (StreamPushItem)redisTemplate.opsForValue().get(key);
+ StreamPush param = (StreamPush)redisTemplate.opsForValue().get(key);
if (param != null && param.getMediaServerId().equalsIgnoreCase(mediaServerId)) {
redisTemplate.delete(key);
}
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
index b1eef31e..3fb56479 100755
--- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
@@ -6,7 +6,7 @@ import com.genersoft.iot.vmp.conf.UserSetting;
import com.genersoft.iot.vmp.gb28181.bean.*;
import com.genersoft.iot.vmp.gb28181.event.EventPublisher;
import com.genersoft.iot.vmp.gb28181.event.subscribe.catalog.CatalogEvent;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamProxy;
import com.genersoft.iot.vmp.service.bean.GPSMsgInfo;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
@@ -699,7 +699,7 @@ public class VideoManagerStorageImpl implements IVideoManagerStorage {
* @return
*/
@Override
- public List getStreamProxyListForEnable(boolean enable) {
+ public List getStreamProxyListForEnable(boolean enable) {
return streamProxyMapper.selectForEnable(enable);
}
@@ -710,9 +710,9 @@ public class VideoManagerStorageImpl implements IVideoManagerStorage {
* @return
*/
@Override
- public PageInfo queryStreamProxyList(Integer page, Integer count) {
+ public PageInfo queryStreamProxyList(Integer page, Integer count) {
PageHelper.startPage(page, count);
- List all = streamProxyMapper.selectAll();
+ List all = streamProxyMapper.selectAll();
return new PageInfo<>(all);
}
@@ -744,7 +744,7 @@ public class VideoManagerStorageImpl implements IVideoManagerStorage {
* @return
*/
@Override
- public StreamProxyItem queryStreamProxy(String app, String stream){
+ public StreamProxy queryStreamProxy(String app, String stream){
return streamProxyMapper.selectOne(app, stream);
}
@@ -783,7 +783,7 @@ public class VideoManagerStorageImpl implements IVideoManagerStorage {
}
@Override
- public List getStreamProxyListForEnableInMediaServer(String id, boolean enable) {
+ public List getStreamProxyListForEnableInMediaServer(String id, boolean enable) {
return streamProxyMapper.selectForEnableInMediaServer(id, enable);
}
@@ -799,7 +799,7 @@ public class VideoManagerStorageImpl implements IVideoManagerStorage {
}
@Override
- public StreamProxyItem getStreamProxyByAppAndStream(String app, String streamId) {
+ public StreamProxy getStreamProxyByAppAndStream(String app, String streamId) {
return streamProxyMapper.selectOne(app, streamId);
}
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java
index dd5e703a..e66d5ecb 100755
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/streamProxy/StreamProxyController.java
@@ -8,7 +8,7 @@ import com.genersoft.iot.vmp.conf.security.JwtUtils;
import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder;
import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage;
import com.genersoft.iot.vmp.media.bean.MediaServer;
-import com.genersoft.iot.vmp.media.zlm.dto.StreamProxyItem;
+import com.genersoft.iot.vmp.media.zlm.dto.StreamProxy;
import com.genersoft.iot.vmp.media.service.IMediaServerService;
import com.genersoft.iot.vmp.service.IStreamProxyService;
import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
@@ -62,10 +62,10 @@ public class StreamProxyController {
@Parameter(name = "online", description = "是否在线")
@GetMapping(value = "/list")
@ResponseBody
- public PageInfo list(@RequestParam(required = false)Integer page,
- @RequestParam(required = false)Integer count,
- @RequestParam(required = false)String query,
- @RequestParam(required = false)Boolean online ){
+ public PageInfo list(@RequestParam(required = false)Integer page,
+ @RequestParam(required = false)Integer count,
+ @RequestParam(required = false)String query,
+ @RequestParam(required = false)Boolean online ){
return streamProxyService.getAll(page, count);
}
@@ -75,7 +75,7 @@ public class StreamProxyController {
@Parameter(name = "stream", description = "流Id")
@GetMapping(value = "/one")
@ResponseBody
- public StreamProxyItem one(String app, String stream){
+ public StreamProxy one(String app, String stream){
return streamProxyService.getStreamProxyByAppAndStream(app, stream);
}
@@ -85,7 +85,7 @@ public class StreamProxyController {
})
@PostMapping(value = "/save")
@ResponseBody
- public DeferredResult