From 2ef411129756224061b9d44f3fd998a73db8b0a8 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 05 六月 2023 10:28:11 +0800
Subject: [PATCH] 修复拉流代理的ffmpeg代理方式

---
 web_src/src/components/StreamProxyList.vue                              |    6 +-
 src/main/java/com/genersoft/iot/vmp/media/zlm/dto/StreamProxyItem.java  |   74 ++++++++++--------------
 src/main/java/com/genersoft/iot/vmp/storager/dao/StreamProxyMapper.java |   24 ++++----
 web_src/src/components/dialog/StreamProxyEdit.vue                       |   73 ++++++++++++------------
 4 files changed, 83 insertions(+), 94 deletions(-)

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
index 8637e3f..dd517e3 100644
--- 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
@@ -16,32 +16,30 @@
     @Schema(description = "娴両D")
     private String stream;
     @Schema(description = "娴佸獟浣撴湇鍔D")
-    private String media_server_id;
+    private String mediaServerId;
     @Schema(description = "鎷夋祦鍦板潃")
     private String url;
     @Schema(description = "鎷夋祦鍦板潃")
-    private String src_url;
+    private String srcUrl;
     @Schema(description = "鐩爣鍦板潃")
-    private String dst_url;
+    private String dstUrl;
     @Schema(description = "瓒呮椂鏃堕棿")
-    private int timeout_ms;
+    private int timeoutMs;
     @Schema(description = "ffmpeg妯℃澘KEY")
-    private String ffmpeg_cmd_key;
+    private String ffmpegCmdKey;
     @Schema(description = "rtsp鎷夋祦鏃讹紝鎷夋祦鏂瑰紡锛�0锛歵cp锛�1锛歶dp锛�2锛氱粍鎾�")
-    private String rtp_type;
+    private String rtpType;
     @Schema(description = "鏄惁鍚敤")
     private boolean enable;
     @Schema(description = "鏄惁鍚敤闊抽")
-    private boolean enable_audio;
+    private boolean enableAudio;
     @Schema(description = "鏄惁鍚敤MP4")
-    private boolean enable_mp4;
+    private boolean enableMp4;
     @Schema(description = "鏄惁 鏃犱汉瑙傜湅鏃跺垹闄�")
-    private boolean enable_remove_none_reader;
+    private boolean enableRemoveNoneReader;
 
     @Schema(description = "鏄惁 鏃犱汉瑙傜湅鏃惰嚜鍔ㄥ仠鐢�")
