diff --git a/src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java b/src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java
index f4774393..96a987c9 100644
--- a/src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java
+++ b/src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java
@@ -87,6 +87,9 @@ public class StreamInfo implements Serializable, Cloneable{
@Schema(description = "产生源类型,包括 unknown = 0,rtmp_push=1,rtsp_push=2,rtp_push=3,pull=4,ffmpeg_pull=5,mp4_vod=6,device_chn=7")
private int originType;
+ @Schema(description = "转码后的视频流")
+ private StreamInfo transcodeStream;
+
public void setFlv(StreamURL flv) {
this.flv = flv;
}
@@ -533,6 +536,14 @@ public class StreamInfo implements Serializable, Cloneable{
this.transactionInfo = transactionInfo;
}
+ public StreamInfo getTranscodeStream() {
+ return transcodeStream;
+ }
+
+ public void setTranscodeStream(StreamInfo transcodeStream) {
+ this.transcodeStream = transcodeStream;
+ }
+
@Override
public StreamInfo clone() {
StreamInfo instance = null;
diff --git a/src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java b/src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java
index 007c72a3..18114c5a 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java
@@ -21,7 +21,7 @@ public class UserSetting {
private Boolean seniorSdp = Boolean.FALSE;
- private Integer playTimeout = 18000;
+ private Integer playTimeout = 10000;
private int platformPlayTimeout = 20000;
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..155d5f73 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
@@ -315,8 +315,8 @@ public class NotifyRequestForCatalogProcessor extends SIPRequestProcessorParent
}
}
- @Scheduled(fixedRate = 10000) //每1秒执行一次
- public void execute(){
- logger.info("[待处理Notify-目录订阅消息数量]: {}", taskQueue.size());
- }
+// @Scheduled(fixedRate = 10000) //每1秒执行一次
+// public void execute(){
+// logger.info("[待处理Notify-目录订阅消息数量]: {}", taskQueue.size());
+// }
}
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForMobilePositionProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForMobilePositionProcessor.java
index 52fc7a3f..9c414a85 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForMobilePositionProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForMobilePositionProcessor.java
@@ -188,8 +188,8 @@ public class NotifyRequestForMobilePositionProcessor extends SIPRequestProcessor
}
taskQueue.clear();
}
- @Scheduled(fixedRate = 10000)
- public void execute(){
- logger.info("[待处理Notify-移动位置订阅消息数量]: {}", taskQueue.size());
- }
+// @Scheduled(fixedRate = 10000)
+// public void execute(){
+// logger.debug("[待处理Notify-移动位置订阅消息数量]: {}", taskQueue.size());
+// }
}
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/CloudRecordServiceMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/CloudRecordServiceMapper.java
index a654ea06..af1b4242 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/CloudRecordServiceMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/CloudRecordServiceMapper.java
@@ -53,7 +53,7 @@ public interface CloudRecordServiceMapper {
" and id in " +
" #{item}" +
" " +
- " order by start_time DESC" +
+ " order by start_time ASC" +
" ")
List getList(@Param("query") String query, @Param("app") String app, @Param("stream") String stream,
@Param("startTimeStamp")Long startTimeStamp, @Param("endTimeStamp")Long endTimeStamp,
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/bean/StreamContent.java b/src/main/java/com/genersoft/iot/vmp/vmanager/bean/StreamContent.java
index 193c95d4..ce742512 100755
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/bean/StreamContent.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/bean/StreamContent.java
@@ -98,6 +98,9 @@ public class StreamContent {
@Schema(description = "文件下载地址(录像下载使用)")
private DownloadFileInfo downLoadFilePath;
+ @Schema(description = "转码后的视频流")
+ private StreamContent transcodeStream;
+
private double progress;
public StreamContent(StreamInfo streamInfo) {
@@ -179,6 +182,17 @@ public class StreamContent {
if (streamInfo.getDownLoadFilePath() != null) {
this.downLoadFilePath = streamInfo.getDownLoadFilePath();
}
+ if (streamInfo.getTranscodeStream() != null) {
+ this.transcodeStream = new StreamContent(streamInfo.getTranscodeStream());
+ }
+ }
+
+ public StreamContent getTranscodeStream() {
+ return transcodeStream;
+ }
+
+ public void setTranscodeStream(StreamContent transcodeStream) {
+ this.transcodeStream = transcodeStream;
}
public String getApp() {
diff --git a/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java b/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java
index be740c19..8937fd86 100644
--- a/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java
+++ b/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java
@@ -126,13 +126,32 @@ public class ApiStreamController {
resultJjson.put("ChannelID", code);
resultJjson.put("ChannelName", deviceChannel.getName());
resultJjson.put("ChannelCustomName", "");
- resultJjson.put("FLV", streamInfo.getFlv().getUrl());
- if(streamInfo.getHttps_flv() != null) {
- resultJjson.put("HTTPS_FLV", streamInfo.getHttps_flv().getUrl());
+ if (streamInfo.getTranscodeStream() != null) {
+ resultJjson.put("FLV", streamInfo.getTranscodeStream().getFlv().getUrl());
+ }else {
+ resultJjson.put("FLV", streamInfo.getFlv().getUrl());
+
}
- resultJjson.put("WS_FLV", streamInfo.getWs_flv().getUrl());
+ if(streamInfo.getHttps_flv() != null) {
+ if (streamInfo.getTranscodeStream() != null) {
+ resultJjson.put("HTTPS_FLV", streamInfo.getTranscodeStream().getHttps_flv().getUrl());
+ }else {
+ resultJjson.put("HTTPS_FLV", streamInfo.getHttps_flv().getUrl());
+ }
+ }
+
+ if (streamInfo.getTranscodeStream() != null) {
+ resultJjson.put("WS_FLV", streamInfo.getTranscodeStream().getWs_flv().getUrl());
+ }else {
+ resultJjson.put("WS_FLV", streamInfo.getWs_flv().getUrl());
+ }
+
if(streamInfo.getWss_flv() != null) {
- resultJjson.put("WSS_FLV", streamInfo.getWss_flv().getUrl());
+ if (streamInfo.getTranscodeStream() != null) {
+ resultJjson.put("WSS_FLV", streamInfo.getTranscodeStream().getWss_flv().getUrl());
+ }else {
+ resultJjson.put("WSS_FLV", streamInfo.getWss_flv().getUrl());
+ }
}
resultJjson.put("RTMP", streamInfo.getRtmp().getUrl());
if (streamInfo.getRtmps() != null) {
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 3f478442..ddb05dee 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -2,4 +2,4 @@ spring:
application:
name: wvp
profiles:
- active: local
\ No newline at end of file
+ active: local271
\ No newline at end of file
diff --git a/web_src/src/components/dialog/devicePlayer.vue b/web_src/src/components/dialog/devicePlayer.vue
index 1c9705bc..e0a1d01d 100755
--- a/web_src/src/components/dialog/devicePlayer.vue
+++ b/web_src/src/components/dialog/devicePlayer.vue
@@ -473,10 +473,14 @@ export default {
},
getUrlByStreamInfo() {
console.log(this.streamInfo)
+ let streamInfo = this.streamInfo
+ if (this.streamInfo.transcodeStream) {
+ streamInfo = this.streamInfo.transcodeStream;
+ }
if (location.protocol === "https:") {
- this.videoUrl = this.streamInfo[this.player[this.activePlayer][1]]
+ this.videoUrl = streamInfo[this.player[this.activePlayer][1]]
} else {
- this.videoUrl = this.streamInfo[this.player[this.activePlayer][0]]
+ this.videoUrl = streamInfo[this.player[this.activePlayer][0]]
}
return this.videoUrl;