支持支持主码流子码流切换

This commit is contained in:
648540858
2024-02-22 17:22:28 +08:00
parent 18898e982f
commit f6c48588da
21 changed files with 910 additions and 169 deletions

View File

@@ -13,24 +13,30 @@
prefix-icon="el-icon-search" v-model="searchSrt" clearable></el-input>
通道类型:
<el-select size="mini" @change="search" style="margin-right: 1rem;" v-model="channelType" placeholder="请选择"
<el-select size="mini" @change="search" style="width: 8rem; margin-right: 1rem;" v-model="channelType" placeholder="请选择"
default-first-option>
<el-option label="全部" value=""></el-option>
<el-option label="设备" value="false"></el-option>
<el-option label="子目录" value="true"></el-option>
</el-select>
在线状态:
<el-select size="mini" style="margin-right: 1rem;" @change="search" v-model="online" placeholder="请选择"
<el-select size="mini" style="width: 8rem; margin-right: 1rem;" @change="search" v-model="online" placeholder="请选择"
default-first-option>
<el-option label="全部" value=""></el-option>
<el-option label="在线" value="true"></el-option>
<el-option label="离线" value="false"></el-option>
</el-select>
清晰度:
<el-select size="mini" style="margin-right: 1rem;" @change="search" v-model="isSubStream" placeholder="请选择"
default-first-option>
<el-option label="原画" :value="false"></el-option>
<el-option label="流畅" :value="true"></el-option>
码流类型重置:
<el-select size="mini" style="width: 16rem; margin-right: 1rem;" @change="subStreamChange" v-model="subStream"
placeholder="请选择码流类型" default-first-option >
<el-option label="stream:0(主码流)" value="stream:0"></el-option>
<el-option label="stream:1(子码流)" value="stream:1"></el-option>
<el-option label="streamnumber:0(主码流-2022)" value="streamnumber:0"></el-option>
<el-option label="streamnumber:1(子码流-2022)" value="streamnumber:1"></el-option>
<el-option label="streamprofile:0(主码流-大华)" value="streamprofile:0"></el-option>
<el-option label="streamprofile:1(子码流-大华)" value="streamprofile:1"></el-option>
<el-option label="streamMode:main(主码流-水星+TP-LINK)" value="streamMode:main"></el-option>
<el-option label="streamMode:sub(子码流-水星+TP-LINK)" value="streamMode:sub"></el-option>
</el-select>
</div>
<el-button icon="el-icon-refresh-right" circle size="mini" @click="refresh()"></el-button>
@@ -46,11 +52,11 @@
<el-main style="padding: 5px;">
<el-table ref="channelListTable" :data="deviceChannelList" :height="winHeight" style="width: 100%"
header-row-class-name="table-header">
<el-table-column prop="channelId" label="通道编号" min-width="200">
<el-table-column prop="channelId" label="通道编号" min-width="180">
</el-table-column>
<el-table-column prop="deviceId" label="设备编号" min-width="200">
<el-table-column prop="deviceId" label="设备编号" min-width="180">
</el-table-column>
<el-table-column prop="name" label="通道名称" min-width="200">
<el-table-column prop="name" label="通道名称" min-width="180">
<template v-slot:default="scope">
<el-input
v-show="scope.row.edit"
@@ -63,7 +69,7 @@
<span v-show="!scope.row.edit">{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column label="快照" min-width="120">
<el-table-column label="快照" min-width="100">
<template v-slot:default="scope">
<el-image
:src="getSnap(scope.row)"
@@ -77,11 +83,11 @@
</el-image>
</template>
</el-table-column>
<el-table-column prop="subCount" label="子节点数" min-width="120">
<el-table-column prop="subCount" label="子节点数" min-width="100">
</el-table-column>
<el-table-column prop="manufacture" label="厂家" min-width="120">
<el-table-column prop="manufacture" label="厂家" min-width="100">
</el-table-column>
<el-table-column label="位置信息" min-width="200">
<el-table-column label="位置信息" min-width="120">
<template v-slot:default="scope">
<el-input
v-show="scope.row.edit"
@@ -94,7 +100,7 @@
<span v-show="!scope.row.edit">{{ scope.row.location }}</span>
</template>
</el-table-column>
<el-table-column prop="PTZType" label="云台类型" min-width="120">
<el-table-column prop="PTZType" label="云台类型" min-width="100">
<template v-slot:default="scope">
<el-select v-show="scope.row.edit" v-model="scope.row.PTZType"
placeholder="云台类型" filterable>
@@ -108,13 +114,28 @@
<div v-show="!scope.row.edit">{{ scope.row.PTZTypeText }}</div>
</template>
</el-table-column>
<el-table-column label="开启音频" min-width="120">
<el-table-column label="开启音频" min-width="100">
<template slot-scope="scope">
<el-switch @change="updateChannel(scope.row)" v-model="scope.row.hasAudio" active-color="#409EFF">
</el-switch>
</template>
</el-table-column>
<el-table-column label="状态" min-width="120">
<el-table-column label="码流类型" min-width="180">
<template slot-scope="scope">
<el-select size="mini" style="margin-right: 1rem;" @change="channelSubStreamChange(scope.row)" v-model="scope.row.streamIdentification"
placeholder="请选择码流类型" default-first-option >
<el-option label="stream:0(主码流)" value="stream:0"></el-option>
<el-option label="stream:1(子码流)" value="stream:1"></el-option>
<el-option label="streamnumber:0(主码流-2022)" value="streamnumber:0"></el-option>
<el-option label="streamnumber:1(子码流-2022)" value="streamnumber:1"></el-option>
<el-option label="streamprofile:0(主码流-大华)" value="streamprofile:0"></el-option>
<el-option label="streamprofile:1(子码流-大华)" value="streamprofile:1"></el-option>
<el-option label="streamMode:main(主码流-水星+TP-LINK)" value="streamMode:main"></el-option>
<el-option label="streamMode:sub(子码流-水星+TP-LINK)" value="streamMode:sub"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="状态" min-width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<el-tag size="medium" v-if="scope.row.status === true">在线</el-tag>
@@ -122,8 +143,6 @@
</div>
</template>
</el-table-column>
<el-table-column label="操作" min-width="340" fixed="right">
<template slot-scope="scope">
<el-button size="medium" v-bind:disabled="device == null || device.online === 0" icon="el-icon-video-play"
@@ -213,7 +232,7 @@ export default {
searchSrt: "",
channelType: "",
online: "",
isSubStream: false,
subStream: "",
winHeight: window.innerHeight - 200,
currentPage: 1,
count: 15,
@@ -495,6 +514,43 @@ export default {
console.log(JSON.stringify(res));
});
},
subStreamChange: function () {
this.$confirm('确定重置所有通道的码流类型?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$axios({
method: 'post',
url: `/api/device/query/channel/stream/identification/update/`,
params: {
deviceId: this.deviceId,
streamIdentification: this.subStream
}
}).then((res)=> {
console.log(JSON.stringify(res));
this.initData()
}).finally(()=>{
this.subStream = ""
})
}).catch(() => {
this.subStream = ""
});
},
channelSubStreamChange: function (row) {
this.$axios({
method: 'post',
url: `/api/device/query/channel/stream/identification/update/`,
params: {
deviceId: this.deviceId,
channelId: row.channelId,
streamIdentification: row.streamIdentification
}
}).then(function (res) {
console.log(JSON.stringify(res));
});
},
refresh: function () {
this.initData();
},

View File

@@ -58,12 +58,6 @@
<el-form-item v-if="form.subscribeCycleForMobilePosition > 0" label="移动位置报送间隔" prop="subscribeCycleForCatalog" >
<el-input v-model="form.mobilePositionSubmissionInterval" clearable ></el-input>
</el-form-item>
<el-form-item label="主子码流开关" prop="switchPrimarySubStream" >
<el-select v-model="form.switchPrimarySubStream" style="float: left; width: 100%" >
<el-option key="true" label="开启" :value="true"></el-option>
<el-option key="false" label="关闭" :value="false"></el-option>
</el-select>
</el-form-item>
<el-form-item label="其他选项">
<el-checkbox label="SSRC校验" v-model="form.ssrcCheck" style="float: left"></el-checkbox>
<el-checkbox label="作为消息通道" v-model="form.asMessageChannel" style="float: left"></el-checkbox>