-    private boolean enable_disable_none_reader;
-    @Schema(description = "鍒涘缓鏃堕棿")
-    private String create_time;
+    private boolean enableDisableNoneReader;
 
     public String getType() {
         return type;
@@ -73,12 +71,12 @@
 
     @Override
     public String getMediaServerId() {
-        return media_server_id;
+        return mediaServerId;
     }
 
     @Override
     public void setMediaServerId(String mediaServerId) {
-        this.media_server_id = mediaServerId;
+        this.mediaServerId = mediaServerId;
     }
 
     public String getUrl() {
@@ -90,43 +88,43 @@
     }
 
     public String getSrcUrl() {
-        return src_url;
+        return srcUrl;
     }
 
     public void setSrcUrl(String src_url) {
-        this.src_url = src_url;
+        this.srcUrl = src_url;
     }
 
     public String getDstUrl() {
-        return dst_url;
+        return dstUrl;
     }
 
     public void setDstUrl(String dst_url) {
-        this.dst_url = dst_url;
+        this.dstUrl = dst_url;
     }
 
     public int getTimeoutMs() {
-        return timeout_ms;
+        return timeoutMs;
     }
 
     public void setTimeoutMs(int timeout_ms) {
-        this.timeout_ms = timeout_ms;
+        this.timeoutMs = timeout_ms;
     }
 
     public String getFfmpegCmdKey() {
-        return ffmpeg_cmd_key;
+        return ffmpegCmdKey;
     }
 
     public void setFfmpegCmdKey(String ffmpeg_cmd_key) {
-        this.ffmpeg_cmd_key = ffmpeg_cmd_key;
+        this.ffmpegCmdKey = ffmpeg_cmd_key;
     }
 
     public String getRtpType() {
-        return rtp_type;
+        return rtpType;
     }
 
     public void setRtpType(String rtp_type) {
-        this.rtp_type = rtp_type;
+        this.rtpType = rtp_type;
     }
 
     public boolean isEnable() {
@@ -138,44 +136,36 @@
     }
 
     public boolean isEnableMp4() {
-        return enable_mp4;
+        return enableMp4;
     }
 
     public void setEnableMp4(boolean enable_mp4) {
-        this.enable_mp4 = enable_mp4;
-    }
-
-    @Override
-    public String getCreateTime() {
-        return create_time;
-    }
-
-    @Override
-    public void setCreateTime(String create_time) {
-        this.create_time = create_time;
+        this.enableMp4 = enable_mp4;
     }
 
     public boolean isEnableRemoveNoneReader() {
-        return enable_remove_none_reader;
+        return enableRemoveNoneReader;
     }
 
     public void setEnableRemoveNoneReader(boolean enable_remove_none_reader) {
-        this.enable_remove_none_reader = enable_remove_none_reader;
+        this.enableRemoveNoneReader = enable_remove_none_reader;
     }
 
     public boolean isEnableDisableNoneReader() {
-        return enable_disable_none_reader;
+        return enableDisableNoneReader;
     }
 
     public void setEnableDisableNoneReader(boolean enable_disable_none_reader) {
-        this.enable_disable_none_reader = enable_disable_none_reader;
+        this.enableDisableNoneReader = enable_disable_none_reader;
     }
 
     public boolean isEnableAudio() {
-        return enable_audio;
+        return enableAudio;
     }
 
     public void setEnableAudio(boolean enable_audio) {
-        this.enable_audio = enable_audio;
+        this.enableAudio = enable_audio;
     }
+
+
 }
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamProxyMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamProxyMapper.java
index 3a1a69e..a5a80c4 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamProxyMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/StreamProxyMapper.java
@@ -13,9 +13,9 @@
 
     @Insert("INSERT INTO wvp_stream_proxy (type, name, app, stream,media_server_id, url, src_url, dst_url, " +
             "timeout_ms, ffmpeg_cmd_key, rtp_type, enable_audio, enable_mp4, enable, status, enable_remove_none_reader, enable_disable_none_reader, create_time) VALUES" +
-            "(#{type}, #{name}, #{app}, #{stream}, #{mediaServerId}, #{url}, #{src_url}, #{dst_url}, " +
-            "#{timeout_ms}, #{ffmpeg_cmd_key}, #{rtp_type}, #{enable_audio}, #{enable_mp4}, #{enable}, #{status}, " +
-            "#{enable_remove_none_reader}, #{enable_disable_none_reader}, #{createTime} )")
+            "(#{type}, #{name}, #{app}, #{stream}, #{mediaServerId}, #{url}, #{srcUrl}, #{dstUrl}, " +
+            "#{timeoutMs}, #{ffmpegCmdKey}, #{rtpType}, #{enableAudio}, #{enableMp4}, #{enable}, #{status}, " +
+            "#{enableRemoveNoneReader}, #{enableDisableNoneReader}, #{createTime} )")
     int add(StreamProxyItem streamProxyDto);
 
     @Update("UPDATE wvp_stream_proxy " +
@@ -25,17 +25,17 @@
             "stream=#{stream}," +
             "url=#{url}, " +
             "media_server_id=#{mediaServerId}, " +
-            "src_url=#{src_url}," +
-            "dst_url=#{dst_url}, " +
-            "timeout_ms=#{timeout_ms}, " +
-            "ffmpeg_cmd_key=#{ffmpeg_cmd_key}, " +
-            "rtp_type=#{rtp_type}, " +
-            "enable_audio=#{enable_audio}, " +
+            "src_url=#{srcUrl}," +
+            "dst_url=#{dstUrl}, " +
+            "timeout_ms=#{timeoutMs}, " +
+            "ffmpeg_cmd_key=#{ffmpegCmdKey}, " +
+            "rtp_type=#{rtpType}, " +
+            "enable_audio=#{enableAudio}, " +
             "enable=#{enable}, " +
             "status=#{status}, " +
-            "enable_remove_none_reader=#{enable_remove_none_reader}, " +
-            "enable_disable_none_reader=#{enable_disable_none_reader}, " +
-            "enable_mp4=#{enable_mp4} " +
+            "enable_remove_none_reader=#{enableRemoveNoneReader}, " +
+            "enable_disable_none_reader=#{enableDisableNoneReader}, " +
+            "enable_mp4=#{enableMp4} " +
             "WHERE app=#{app} AND stream=#{stream}")
     int update(StreamProxyItem streamProxyDto);
 
