Commit bfb3b4ea13dcfd360c313375d03658dfc82e19ef
1 parent
9a80e10f
播放页面显示所有流地址
Showing
2 changed files
with
114 additions
and
10 deletions
web_src/src/components/channelList.vue
| @@ -237,6 +237,8 @@ export default { | @@ -237,6 +237,8 @@ export default { | ||
| 237 | that.initData(); | 237 | that.initData(); |
| 238 | }, 1000) | 238 | }, 1000) |
| 239 | 239 | ||
| 240 | + }else{ | ||
| 241 | + that.$message.error(res.data.msg); | ||
| 240 | } | 242 | } |
| 241 | }).catch(function (e) { | 243 | }).catch(function (e) { |
| 242 | that.isLoging = false; | 244 | that.isLoging = false; |
web_src/src/components/dialog/devicePlayer.vue
| @@ -33,10 +33,100 @@ | @@ -33,10 +33,100 @@ | ||
| 33 | <div style="display: flex; margin-bottom: 0.5rem; height: 2.5rem;"> | 33 | <div style="display: flex; margin-bottom: 0.5rem; height: 2.5rem;"> |
| 34 | <span style="width: 5rem; line-height: 2.5rem; text-align: right;">资源地址:</span> | 34 | <span style="width: 5rem; line-height: 2.5rem; text-align: right;">资源地址:</span> |
| 35 | <el-input v-model="getPlayerShared.sharedRtmp" :disabled="true" > | 35 | <el-input v-model="getPlayerShared.sharedRtmp" :disabled="true" > |
| 36 | - <template slot="append"> | ||
| 37 | - <i class="cpoy-btn el-icon-document-copy" title="点击拷贝" v-clipboard="getPlayerShared.sharedRtmp" @success="$message({type:'success', message:'成功拷贝到粘贴板'})"></i> | ||
| 38 | - </template> | 36 | + <el-button slot="append" icon="el-icon-document-copy" title="点击拷贝" v-clipboard="getPlayerShared.sharedRtmp" @success="$message({type:'success', message:'成功拷贝到粘贴板'})"></el-button> |
| 37 | + <el-dropdown slot="prepend" v-if="streamInfo" trigger="click" @command="copyUrl"> | ||
| 38 | + <el-button > | ||
| 39 | + 更多地址<i class="el-icon-arrow-down el-icon--right"></i> | ||
| 40 | + </el-button> | ||
| 41 | + <el-dropdown-menu slot="dropdown" > | ||
| 42 | + <el-dropdown-item :command="streamInfo.flv"> | ||
| 43 | + <el-tag >FLV:</el-tag> | ||
| 44 | + <span>{{ streamInfo.flv }}</span> | ||
| 45 | + </el-dropdown-item> | ||
| 46 | + <el-dropdown-item :command="streamInfo.https_flv"> | ||
| 47 | + <el-tag >FLV(https):</el-tag> | ||
| 48 | + <span>{{ streamInfo.https_flv }}</span> | ||
| 49 | + </el-dropdown-item> | ||
| 50 | + <el-dropdown-item :command="streamInfo.ws_flv"> | ||
| 51 | + <el-tag >FLV(ws):</el-tag> | ||
| 52 | + <span >{{ streamInfo.ws_flv }}</span> | ||
| 53 | + </el-dropdown-item> | ||
| 54 | + <el-dropdown-item :command="streamInfo.wss_flv"> | ||
| 55 | + <el-tag >FLV(wss):</el-tag> | ||
| 56 | + <span>{{ streamInfo.wss_flv }}</span> | ||
| 57 | + </el-dropdown-item> | ||
| 58 | + <el-dropdown-item :command="streamInfo.fmp4"> | ||
| 59 | + <el-tag >FMP4:</el-tag> | ||
| 60 | + <span>{{ streamInfo.fmp4 }}</span> | ||
| 61 | + </el-dropdown-item> | ||
| 62 | + <el-dropdown-item :command="streamInfo.https_fmp4"> | ||
| 63 | + <el-tag >FMP4(https):</el-tag> | ||
| 64 | + <span>{{ streamInfo.https_fmp4 }}</span> | ||
| 65 | + </el-dropdown-item> | ||
| 66 | + <el-dropdown-item :command="streamInfo.ws_fmp4"> | ||
| 67 | + <el-tag >FMP4(ws):</el-tag> | ||
| 68 | + <span>{{ streamInfo.ws_fmp4 }}</span> | ||
| 69 | + </el-dropdown-item> | ||
| 70 | + <el-dropdown-item :command="streamInfo.wss_fmp4"> | ||
| 71 | + <el-tag >FMP4(wss):</el-tag> | ||
| 72 | + <span>{{ streamInfo.wss_fmp4 }}</span> | ||
| 73 | + </el-dropdown-item> | ||
| 74 | + <el-dropdown-item :command="streamInfo.hls"> | ||
| 75 | + <el-tag>HLS:</el-tag> | ||
| 76 | + <span>{{ streamInfo.hls }}</span> | ||
| 77 | + </el-dropdown-item> | ||
| 78 | + <el-dropdown-item :command="streamInfo.https_hls"> | ||
| 79 | + <el-tag >HLS(https):</el-tag> | ||
| 80 | + <span>{{ streamInfo.https_hls }}</span> | ||
| 81 | + </el-dropdown-item> | ||
| 82 | + <el-dropdown-item :command="streamInfo.ws_hls"> | ||
| 83 | + <el-tag >HLS(ws):</el-tag> | ||
| 84 | + <span>{{ streamInfo.ws_hls }}</span> | ||
| 85 | + </el-dropdown-item> | ||
| 86 | + <el-dropdown-item :command="streamInfo.wss_hls"> | ||
| 87 | + <el-tag >HLS(wss):</el-tag> | ||
| 88 | + <span>{{ streamInfo.wss_hls }}</span> | ||
| 89 | + </el-dropdown-item> | ||
| 90 | + <el-dropdown-item :command="streamInfo.ts"> | ||
| 91 | + <el-tag>TS:</el-tag> | ||
| 92 | + <span>{{ streamInfo.ts }}</span> | ||
| 93 | + </el-dropdown-item> | ||
| 94 | + <el-dropdown-item :command="streamInfo.https_ts"> | ||
| 95 | + <el-tag>TS(https):</el-tag> | ||
| 96 | + <span>{{ streamInfo.https_ts }}</span> | ||
| 97 | + </el-dropdown-item> | ||
| 98 | + <el-dropdown-item :command="streamInfo.ws_ts"> | ||
| 99 | + <el-tag>TS(ws):</el-tag> | ||
| 100 | + <span>{{ streamInfo.ws_ts }}</span> | ||
| 101 | + </el-dropdown-item> | ||
| 102 | + <el-dropdown-item :command="streamInfo.wss_ts"> | ||
| 103 | + <el-tag>TS(wss):</el-tag> | ||
| 104 | + <span>{{ streamInfo.wss_ts }}</span> | ||
| 105 | + </el-dropdown-item> | ||
| 106 | + <el-dropdown-item :command="streamInfo.rtc"> | ||
| 107 | + <el-tag >RTC:</el-tag> | ||
| 108 | + <span>{{ streamInfo.rtc }}</span> | ||
| 109 | + </el-dropdown-item> | ||
| 110 | + <el-dropdown-item :command="streamInfo.rtmp"> | ||
| 111 | + <el-tag >RTMP:</el-tag> | ||
| 112 | + <span>{{ streamInfo.rtmp }}</span> | ||
| 113 | + </el-dropdown-item> | ||
| 114 | + <el-dropdown-item :command="streamInfo.rtmps"> | ||
| 115 | + <el-tag >RTMPS:</el-tag> | ||
| 116 | + <span>{{ streamInfo.rtmps }}</span> | ||
| 117 | + </el-dropdown-item> | ||
| 118 | + <el-dropdown-item :command="streamInfo.rtsp"> | ||
| 119 | + <el-tag >RTSP:</el-tag> | ||
| 120 | + <span>{{ streamInfo.rtsp }}</span> | ||
| 121 | + </el-dropdown-item> | ||
| 122 | + <el-dropdown-item :command="streamInfo.rtsps"> | ||
| 123 | + <el-tag >RTSPS:</el-tag> | ||
| 124 | + <span>{{ streamInfo.rtsps }}</span> | ||
| 125 | + </el-dropdown-item> | ||
| 126 | + </el-dropdown-menu> | ||
| 127 | + </el-dropdown> | ||
| 39 | </el-input> | 128 | </el-input> |
| 129 | + | ||
| 40 | </div> | 130 | </div> |
| 41 | </el-tab-pane> | 131 | </el-tab-pane> |
| 42 | <!--{"code":0,"data":{"paths":["22-29-30.mp4"],"rootPath":"/home/kkkkk/Documents/ZLMediaKit/release/linux/Debug/www/record/hls/kkkkk/2020-05-11/"}}--> | 132 | <!--{"code":0,"data":{"paths":["22-29-30.mp4"],"rootPath":"/home/kkkkk/Documents/ZLMediaKit/release/linux/Debug/www/record/hls/kkkkk/2020-05-11/"}}--> |
| @@ -117,27 +207,27 @@ | @@ -117,27 +207,27 @@ | ||
| 117 | 207 | ||
| 118 | <div class="control-panel"> | 208 | <div class="control-panel"> |
| 119 | <el-button-group> | 209 | <el-button-group> |
| 120 | - <el-tag style="position :absolute; left: 0rem; top: 0rem; width: 5rem; text-align: center" size="medium" type="info">预置位编号</el-tag> | 210 | + <el-tag style="position :absolute; left: 0rem; top: 0rem; width: 5rem; text-align: center" size="medium">预置位编号</el-tag> |
| 121 | <el-input-number style="position: absolute; left: 5rem; top: 0rem; width: 6rem" size="mini" v-model="presetPos" controls-position="right" :precision="0" :step="1" :min="1" :max="255"></el-input-number> | 211 | <el-input-number style="position: absolute; left: 5rem; top: 0rem; width: 6rem" size="mini" v-model="presetPos" controls-position="right" :precision="0" :step="1" :min="1" :max="255"></el-input-number> |
| 122 | <el-button style="position: absolute; left: 11rem; top: 0rem; width: 5rem" size="mini" icon="el-icon-add-location" @click="presetPosition(129, presetPos)">设置</el-button> | 212 | <el-button style="position: absolute; left: 11rem; top: 0rem; width: 5rem" size="mini" icon="el-icon-add-location" @click="presetPosition(129, presetPos)">设置</el-button> |
| 123 | <el-button style="position: absolute; left: 27rem; top: 0rem; width: 5rem" size="mini" type="primary" icon="el-icon-place" @click="presetPosition(130, presetPos)">调用</el-button> | 213 | <el-button style="position: absolute; left: 27rem; top: 0rem; width: 5rem" size="mini" type="primary" icon="el-icon-place" @click="presetPosition(130, presetPos)">调用</el-button> |
| 124 | <el-button style="position: absolute; left: 16rem; top: 0rem; width: 5rem" size="mini" icon="el-icon-delete-location" @click="presetPosition(131, presetPos)">删除</el-button> | 214 | <el-button style="position: absolute; left: 16rem; top: 0rem; width: 5rem" size="mini" icon="el-icon-delete-location" @click="presetPosition(131, presetPos)">删除</el-button> |
| 125 | - <el-tag style="position :absolute; left: 0rem; top: 2.5rem; width: 5rem; text-align: center" size="medium" type="info">巡航速度</el-tag> | 215 | + <el-tag style="position :absolute; left: 0rem; top: 2.5rem; width: 5rem; text-align: center" size="medium">巡航速度</el-tag> |
| 126 | <el-input-number style="position: absolute; left: 5rem; top: 2.5rem; width: 6rem" size="mini" v-model="cruisingSpeed" controls-position="right" :precision="0" :min="1" :max="4095"></el-input-number> | 216 | <el-input-number style="position: absolute; left: 5rem; top: 2.5rem; width: 6rem" size="mini" v-model="cruisingSpeed" controls-position="right" :precision="0" :min="1" :max="4095"></el-input-number> |
| 127 | <el-button style="position: absolute; left: 11rem; top: 2.5rem; width: 5rem" size="mini" icon="el-icon-loading" @click="setSpeedOrTime(134, cruisingGroup, cruisingSpeed)">设置</el-button> | 217 | <el-button style="position: absolute; left: 11rem; top: 2.5rem; width: 5rem" size="mini" icon="el-icon-loading" @click="setSpeedOrTime(134, cruisingGroup, cruisingSpeed)">设置</el-button> |
| 128 | - <el-tag style="position :absolute; left: 16rem; top: 2.5rem; width: 5rem; text-align: center" size="medium" type="info">停留时间</el-tag> | 218 | + <el-tag style="position :absolute; left: 16rem; top: 2.5rem; width: 5rem; text-align: center" size="medium">停留时间</el-tag> |
| 129 | <el-input-number style="position: absolute; left: 21rem; top: 2.5rem; width: 6rem" size="mini" v-model="cruisingTime" controls-position="right" :precision="0" :min="1" :max="4095"></el-input-number> | 219 | <el-input-number style="position: absolute; left: 21rem; top: 2.5rem; width: 6rem" size="mini" v-model="cruisingTime" controls-position="right" :precision="0" :min="1" :max="4095"></el-input-number> |
| 130 | <el-button style="position: absolute; left: 27rem; top: 2.5rem; width: 5rem" size="mini" icon="el-icon-timer" @click="setSpeedOrTime(135, cruisingGroup, cruisingTime)">设置</el-button> | 220 | <el-button style="position: absolute; left: 27rem; top: 2.5rem; width: 5rem" size="mini" icon="el-icon-timer" @click="setSpeedOrTime(135, cruisingGroup, cruisingTime)">设置</el-button> |
| 131 | - <el-tag style="position :absolute; left: 0rem; top: 4.5rem; width: 5rem; text-align: center" size="medium" type="info">巡航组编号</el-tag> | 221 | + <el-tag style="position :absolute; left: 0rem; top: 4.5rem; width: 5rem; text-align: center" size="medium">巡航组编号</el-tag> |
| 132 | <el-input-number style="position: absolute; left: 5rem; top: 4.5rem; width: 6rem" size="mini" v-model="cruisingGroup" controls-position="right" :precision="0" :min="0" :max="255"></el-input-number> | 222 | <el-input-number style="position: absolute; left: 5rem; top: 4.5rem; width: 6rem" size="mini" v-model="cruisingGroup" controls-position="right" :precision="0" :min="0" :max="255"></el-input-number> |
| 133 | <el-button style="position: absolute; left: 11rem; top: 4.5rem; width: 5rem" size="mini" icon="el-icon-add-location" @click="setCommand(132, cruisingGroup, presetPos)">添加点</el-button> | 223 | <el-button style="position: absolute; left: 11rem; top: 4.5rem; width: 5rem" size="mini" icon="el-icon-add-location" @click="setCommand(132, cruisingGroup, presetPos)">添加点</el-button> |
| 134 | <el-button style="position: absolute; left: 16rem; top: 4.5rem; width: 5rem" size="mini" icon="el-icon-delete-location" @click="setCommand(133, cruisingGroup, presetPos)">删除点</el-button> | 224 | <el-button style="position: absolute; left: 16rem; top: 4.5rem; width: 5rem" size="mini" icon="el-icon-delete-location" @click="setCommand(133, cruisingGroup, presetPos)">删除点</el-button> |
| 135 | <el-button style="position: absolute; left: 21rem; top: 4.5rem; width: 5rem" size="mini" icon="el-icon-delete" @click="setCommand(133, cruisingGroup, 0)">删除组</el-button> | 225 | <el-button style="position: absolute; left: 21rem; top: 4.5rem; width: 5rem" size="mini" icon="el-icon-delete" @click="setCommand(133, cruisingGroup, 0)">删除组</el-button> |
| 136 | <el-button style="position: absolute; left: 27rem; top: 5rem; width: 5rem" size="mini" type="primary" icon="el-icon-video-camera-solid" @click="setCommand(136, cruisingGroup, 0)">巡航</el-button> | 226 | <el-button style="position: absolute; left: 27rem; top: 5rem; width: 5rem" size="mini" type="primary" icon="el-icon-video-camera-solid" @click="setCommand(136, cruisingGroup, 0)">巡航</el-button> |
| 137 | - <el-tag style="position :absolute; left: 0rem; top: 7rem; width: 5rem; text-align: center" size="medium" type="info">扫描速度</el-tag> | 227 | + <el-tag style="position :absolute; left: 0rem; top: 7rem; width: 5rem; text-align: center" size="medium">扫描速度</el-tag> |
| 138 | <el-input-number style="position: absolute; left: 5rem; top: 7rem; width: 6rem" size="mini" v-model="scanSpeed" controls-position="right" :precision="0" :min="1" :max="4095"></el-input-number> | 228 | <el-input-number style="position: absolute; left: 5rem; top: 7rem; width: 6rem" size="mini" v-model="scanSpeed" controls-position="right" :precision="0" :min="1" :max="4095"></el-input-number> |
| 139 | <el-button style="position: absolute; left: 11rem; top: 7rem; width: 5rem" size="mini" icon="el-icon-loading" @click="setSpeedOrTime(138, scanGroup, scanSpeed)">设置</el-button> | 229 | <el-button style="position: absolute; left: 11rem; top: 7rem; width: 5rem" size="mini" icon="el-icon-loading" @click="setSpeedOrTime(138, scanGroup, scanSpeed)">设置</el-button> |
| 140 | - <el-tag style="position :absolute; left: 0rem; top: 9rem; width: 5rem; text-align: center" size="medium" type="info">扫描组编号</el-tag> | 230 | + <el-tag style="position :absolute; left: 0rem; top: 9rem; width: 5rem; text-align: center" size="medium">扫描组编号</el-tag> |
| 141 | <el-input-number style="position: absolute; left: 5rem; top: 9rem; width: 6rem" size="mini" v-model="scanGroup" controls-position="right" :precision="0" :step="1" :min="0" :max="255"></el-input-number> | 231 | <el-input-number style="position: absolute; left: 5rem; top: 9rem; width: 6rem" size="mini" v-model="scanGroup" controls-position="right" :precision="0" :step="1" :min="0" :max="255"></el-input-number> |
| 142 | <el-button style="position: absolute; left: 11rem; top: 9rem; width: 5rem" size="mini" icon="el-icon-d-arrow-left" @click="setCommand(137, scanGroup, 1)">左边界</el-button> | 232 | <el-button style="position: absolute; left: 11rem; top: 9rem; width: 5rem" size="mini" icon="el-icon-d-arrow-left" @click="setCommand(137, scanGroup, 1)">左边界</el-button> |
| 143 | <el-button style="position: absolute; left: 16rem; top: 9rem; width: 5rem" size="mini" icon="el-icon-d-arrow-right" @click="setCommand(137, scanGroup, 2)">右边界</el-button> | 233 | <el-button style="position: absolute; left: 16rem; top: 9rem; width: 5rem" size="mini" icon="el-icon-d-arrow-right" @click="setCommand(137, scanGroup, 2)">右边界</el-button> |
| @@ -174,6 +264,7 @@ | @@ -174,6 +264,7 @@ | ||
| 174 | </div> | 264 | </div> |
| 175 | 265 | ||
| 176 | </el-tab-pane> | 266 | </el-tab-pane> |
| 267 | + | ||
| 177 | </el-tabs> | 268 | </el-tabs> |
| 178 | </div> | 269 | </div> |
| 179 | </el-dialog> | 270 | </el-dialog> |
| @@ -244,6 +335,7 @@ export default { | @@ -244,6 +335,7 @@ export default { | ||
| 244 | seekTime: 0, | 335 | seekTime: 0, |
| 245 | recordStartTime: 0, | 336 | recordStartTime: 0, |
| 246 | showTimeText: "00:00:00", | 337 | showTimeText: "00:00:00", |
| 338 | + streamInfo: null, | ||
| 247 | }; | 339 | }; |
| 248 | }, | 340 | }, |
| 249 | methods: { | 341 | methods: { |
| @@ -306,6 +398,7 @@ export default { | @@ -306,6 +398,7 @@ export default { | ||
| 306 | console.log(val) | 398 | console.log(val) |
| 307 | }, | 399 | }, |
| 308 | play: function (streamInfo, hasAudio) { | 400 | play: function (streamInfo, hasAudio) { |
| 401 | + this.streamInfo = streamInfo; | ||
| 309 | this.hasAudio = hasAudio; | 402 | this.hasAudio = hasAudio; |
| 310 | this.isLoging = false; | 403 | this.isLoging = false; |
| 311 | // this.videoUrl = streamInfo.rtc; | 404 | // this.videoUrl = streamInfo.rtc; |
| @@ -646,6 +739,14 @@ export default { | @@ -646,6 +739,14 @@ export default { | ||
| 646 | console.log(resultArray) | 739 | console.log(resultArray) |
| 647 | return resultArray; | 740 | return resultArray; |
| 648 | }, | 741 | }, |
| 742 | + copyUrl: function (dropdownItem){ | ||
| 743 | + console.log(dropdownItem) | ||
| 744 | + this.$copyText(dropdownItem).then((e)=> { | ||
| 745 | + this.$message.success("成功拷贝到粘贴板"); | ||
| 746 | + }, (e)=> { | ||
| 747 | + | ||
| 748 | + }) | ||
| 749 | + }, | ||
| 649 | gbPlay(){ | 750 | gbPlay(){ |
| 650 | console.log('前端控制:播放'); | 751 | console.log('前端控制:播放'); |
| 651 | this.$axios({ | 752 | this.$axios({ |
| @@ -686,7 +787,8 @@ export default { | @@ -686,7 +787,8 @@ export default { | ||
| 686 | this.$refs.videoPlayer.play(this.videoUrl) | 787 | this.$refs.videoPlayer.play(this.videoUrl) |
| 687 | }, 600) | 788 | }, 600) |
| 688 | }); | 789 | }); |
| 689 | - } | 790 | + }, |
| 791 | + | ||
| 690 | 792 | ||
| 691 | } | 793 | } |
| 692 | }; | 794 | }; |