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