diff --git a/web_src/src/components/StreamProxyList.vue b/web_src/src/components/StreamProxyList.vue
index 47ccde8..dce8853 100644
--- a/web_src/src/components/StreamProxyList.vue
+++ b/web_src/src/components/StreamProxyList.vue
@@ -22,8 +22,8 @@
               {{scope.row.url}}
             </el-tag>
             <el-tag size="medium" v-if="scope.row.type != 'default'">
-              <i class="cpoy-btn el-icon-document-copy"  title="鐐瑰嚮鎷疯礉" v-clipboard="scope.row.src_url" @success="$message({type:'success', message:'鎴愬姛鎷疯礉鍒扮矘璐存澘'})"></i>
-              {{scope.row.src_url}}
+              <i class="cpoy-btn el-icon-document-copy"  title="鐐瑰嚮鎷疯礉" v-clipboard="scope.row.srcUrl" @success="$message({type:'success', message:'鎴愬姛鎷疯礉鍒扮矘璐存澘'})"></i>
+              {{scope.row.srcUrl}}
             </el-tag>
           </div>
         </template>
@@ -197,7 +197,7 @@
               this.$refs.onvifEdit.openDialog(res.data.data, (url)=>{
                   if (url != null) {
                     this.$refs.onvifEdit.close();
-                    this.$refs.streamProxyEdit.openDialog({type: "default", url: url, src_url: url}, this.initData())
+                    this.$refs.streamProxyEdit.openDialog({type: "default", url: url, srcUrl: url}, this.initData())
                   }
               })
             }else {
diff --git a/web_src/src/components/dialog/StreamProxyEdit.vue b/web_src/src/components/dialog/StreamProxyEdit.vue
index 76011fa..588f114 100644
--- a/web_src/src/components/dialog/StreamProxyEdit.vue
+++ b/web_src/src/components/dialog/StreamProxyEdit.vue
@@ -33,13 +33,13 @@
               <el-form-item label="鎷夋祦鍦板潃" prop="url" v-if="proxyParam.type=='default'">
                 <el-input v-model="proxyParam.url" clearable></el-input>
               </el-form-item>
-              <el-form-item label="鎷夋祦鍦板潃" prop="src_url" v-if="proxyParam.type=='ffmpeg'">
-                <el-input v-model="proxyParam.src_url" clearable></el-input>
+              <el-form-item label="鎷夋祦鍦板潃" prop="srcUrl" v-if="proxyParam.type=='ffmpeg'">
+                <el-input v-model="proxyParam.srcUrl" clearable></el-input>
               </el-form-item>
-              <el-form-item label="瓒呮椂鏃堕棿:姣" prop="timeout_ms" v-if="proxyParam.type=='ffmpeg'">
-                <el-input v-model="proxyParam.timeout_ms" clearable></el-input>
+              <el-form-item label="瓒呮椂鏃堕棿:姣" prop="timeoutMs" v-if="proxyParam.type=='ffmpeg'">
+                <el-input v-model="proxyParam.timeoutMs" clearable></el-input>
               </el-form-item>
-              <el-form-item label="鑺傜偣閫夋嫨" prop="rtp_type">
+              <el-form-item label="鑺傜偣閫夋嫨" prop="rtpType">
                 <el-select
                   v-model="proxyParam.mediaServerId"
                   @change="mediaServerIdChange"
@@ -54,10 +54,9 @@
                   </el-option>
                 </el-select>
               </el-form-item>
-              <el-form-item label="FFmpeg鍛戒护妯℃澘" prop="ffmpeg_cmd_key" v-if="proxyParam.type=='ffmpeg'">
-<!--                <el-input v-model="proxyParam.ffmpeg_cmd_key" clearable></el-input>-->
+              <el-form-item label="FFmpeg鍛戒护妯℃澘" prop="ffmpegCmdKey" v-if="proxyParam.type=='ffmpeg'">
                 <el-select
-                  v-model="proxyParam.ffmpeg_cmd_key"
+                  v-model="proxyParam.ffmpegCmdKey"
                   style="width: 100%"
                   placeholder="璇烽�夋嫨FFmpeg鍛戒护妯℃澘"
                 >
@@ -72,9 +71,9 @@
               <el-form-item label="鍥芥爣缂栫爜" prop="gbId">
                 <el-input v-model="proxyParam.gbId" placeholder="璁剧疆鍥芥爣缂栫爜鍙帹閫佸埌鍥芥爣" clearable></el-input>
               </el-form-item>
-              <el-form-item label="鎷夋祦鏂瑰紡" prop="rtp_type" v-if="proxyParam.type=='default'">
+              <el-form-item label="鎷夋祦鏂瑰紡" prop="rtpType" v-if="proxyParam.type=='default'">
                 <el-select
-                  v-model="proxyParam.rtp_type"
+                  v-model="proxyParam.rtpType"
                   style="width: 100%"
                   placeholder="璇烽�夋嫨鎷夋祦鏂瑰紡"
                 >
@@ -83,10 +82,10 @@
                   <el-option label="缁勬挱" value="2"></el-option>
                 </el-select>
               </el-form-item>
-            <el-form-item label="鏃犱汉瑙傜湅" prop="rtp_type" >
+            <el-form-item label="鏃犱汉瑙傜湅" prop="rtpType" >
               <el-select
                 @change="noneReaderHandler"
-                v-model="proxyParam.none_reader"
+                v-model="proxyParam.noneReader"
                 style="width: 100%"
                 placeholder="璇烽�夋嫨鏃犱汉瑙傜湅鐨勫鐞嗘柟寮�"
               >
@@ -98,8 +97,8 @@
               <el-form-item label="鍏朵粬閫夐」">
                 <div style="float: left;">
                   <el-checkbox label="鍚敤" v-model="proxyParam.enable" ></el-checkbox>
-                  <el-checkbox label="寮�鍚煶棰�" v-model="proxyParam.enable_audio" ></el-checkbox>
-                  <el-checkbox label="褰曞埗" v-model="proxyParam.enable_mp4" ></el-checkbox>
+                  <el-checkbox label="寮�鍚煶棰�" v-model="proxyParam.enableAudio" ></el-checkbox>
+                  <el-checkbox label="褰曞埗" v-model="proxyParam.enableMp4" ></el-checkbox>
                 </div>
 
               </el-form-item>
@@ -155,17 +154,17 @@
           app: null,
           stream: null,
           url: "",
-          src_url: null,
-          timeout_ms: null,
-          ffmpeg_cmd_key: null,
+          srcUrl: null,
+          timeoutMs: null,
+          ffmpegCmdKey: null,
           gbId: null,
-          rtp_type: null,
+          rtpType: null,
           enable: true,
-          enable_audio: true,
-          enable_mp4: false,
-          none_reader: null,
-          enable_remove_none_reader: false,
-          enable_disable_none_reader: false,
+          enableAudio: true,
+          enableMp4: false,
+          noneReader: null,
+          enableRemoveNoneReader: false,
+          enableDisableNoneReader: false,
           platformGbId: null,
           mediaServerId: null,
       },
