SkeyeVSS综合安防视频云服之监控录像回放下载功能实现

SkeyeVSS综合安防视频云服之监控录像回放下载功能实现

SkeyeVSS综合安防视频云服务通过接入SkeyeRMS录像服务器实现对系统里的摄像机等设备录像,通过配置录像模板,对所配置的录像时间段产生的视频数据进行存储,方便下载管理。1.判断当前设备是否有录像数据产生:如图:上面的图标表示设备已经配置了录像计划,点击图标加载对应设备的录像数据列表。2.展示录像列表(1)根据时间查询(开始与结束时间之间的录像数据)

代码语言:txt复制let startTime = moment(this.listQuery.date).format('YYYYMMDDT000000');代码语言:txt复制let endTime = moment(this.listQuery.date).format('YYYYMMDDT235959');(2)展示列表 如图:(包含设备名称、日期、时间、每段录像时长)

3.录像下载列表 (将过长的录像进行拆分)当一段录像数据的时长超过30分钟,数据就可能达到几百上千兆,将采用分段下载,这样可以减小单个录像数据体积,避免下载等待时间过长,将每段录像时长控制在30分钟以内,下载的等待时间稍短。

代码语言:txt复制let startTime = moment.duration(row.time.split('-')[0]).asMilliseconds()代码语言:txt复制let endTime = moment.duration(row.time.split('-')[1]).asMilliseconds()代码语言:txt复制let total = moment.duration(endTime - startTime).asMilliseconds()代码语言:txt复制let interval = 30 * 60 * 1000代码语言:txt复制let paragraph = Math.floor(total / interval)代码语言:txt复制let moreThan = total % interval代码语言:txt复制let arr = []代码语言:txt复制for (let i = 0; i < paragraph; i++) {代码语言:txt复制 arr.push({代码语言:txt复制 name: row.name,代码语言:txt复制 date: row.date,代码语言:txt复制 indexCode: row.indexCode,代码语言:txt复制 time: row.time,代码语言:txt复制 duration: moment.utc(interval).format('HH:mm:ss'),代码语言:txt复制 start: moment(Number(moment(row.date).format('x')) + startTime + i * interval).format('HH:mm:ss'),代码语言:txt复制 end: moment(Number(moment(row.date).format('x')) + startTime + i * interval + interval).format('HH:mm:ss'),代码语言:txt复制 startstamp: Number(moment(row.date).format('x')) + startTime + i * interval,代码语言:txt复制 endstamp: Number(moment(row.date).format('x')) + startTime + i * interval + interval,代码语言:txt复制 })代码语言:txt复制}代码语言:txt复制if (moreThan) {代码语言:txt复制 arr.push({代码语言:txt复制 name: row.name,代码语言:txt复制 date: row.date,代码语言:txt复制 indexCode: row.indexCode,代码语言:txt复制 time: row.time,代码语言:txt复制 duration: moment.utc(moreThan).format('HH:mm:ss'),代码语言:txt复制 start: moment(Number(moment(row.date).format('x')) + startTime + paragraph * interval).format('HH:mm:ss'),代码语言:txt复制 end: moment(Number(moment(row.date).format('x')) + startTime + paragraph * interval + moreThan).format('HH:mm:ss'),代码语言:txt复制 startstamp: Number(moment(row.date).format('x')) + startTime + paragraph * interval,代码语言:txt复制 endstamp: Number(moment(row.date).format('x')) + startTime + paragraph * interval + moreThan,代码语言:txt复制 })代码语言:txt复制}4.录像下载通过传入下载对应参数 (名称、开始时间、结束时间)

代码语言:txt复制let url = `${location.protocol}//${serverIp}:${serverPort}/DownloadRecord_${row.name}_${startTime}.ts?indexCode=${row.indexCode}&startTime=${startTime}&endTime=${endTime}`代码语言:txt复制downloadFile(url, name) {代码语言:txt复制 //创建下载代码语言:txt复制 const doma = document.createElement('a');代码语言:txt复制 document.body.append(doma)代码语言:txt复制 doma.href = url;代码语言:txt复制 doma.download = name代码语言:txt复制 doma.rel = 'noopener noreferrer'代码语言:txt复制 doma.click();代码语言:txt复制 document.body.removeChild(doma)代码语言:txt复制},

更多尼泊尔内容

【痴汉】是什么意思
365体育推荐

【痴汉】是什么意思

🗓️ 09-21 👁️ 8257
有哪些微课平台_平台汇总_精选推荐!
365体育推荐

有哪些微课平台_平台汇总_精选推荐!

🗓️ 01-24 👁️ 3957
万卡借款审核中要多久
365体育亚洲官方登录

万卡借款审核中要多久

🗓️ 01-12 👁️ 4928
量筒的使用方法和注意事项(化学常见的基本实验操作)
提取音频中的人声: 简明指南
365体育亚洲官方登录

提取音频中的人声: 简明指南

🗓️ 01-02 👁️ 7640
了解黑钢材料:差异、优势和应用
365体育亚洲官方登录

了解黑钢材料:差异、优势和应用

🗓️ 01-24 👁️ 8640
信息化教学工具有哪些?
365体育推荐

信息化教学工具有哪些?

🗓️ 07-07 👁️ 9743
ipadmini内屏
365体育亚洲官方登录

ipadmini内屏

🗓️ 02-16 👁️ 9008
扫码进店、拿东西就走……最近大火的无人零售是噱头还是“风口”?