Commit bfb3b4ea13dcfd360c313375d03658dfc82e19ef

Authored by 648540858
1 parent 9a80e10f

播放页面显示所有流地址

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 };