@@ -177,9 +176,9 @@
         app: [{ required: true, message: "璇疯緭鍏ュ簲鐢ㄥ悕", trigger: "blur" }],
         stream: [{ required: true, message: "璇疯緭鍏ユ祦ID", trigger: "blur" }],
         url: [{ required: true, message: "璇疯緭鍏ヨ浠g悊鐨勬祦", trigger: "blur" }],
-        src_url: [{ required: true, message: "璇疯緭鍏ヨ浠g悊鐨勬祦", trigger: "blur" }],
-        timeout_ms: [{ required: true, message: "璇疯緭鍏Fmpeg鎺ㄦ祦鎴愬姛瓒呮椂鏃堕棿", trigger: "blur" }],
-        ffmpeg_cmd_key: [{ required: false, message: "璇疯緭鍏Fmpeg鍛戒护鍙傛暟妯℃澘锛堝彲閫夛級", trigger: "blur" }],
+        srcUrl: [{ required: true, message: "璇疯緭鍏ヨ浠g悊鐨勬祦", trigger: "blur" }],
+        timeoutMs: [{ required: true, message: "璇疯緭鍏Fmpeg鎺ㄦ祦鎴愬姛瓒呮椂鏃堕棿", trigger: "blur" }],
+        ffmpegCmdKey: [{ required: false, message: "璇疯緭鍏Fmpeg鍛戒护鍙傛暟妯℃澘锛堝彲閫夛級", trigger: "blur" }],
       },
     };
   },
