648540858
2024-06-25 57a230afb3b02cedf8ec39cd60e5163f953e3260
Merge branch 'refs/heads/2.7.1'

# Conflicts:
# src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java
# src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
# src/main/java/com/genersoft/iot/vmp/service/impl/MediaServiceImpl.java
9个文件已修改
84 ■■■■ 已修改文件
src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForCatalogProcessor.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForMobilePositionProcessor.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/storager/dao/CloudRecordServiceMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/bean/StreamContent.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/devicePlayer.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/common/StreamInfo.java
@@ -87,6 +87,9 @@
    @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 @@
        this.transactionInfo = transactionInfo;
    }
    public StreamInfo getTranscodeStream() {
        return transcodeStream;
    }
    public void setTranscodeStream(StreamInfo transcodeStream) {
        this.transcodeStream = transcodeStream;
    }
    @Override
    public StreamInfo clone() {
        StreamInfo instance = null;
src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java
@@ -21,7 +21,7 @@
    private Boolean seniorSdp = Boolean.FALSE;
    private Integer playTimeout = 18000;
    private Integer playTimeout = 10000;
    private int platformPlayTimeout = 20000;
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForCatalogProcessor.java
@@ -315,8 +315,8 @@
        }
    }
    @Scheduled(fixedRate = 10000)   //每1秒执行一次
    public void execute(){
        logger.info("[待处理Notify-目录订阅消息数量]: {}", taskQueue.size());
    }
//    @Scheduled(fixedRate = 10000)   //每1秒执行一次
//    public void execute(){
//        logger.info("[待处理Notify-目录订阅消息数量]: {}", taskQueue.size());
//    }
}
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/NotifyRequestForMobilePositionProcessor.java
@@ -188,8 +188,8 @@
        }
        taskQueue.clear();
    }
    @Scheduled(fixedRate = 10000)
    public void execute(){
        logger.info("[待处理Notify-移动位置订阅消息数量]: {}", taskQueue.size());
    }
//    @Scheduled(fixedRate = 10000)
//    public void execute(){
//        logger.debug("[待处理Notify-移动位置订阅消息数量]: {}", taskQueue.size());
//    }
}
src/main/java/com/genersoft/iot/vmp/storager/dao/CloudRecordServiceMapper.java
@@ -53,7 +53,7 @@
            " <if test= 'ids != null  ' > and id in " +
            " <foreach collection='ids'  item='item'  open='(' separator=',' close=')' > #{item}</foreach>" +
            " </if>" +
            " order by start_time DESC" +
            " order by start_time ASC" +
            " </script>")
    List<CloudRecordItem> getList(@Param("query") String query, @Param("app") String app, @Param("stream") String stream,
                                  @Param("startTimeStamp")Long startTimeStamp, @Param("endTimeStamp")Long endTimeStamp,
src/main/java/com/genersoft/iot/vmp/vmanager/bean/StreamContent.java
@@ -98,6 +98,9 @@
    @Schema(description = "文件下载地址(录像下载使用)")
    private DownloadFileInfo downLoadFilePath;
    @Schema(description = "转码后的视频流")
    private StreamContent transcodeStream;
    private double progress;
    public StreamContent(StreamInfo streamInfo) {
@@ -179,6 +182,17 @@
        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() {
src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java
@@ -126,13 +126,32 @@
                    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) {
src/main/resources/application.yml
@@ -2,4 +2,4 @@
  application:
    name: wvp
  profiles:
    active: local
    active: local271
web_src/src/components/dialog/devicePlayer.vue
@@ -473,10 +473,14 @@
    },
    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;