diff --git a/web/src/views/cloudRecord/detail.vue b/web/src/views/cloudRecord/detail.vue
index d593d71c4..56c511e85 100755
--- a/web/src/views/cloudRecord/detail.vue
+++ b/web/src/views/cloudRecord/detail.vue
@@ -57,12 +57,15 @@
{{showPlayTimeValue}}
-
-
+
+
+ {{showPlayTimeTitle}}
+
@@ -196,6 +199,17 @@ export default {
},
playTimeTotal() {
return { left: `calc(${this.playerTime/this.streamInfo.duration * 100}% - 6px)` }
+ },
+ playTimeTitleStyle() {
+ return { left: (this.showTimeLeft - 16) + 'px' }
+ },
+ showPlayTimeTitle() {
+ if (this.showTimeLeft) {
+ let time = this.showTimeLeft / this.$refs.timeProcess.clientWidth * this.streamInfo.duration
+ return moment(time).format('mm:ss')
+ }else {
+ return ''
+ }
}
},
created() {
@@ -216,7 +230,7 @@ export default {
},
methods: {
timeProcessMouseup(event) {
-
+ this.isMousedown = false
},
timeProcessMousemove(event) {
@@ -389,13 +403,13 @@ export default {
cloudRecordId: this.detailFiles[this.chooseFileIndex].id
})
.then(data => {
+ this.playerTime = 0
this.streamInfo = data
if (location.protocol === 'https:') {
this.videoUrl = data['wss_flv']
} else {
this.videoUrl = data['ws_flv']
}
- this.playerTime = 0
})
.catch((error) => {
console.log(error)
@@ -444,76 +458,11 @@ export default {
},
showPlayTimeChange(val) {
- this.playTime += (val * 1000 - this.playerTime)
- this.playerTime = val * 1000
+ this.playerTime += val * 1000
},
playingChange(val) {
this.playing = val
},
- playTimeChange(val) {
- if (val === this.playTime) {
- return
- }
- this.playTime = val
- },
- timelineMouseDown() {
- this.timelineControl = true
- },
- mouseupTimeline(event) {
- if (!this.timelineControl) {
- this.timelineControl = false
- return
- }
- this.timelineControl = false
- let timeLength = 0
- for (let i = 0; i < this.detailFiles.length; i++) {
- const item = this.detailFiles[i]
- if (this.playTime > item.endTime) {
- timeLength += item.timeLen
- } else if (this.playTime === item.endTime) {
- timeLength += item.timeLen
- this.chooseFileIndex = i
- break
- } else if (this.playTime > item.startTime && this.playTime < item.endTime) {
- timeLength += (this.playTime - item.startTime)
- this.chooseFileIndex = i
- break
- }
- }
- this.playSeekValue = timeLength
- this.playRecord()
- },
- getTimeForFile(file) {
- const starTime = new Date(file.startTime * 1000)
- let endTime = new Date(file.endTime * 1000)
- if (this.checkIsOver24h(starTime, endTime)) {
- endTime = new Date(this.chooseDate + ' ' + '23:59:59')
- }
- return [starTime, endTime, endTime.getTime() - starTime.getTime()]
- },
- checkIsOver24h(starTime, endTime) {
- return starTime > endTime
- },
- playTimeFormat(val) {
- const h = parseInt(val / 3600)
- const m = parseInt((val - h * 3600) / 60)
- const s = parseInt(val - h * 3600 - m * 60)
-
- let hStr = h
- let mStr = m
- let sStr = s
- if (h < 10) {
- hStr = '0' + hStr
- }
- if (m < 10) {
- mStr = '0' + mStr
- s
- }
- if (s < 10) {
- sStr = '0' + sStr
- }
- return hStr + ':' + mStr + ':' + sStr
- },
getDateInYear(callback) {
this.dateFilesObj = {}
this.$store.dispatch('cloudRecord/queryListByData', {
@@ -642,4 +591,12 @@ export default {
position: relative;
top: -9px;
}
+.cloud-record-time-process-title {
+ width: 40px;
+ text-align: center;
+ position: relative;
+ top: -45px;
+ color: rgb(192 190 190);
+ font-size: 14px;
+}
diff --git a/web/src/views/common/h265web.vue b/web/src/views/common/h265web.vue
index ad7f8fdc9..84165ec36 100644
--- a/web/src/views/common/h265web.vue
+++ b/web/src/views/common/h265web.vue
@@ -167,7 +167,10 @@ export default {
this.mediaInfo = h265web.mediaInfo()
}
h265web.onPlayTime = (videoPTS) => {
- this.$emit('playTimeChange', videoPTS)
+ if (h265web.videoPTS) {
+ this.$emit('playTimeChange', videoPTS - h265web.videoPTS)
+ }
+ h265web.videoPTS = videoPTS
}
h265web.do()
},
@@ -256,9 +259,6 @@ export default {
},
setPlaybackRate: function(speed) {
h265webPlayer[this._uid].setPlaybackRate(speed)
- },
- playNextFrame: function() {
- h265webPlayer[this._uid].do()
}
}
}