@@ -189,7 +188,7 @@
       this.listChangeCallback = callback;
       if (proxyParam != null) {
         this.proxyParam = proxyParam;
-        this.proxyParam.none_reader = null;
+        this.proxyParam.noneReader = null;
       }
 
       let that = this;
@@ -218,7 +217,7 @@
           }
         }).then(function (res) {
           that.ffmpegCmdList = res.data.data;
-          that.proxyParam.ffmpeg_cmd_key = Object.keys(res.data.data)[0];
+          that.proxyParam.ffmpegCmdKey = Object.keys(res.data.data)[0];
         }).catch(function (error) {
           console.log(error);
         });
@@ -275,15 +274,15 @@
       }
     },
     noneReaderHandler: function() {
-      if (this.proxyParam.none_reader === null || this.proxyParam.none_reader === "0") {
-        this.proxyParam.enable_disable_none_reader = false;
-        this.proxyParam.enable_remove_none_reader = false;
-      }else if (this.proxyParam.none_reader === "1"){
-        this.proxyParam.enable_disable_none_reader = true;
-        this.proxyParam.enable_remove_none_reader = false;
-      }else if (this.proxyParam.none_reader ==="2"){
-        this.proxyParam.enable_disable_none_reader = false;
-        this.proxyParam.enable_remove_none_reader = true;
+      if (this.proxyParam.noneReader === null || this.proxyParam.noneReader === "0") {
+        this.proxyParam.enableDisableNoneReader = false;
+        this.proxyParam.enableRemoveNoneReader = false;
+      }else if (this.proxyParam.noneReader === "1"){
+        this.proxyParam.enableDisableNoneReader = true;
+        this.proxyParam.enableRemoveNoneReader = false;
+      }else if (this.proxyParam.noneReader ==="2"){
+        this.proxyParam.enableDisableNoneReader = false;
+        this.proxyParam.enableRemoveNoneReader = true;
       }
     },
   },

--
Gitblit v1.8.0