mirror of
https://gitee.com/pan648540858/wvp-GB28181-pro.git
synced 2026-05-24 05:57:49 +08:00
更新README
This commit is contained in:
parent
18be8aff6c
commit
27c7969b8f
20
README.md
20
README.md
@ -127,8 +127,24 @@ https://gitee.com/pan648540858/wvp-GB28181-pro.git
|
|||||||
- [X] 国标增强版: 支持国标28181-2022协议,支持巡航轨迹查询,PTZ精准控制,存储卡格式化,设备软件升级,OSD配置,h265+aac,支持辅码流,录像倒放等。
|
- [X] 国标增强版: 支持国标28181-2022协议,支持巡航轨迹查询,PTZ精准控制,存储卡格式化,设备软件升级,OSD配置,h265+aac,支持辅码流,录像倒放等。
|
||||||
- [X] 全功能版:
|
- [X] 全功能版:
|
||||||
- [X] 支持开源所有功能
|
- [X] 支持开源所有功能
|
||||||
- [X] 支持ONVIF协议,设备检索,支持点播,云台控制,国标级联点播,自动点播等。
|
- [X] ONVIF协议
|
||||||
- [X] 支持国网B接口协议。支持注册,获取资源,预览, 云台控制,预置位控制等,可免费定制支持语音对讲、录像回放和抓拍图像。
|
- 设备检索
|
||||||
|
- 实时图像预览
|
||||||
|
- 录像回放、回放倍速控制
|
||||||
|
- 云台控制、预置位控制、云台绝对定位、看守位
|
||||||
|
- 聚焦控制
|
||||||
|
- 设备重启
|
||||||
|
- 设备时间设置以及跟系统时间的差值比较
|
||||||
|
- 恢复出厂设置
|
||||||
|
- 自动获取设备品牌等信息、支持展示DNS信息、支持协议的展示
|
||||||
|
- 国标级联点播、自动点播等。
|
||||||
|
- [X] 国网B接口协议
|
||||||
|
- 设备注册
|
||||||
|
- 资源获取
|
||||||
|
- 预览
|
||||||
|
- 云台控制
|
||||||
|
- 预置位控制等,
|
||||||
|
- 可免费定制支持语音对讲、录像回放和抓拍图像。
|
||||||
- [X] 支持按权限分配可以使用的通道
|
- [X] 支持按权限分配可以使用的通道
|
||||||
- [X] 支持电子地图。支持展示通道位置,支持在地图上修改通道位置。可扩展接入高德地图API,支持搜索位置,附近设备。
|
- [X] 支持电子地图。支持展示通道位置,支持在地图上修改通道位置。可扩展接入高德地图API,支持搜索位置,附近设备。
|
||||||
- [X] 支持表格导出
|
- [X] 支持表格导出
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package com.genersoft.iot.vmp.conf;
|
|||||||
|
|
||||||
import com.genersoft.iot.vmp.media.bean.MediaServer;
|
import com.genersoft.iot.vmp.media.bean.MediaServer;
|
||||||
import com.genersoft.iot.vmp.utils.DateUtil;
|
import com.genersoft.iot.vmp.utils.DateUtil;
|
||||||
|
import lombok.Data;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
@ -15,6 +16,7 @@ import java.util.regex.Pattern;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
@Configuration("mediaConfig")
|
@Configuration("mediaConfig")
|
||||||
@Order(0)
|
@Order(0)
|
||||||
|
@Data
|
||||||
public class MediaConfig{
|
public class MediaConfig{
|
||||||
|
|
||||||
// 修改必须配置,不再支持自动获取
|
// 修改必须配置,不再支持自动获取
|
||||||
@ -102,33 +104,7 @@ public class MediaConfig{
|
|||||||
@Value("${media.type:zlm}")
|
@Value("${media.type:zlm}")
|
||||||
private String type;
|
private String type;
|
||||||
|
|
||||||
public String getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getIp() {
|
|
||||||
return ip;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getHookIp() {
|
|
||||||
return hookIp;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getHttpPort() {
|
|
||||||
return httpPort;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getHttpSSlPort() {
|
|
||||||
return httpSSlPort;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getRtmpPort() {
|
|
||||||
return rtmpPort;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getRtmpSSlPort() {
|
|
||||||
return rtmpSSlPort;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getRtpProxyPort() {
|
public int getRtpProxyPort() {
|
||||||
if (rtpProxyPort == null) {
|
if (rtpProxyPort == null) {
|
||||||
@ -147,34 +123,6 @@ public class MediaConfig{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getRtspPort() {
|
|
||||||
return rtspPort;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getRtspSSLPort() {
|
|
||||||
return rtspSSLPort;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isAutoConfig() {
|
|
||||||
return autoConfig;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSecret() {
|
|
||||||
return secret;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isRtpEnable() {
|
|
||||||
return rtpEnable;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getRtpPortRange() {
|
|
||||||
return rtpPortRange;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getRecordAssistPort() {
|
|
||||||
return recordAssistPort;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSdpIp() {
|
public String getSdpIp() {
|
||||||
if (ObjectUtils.isEmpty(sdpIp)){
|
if (ObjectUtils.isEmpty(sdpIp)){
|
||||||
return ip;
|
return ip;
|
||||||
@ -202,10 +150,6 @@ public class MediaConfig{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSipDomain() {
|
|
||||||
return sipDomain;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MediaServer getMediaSerItem(){
|
public MediaServer getMediaSerItem(){
|
||||||
MediaServer mediaServer = new MediaServer();
|
MediaServer mediaServer = new MediaServer();
|
||||||
mediaServer.setId(id);
|
mediaServer.setId(id);
|
||||||
@ -262,42 +206,10 @@ public class MediaConfig{
|
|||||||
return mediaServer;
|
return mediaServer;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Integer getRecordDay() {
|
|
||||||
return recordDay;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRecordDay(Integer recordDay) {
|
|
||||||
this.recordDay = recordDay;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getRecordPath() {
|
|
||||||
return recordPath;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRecordPath(String recordPath) {
|
|
||||||
this.recordPath = recordPath;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getRtpSendPortRange() {
|
|
||||||
return rtpSendPortRange;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRtpSendPortRange(String rtpSendPortRange) {
|
|
||||||
this.rtpSendPortRange = rtpSendPortRange;
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean isValidIPAddress(String ipAddress) {
|
private boolean isValidIPAddress(String ipAddress) {
|
||||||
if ((ipAddress != null) && (!ipAddress.isEmpty())) {
|
if ((ipAddress != null) && (!ipAddress.isEmpty())) {
|
||||||
return Pattern.matches("^([1-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}$", ipAddress);
|
return Pattern.matches("^([1-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}$", ipAddress);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getWanIp() {
|
|
||||||
return wanIp;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setWanIp(String wanIp) {
|
|
||||||
this.wanIp = wanIp;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,8 +19,6 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import javax.sip.message.Response;
|
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@RedisRpcController("sendRtp")
|
@RedisRpcController("sendRtp")
|
||||||
@ -61,7 +59,7 @@ public class RedisRpcSendRtpController extends RpcController {
|
|||||||
}
|
}
|
||||||
// 自平台内容
|
// 自平台内容
|
||||||
int localPort = sendRtpServerService.getNextPort(mediaServerItem);
|
int localPort = sendRtpServerService.getNextPort(mediaServerItem);
|
||||||
if (localPort == 0) {
|
if (localPort <= 0) {
|
||||||
log.info("[redis-rpc] getSendRtpItem->服务器端口资源不足" );
|
log.info("[redis-rpc] getSendRtpItem->服务器端口资源不足" );
|
||||||
RedisRpcResponse response = request.getResponse();
|
RedisRpcResponse response = request.getResponse();
|
||||||
response.setStatusCode(ErrorCode.SUCCESS.getCode());
|
response.setStatusCode(ErrorCode.SUCCESS.getCode());
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user