| | |
| | | </div> |
| | | </el-tab-pane> |
| | | <!--{"code":0,"data":{"paths":["22-29-30.mp4"],"rootPath":"/home/kkkkk/Documents/ZLMediaKit/release/linux/Debug/www/record/hls/kkkkk/2020-05-11/"}}--> |
| | | <el-tab-pane label="录像查询" name="record" v-if="showRrecord"> |
| | | <el-tab-pane label="录像查询" name="record" v-if="showRrecord"> |
| | | <el-date-picker size="mini" v-model="videoHistory.date" type="date" value-format="yyyy-MM-dd" placeholder="日期" @change="queryRecords()"></el-date-picker> |
| | | <el-table :data="videoHistory.searchHistoryResult" height="150" v-loading="recordsLoading"> |
| | | <el-table-column label="名称" prop="name"></el-table-column> |
| | |
| | | <el-slider v-model="controSpeed" :max="255"></el-slider> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <div class="control-panel"> |
| | | <el-button-group> |
| | | <el-tag style="position :absolute; left: 0rem; top: 0rem; width: 5rem; text-align: center" size="medium" type="info">预置位编号</el-tag> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import player from '../dialog/player.vue' |
| | | // import player from '../dialog/rtcPlayer.vue' |
| | | import player from '../dialog/easyPlayer.vue' |
| | | export default { |
| | | name: 'devicePlayer', |
| | | props: {}, |
| | |
| | | }, |
| | | showVideoDialog: false, |
| | | streamId: '', |
| | | app : '', |
| | | convertKey: '', |
| | | deviceId: '', |
| | | channelId: '', |
| | |
| | | if (tab.name == "codec") { |
| | | this.$axios({ |
| | | method: 'get', |
| | | url: '/zlm/index/api/getMediaInfo?vhost=__defaultVhost__&schema=rtmp&app=rtp&stream='+ this.streamId |
| | | url: '/zlm/index/api/getMediaInfo?vhost=__defaultVhost__&schema=rtmp&app='+ this.app +'&stream='+ this.streamId |
| | | }).then(function (res) { |
| | | that.tracksLoading = false; |
| | | if (res.data.code == 0 && res.data.online) { |
| | |
| | | this.channelId = channelId; |
| | | this.deviceId = deviceId; |
| | | this.streamId = ""; |
| | | this.app = ""; |
| | | this.videoUrl = "" |
| | | if (!!this.$refs.videoPlayer) { |
| | | this.$refs.videoPlayer.pause(); |
| | |
| | | break; |
| | | case "record": |
| | | this.showVideoDialog = true; |
| | | |
| | | this.videoHistory.date = param.date; |
| | | this.queryRecords() |
| | | break; |
| | | case "streamPlay": |
| | | this.tabActiveName = "media"; |
| | | this.showRrecord = false, |
| | | this.showPtz = false, |
| | | this.play(param.streamInfo, param.hasAudio) |
| | |
| | | |
| | | this.hasaudio = hasAudio; |
| | | this.isLoging = false; |
| | | // this.videoUrl = streamInfo.rtc; |
| | | this.videoUrl = streamInfo.ws_flv; |
| | | this.streamId = streamInfo.streamId; |
| | | this.app = streamInfo.app; |
| | | this.playFromStreamInfo(false, streamInfo) |
| | | }, |
| | | coverPlay: function () { |
| | |
| | | this.$refs.videoPlayer.pause() |
| | | that.$axios({ |
| | | method: 'post', |
| | | url: '/api/play/' + that.streamId + '/convert' |
| | | url: '/api/play/convert/' + that.streamId |
| | | }).then(function (res) { |
| | | if (res.data.code == 0) { |
| | | that.convertKey = res.data.key; |
| | |
| | | that.$refs.videoPlayer.pause() |
| | | this.$axios({ |
| | | method: 'post', |
| | | url: '/api/play/convert/stop/' + this.convertKey |
| | | url: '/api/play/convertStop/' + this.convertKey |
| | | }).then(function (res) { |
| | | if (res.data.code == 0) { |
| | | console.log(res.data.msg) |
| | |
| | | var endTime = this.videoHistory.date + " 23:59:59"; |
| | | this.$axios({ |
| | | method: 'get', |
| | | url: '/api/record/' + this.deviceId + '/' + this.channelId + '?startTime=' + startTime + '&endTime=' + endTime |
| | | url: '/api/gb_record/query/' + this.deviceId + '/' + this.channelId + '?startTime=' + startTime + '&endTime=' + endTime |
| | | }).then(function (res) { |
| | | // 处理时间信息 |
| | | that.videoHistory.searchHistoryResult = res.data.recordList; |
| | |
| | | } else { |
| | | this.$axios({ |
| | | method: 'get', |
| | | url: '/api/playback/' + this.deviceId + '/' + this.channelId + '?startTime=' + row.startTime + '&endTime=' + |
| | | url: '/api/playback/start/' + this.deviceId + '/' + this.channelId + '?startTime=' + row.startTime + '&endTime=' + |
| | | row.endTime |
| | | }).then(function (res) { |
| | | var streamInfo = res.data; |
| | |
| | | this.videoUrl = ''; |
| | | this.$axios({ |
| | | method: 'get', |
| | | url: '/api/playback/' + this.streamId + '/stop' |
| | | url: '/api/playback/stop/' + this.streamId |
| | | }).then(function (res) { |
| | | if (callback) callback() |
| | | }); |
| | |
| | | method: 'post', |
| | | // url: '/api/ptz/' + this.deviceId + '/' + this.channelId + '?leftRight=' + leftRight + '&upDown=' + upDown + |
| | | // '&inOut=' + zoom + '&moveSpeed=50&zoomSpeed=50' |
| | | url: '/api/ptz/' + this.deviceId + '/' + this.channelId + '?cmdCode=' + (zoom * 16 + upDown * 4 + leftRight) + '&horizonSpeed=' + this.controSpeed + '&verticalSpeed=' + this.controSpeed + '&zoomSpeed=' + this.controSpeed |
| | | url: '/api/ptz/control/' + this.deviceId + '/' + this.channelId + '?cmdCode=' + (zoom * 16 + upDown * 4 + leftRight) + '&horizonSpeed=' + this.controSpeed + '&verticalSpeed=' + this.controSpeed + '&zoomSpeed=' + this.controSpeed |
| | | }).then(function (res) {}); |
| | | }, |
| | | //////////////////////播放器事件处理////////////////////////// |
| | |
| | | let that = this; |
| | | this.$axios({ |
| | | method: 'post', |
| | | url: '/api/frontEndCommand/' + this.deviceId + '/' + this.channelId + '?cmdCode=' + cmdCode + '¶meter1=0¶meter2=' + presetPos + '&combindCode2=0' |
| | | url: '/api/ptz/front_end_command/' + this.deviceId + '/' + this.channelId + '?cmdCode=' + cmdCode + '¶meter1=0¶meter2=' + presetPos + '&combindCode2=0' |
| | | }).then(function (res) {}); |
| | | }, |
| | | setSpeedOrTime: function (cmdCode, groupNum, parameter) { |
| | |
| | | console.log('前端控制:0x' + cmdCode.toString(16) + ' 0x' + groupNum.toString(16) + ' 0x' + parameter2.toString(16) + ' 0x' + combindCode2.toString(16)); |
| | | this.$axios({ |
| | | method: 'post', |
| | | url: '/api/frontEndCommand/' + this.deviceId + '/' + this.channelId + '?cmdCode=' + cmdCode + '¶meter1=' + groupNum + '¶meter2=' + parameter2 + '&combindCode2=' + combindCode2 |
| | | url: '/api/ptz/front_end_command/' + this.deviceId + '/' + this.channelId + '?cmdCode=' + cmdCode + '¶meter1=' + groupNum + '¶meter2=' + parameter2 + '&combindCode2=' + combindCode2 |
| | | }).then(function (res) {}); |
| | | }, |
| | | setCommand: function (cmdCode, groupNum, parameter) { |
| | |
| | | console.log('前端控制:0x' + cmdCode.toString(16) + ' 0x' + groupNum.toString(16) + ' 0x' + parameter.toString(16) + ' 0x0'); |
| | | this.$axios({ |
| | | method: 'post', |
| | | url: '/api/frontEndCommand/' + this.deviceId + '/' + this.channelId + '?cmdCode=' + cmdCode + '¶meter1=' + groupNum + '¶meter2=' + parameter + '&combindCode2=0' |
| | | url: '/api/ptz/front_end_command/' + this.deviceId + '/' + this.channelId + '?cmdCode=' + cmdCode + '¶meter1=' + groupNum + '¶meter2=' + parameter + '&combindCode2=0' |
| | | }).then(function (res) {}); |
| | | }, |
| | | formatTooltip: function (val) { |