@vtx/player 1.0.12 → 1.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/fetch.js +75 -51
- package/lib/api/fetch.js.map +1 -1
- package/lib/api/index.js +62 -18
- package/lib/api/index.js.map +1 -1
- package/lib/api/types.d.ts +5 -5
- package/lib/bill-player/index.js +111 -59
- package/lib/bill-player/index.js.map +1 -1
- package/lib/bill-player/style/css.js +9 -0
- package/lib/bill-player/style/css.js.map +1 -1
- package/lib/bill-player/style/index.css +0 -3
- package/lib/bill-player/style/index.js +9 -0
- package/lib/bill-player/style/index.js.map +1 -1
- package/lib/bill-player/style/index.less +0 -1
- package/lib/components/set-tag-video/index.js +34 -6
- package/lib/components/set-tag-video/index.js.map +1 -1
- package/lib/components/set-tag-video/style/css.js.map +1 -1
- package/lib/components/set-tag-video/style/index.js.map +1 -1
- package/lib/components/split-screen/index.d.ts +1 -1
- package/lib/components/split-screen/index.js +14 -3
- package/lib/components/split-screen/index.js.map +1 -1
- package/lib/components/split-screen/style/css.js.map +1 -1
- package/lib/components/split-screen/style/index.js.map +1 -1
- package/lib/components/tag-video/index.js +38 -10
- package/lib/components/tag-video/index.js.map +1 -1
- package/lib/components/tag-video/style/css.js.map +1 -1
- package/lib/components/tag-video/style/index.js.map +1 -1
- package/lib/components/video-scale/index.d.ts +1 -1
- package/lib/components/video-scale/index.js +9 -2
- package/lib/components/video-scale/index.js.map +1 -1
- package/lib/components/video-scale/style/css.js.map +1 -1
- package/lib/components/video-scale/style/index.js.map +1 -1
- package/lib/context/index.js +4 -0
- package/lib/context/index.js.map +1 -1
- package/lib/controls/index.d.ts +3 -3
- package/lib/controls/index.js +97 -33
- package/lib/controls/index.js.map +1 -1
- package/lib/controls/style/css.js +5 -0
- package/lib/controls/style/css.js.map +1 -1
- package/lib/controls/style/index.js +5 -0
- package/lib/controls/style/index.js.map +1 -1
- package/lib/history-control/index.d.ts +2 -2
- package/lib/history-control/index.js +114 -57
- package/lib/history-control/index.js.map +1 -1
- package/lib/history-control/style/css.js +6 -0
- package/lib/history-control/style/css.js.map +1 -1
- package/lib/history-control/style/index.js +6 -0
- package/lib/history-control/style/index.js.map +1 -1
- package/lib/history-control-v2/components/grid-item/index.d.ts +2 -0
- package/lib/history-control-v2/components/grid-item/index.js +72 -32
- package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
- package/lib/history-control-v2/components/panel/index.js +111 -38
- package/lib/history-control-v2/components/panel/index.js.map +1 -1
- package/lib/history-control-v2/context.js +2 -0
- package/lib/history-control-v2/context.js.map +1 -1
- package/lib/history-control-v2/index.d.ts +4 -4
- package/lib/history-control-v2/index.js +170 -97
- package/lib/history-control-v2/index.js.map +1 -1
- package/lib/history-control-v2/interface.d.ts +2 -0
- package/lib/history-control-v2/style/css.js +10 -0
- package/lib/history-control-v2/style/css.js.map +1 -1
- package/lib/history-control-v2/style/index.js +10 -0
- package/lib/history-control-v2/style/index.js.map +1 -1
- package/lib/history-control-v2/utils.js +21 -1
- package/lib/history-control-v2/utils.js.map +1 -1
- package/lib/history-player/index.d.ts +1 -1
- package/lib/history-player/index.js +118 -73
- package/lib/history-player/index.js.map +1 -1
- package/lib/history-player/style/css.js +3 -0
- package/lib/history-player/style/css.js.map +1 -1
- package/lib/history-player/style/index.js +3 -0
- package/lib/history-player/style/index.js.map +1 -1
- package/lib/hooks/useSettings.js +6 -1
- package/lib/hooks/useSettings.js.map +1 -1
- package/lib/icons/index.js +171 -23
- package/lib/icons/index.js.map +1 -1
- package/lib/index.js +10 -0
- package/lib/index.js.map +1 -1
- package/lib/live-channel-player/index.js +67 -31
- package/lib/live-channel-player/index.js.map +1 -1
- package/lib/live-channel-player/style/css.js +1 -0
- package/lib/live-channel-player/style/css.js.map +1 -1
- package/lib/live-channel-player/style/index.js +1 -0
- package/lib/live-channel-player/style/index.js.map +1 -1
- package/lib/live-control/index.d.ts +2 -2
- package/lib/live-control/index.js +83 -32
- package/lib/live-control/index.js.map +1 -1
- package/lib/live-control/style/css.js +4 -0
- package/lib/live-control/style/css.js.map +1 -1
- package/lib/live-control/style/index.js +4 -0
- package/lib/live-control/style/index.js.map +1 -1
- package/lib/live-control-v2/index.d.ts +3 -3
- package/lib/live-control-v2/index.js +125 -53
- package/lib/live-control-v2/index.js.map +1 -1
- package/lib/live-control-v2/style/css.js +7 -0
- package/lib/live-control-v2/style/css.js.map +1 -1
- package/lib/live-control-v2/style/index.js +7 -0
- package/lib/live-control-v2/style/index.js.map +1 -1
- package/lib/live-player/index.js +56 -32
- package/lib/live-player/index.js.map +1 -1
- package/lib/live-player/style/css.js +2 -0
- package/lib/live-player/style/css.js.map +1 -1
- package/lib/live-player/style/index.js +2 -0
- package/lib/live-player/style/index.js.map +1 -1
- package/lib/player/index.d.ts +1 -1
- package/lib/player/index.js +122 -43
- package/lib/player/index.js.map +1 -1
- package/lib/utils/index.d.ts +2 -3
- package/lib/utils/index.js +98 -26
- package/lib/utils/index.js.map +1 -1
- package/package.json +1 -1
package/lib/player/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_utils","require","_flv","_interopRequireDefault","_hls","_moment","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","_regeneratorRuntime","exports","Op","Object","hasOwn","hasOwnProperty","defineProperty","key","desc","value","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_toPrimitive","String","input","hint","prim","toPrimitive","res","Number","__awaiter","thisArg","_arguments","P","adopt","fulfilled","step","e","rejected","apply","Player","params","player","preSpeed","url","_params$enableAgent","enableAgent","container","_params$live","live","startTime","endTime","playerParams","getPlayerParams","video","document","createElement","className","muted","FlvJs","isSupported","appendChild","createPlayer","isLive","attachMediaElement","load","Hls","loadSource","attachMedia","window","JSPlugin","szId","id","szBasePath","iMaxSplit","iCurrentSplit","wrapDiv","getElementById","getElementsByTagName","play","JS_Play","playURL","mode","playBack","getHKTimeString","destroy","remove","JS_Stop","capture","captureName","arguments","callback","time","concat","moment","format","JS_CapturePicture","Capture","resize","JS_Resize","setVolume","volume","JS_SetVolume","setSpeed","speed","JS_Slow","JS_Fast","playbackRate","onTimeUpdate","_this","_a","addEventListener","currentTime","seekTime","diff","JS_SetWindowControlCallback","StreamEnd","seekTo","_callee","_callee$","_context","add","JS_Seek","pause","JS_Pause","resume","JS_Resume","startTalk","JS_StartTalk","stopTalk","JS_StopTalk","canvas","width","videoWidth","height","videoHeight","getContext","drawImage","dataURL","toBlob","blob","URL","createObjectURL","_default"],"sources":["player/index.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { getHKTimeString, getPlayerParams } from '../utils';\nimport FlvJs from 'flv.js';\nimport Hls from 'hls.js';\nimport moment from 'moment';\n/**\n * 视频播放核心类\n */\nclass Player {\n constructor(params) {\n this.player = null;\n /** 之前的视频播放速度,用于处理海康音量控制 */\n this.preSpeed = 1;\n /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */\n const { url, enableAgent = false, container, live = true, type, startTime, endTime, } = params;\n const playerParams = getPlayerParams(url, enableAgent, live, startTime, endTime);\n this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值\n this.url = playerParams.url;\n this.enableAgent = enableAgent;\n this.startTime = startTime;\n this.endTime = endTime;\n const video = document.createElement('video'); // 生成video元素\n video.className = 'vtx-player-video';\n video.muted = true; //设置静音\n this.video = video;\n if (this.type === 'flv' && FlvJs.isSupported() && video) {\n container.appendChild(video);\n this.player = FlvJs.createPlayer({\n type: 'flv',\n isLive: live,\n url: this.url,\n });\n this.player.attachMediaElement(this.video);\n this.player.load();\n }\n // 处理hls格式视频\n if (this.type === 'hls' && Hls.isSupported() && video) {\n container.appendChild(video);\n this.player = new Hls();\n this.player.loadSource(this.url);\n this.player.attachMedia(this.video);\n }\n // 处理海康视频\n if (this.type === 'hk_ws') {\n this.player = new window.JSPlugin({\n szId: container.id,\n szBasePath: './resources/',\n iMaxSplit: 1,\n iCurrentSplit: 1,\n });\n const wrapDiv = document.getElementById(container.id);\n this.video = wrapDiv.getElementsByTagName('video')[0];\n }\n }\n /** 播放 */\n play() {\n if (this.type === 'flv') {\n const player = this.player;\n return player.play();\n }\n if (this.type === 'hls') {\n return this.video.play();\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: 0 }, 0);\n return result;\n }\n return Promise.resolve();\n }\n /** 回放 */\n playBack() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: 0 }, 1, getHKTimeString(this.startTime), getHKTimeString(this.endTime));\n return result;\n }\n else {\n return this.play();\n }\n }\n /** 销毁 */\n destroy() {\n if (this.type === 'flv') {\n const player = this.player;\n player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'hls') {\n const player = this.player;\n player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Stop(1);\n }\n }\n /** 截图 */\n capture(captureName = '视频截图', callback = null, time = true) {\n let name = captureName;\n if (time)\n name += `-${moment().format('YYYYMMDDHHmmss')}`;\n if (this.type === 'hk_ws') {\n const player = this.player;\n if (player)\n player.JS_CapturePicture(1, name, 'JPEG', (res) => {\n callback && callback(res);\n });\n }\n else {\n Capture(this.video, name, callback);\n }\n }\n /** 尺寸重置 */\n resize() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Resize();\n }\n }\n /**\n * 设置音量\n * @param value\n */\n setVolume(value) {\n if (this.type === 'flv') {\n const player = this.player;\n player.volume = value / 100;\n }\n if (this.type === 'hls') {\n this.video.volume = value / 100;\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_SetVolume(1, value);\n }\n }\n /**\n * 设置播放速度\n * @param speed\n */\n setSpeed(speed) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n if (this.preSpeed / speed === 2) {\n player.JS_Slow(1);\n }\n if (this.preSpeed / speed === 4) {\n player.JS_Slow(1).then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 8) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 16) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (speed / this.preSpeed === 2) {\n player.JS_Fast(1);\n }\n if (speed / this.preSpeed === 4) {\n player.JS_Fast(1).then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 8) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 16) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n this.preSpeed = speed;\n }\n else {\n this.video.playbackRate = speed;\n }\n }\n /**\n * 时间更新事件\n * @param callback 回调函数\n */\n onTimeUpdate(callback) {\n var _a;\n this.video.addEventListener('timeupdate', () => {\n let currentTime = this.video.currentTime;\n if (this.type === 'hk_ws' && this.seekTime) {\n currentTime = currentTime + this.seekTime.diff(this.startTime, 'seconds');\n }\n callback(currentTime, this.type === 'hk_ws' ? this.preSpeed : this.video.playbackRate);\n });\n // 增加hw_ws 流播放结束回调\n const player = this.player;\n (_a = player === null || player === void 0 ? void 0 : player.JS_SetWindowControlCallback) === null || _a === void 0 ? void 0 : _a.call(player, {\n StreamEnd: () => {\n callback(moment(this.endTime).diff(this.startTime, 'seconds'), this.preSpeed);\n },\n });\n }\n /** 跳转到 */\n seekTo(time) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n if (this.type === 'hk_ws') {\n const player = this.player;\n const seekTime = (_a = moment(this.startTime)) === null || _a === void 0 ? void 0 : _a.add(time, 'seconds');\n yield player.JS_Seek(1, getHKTimeString(seekTime), getHKTimeString(this.endTime));\n this.seekTime = seekTime;\n }\n else {\n this.video.currentTime = time;\n return Promise.resolve();\n }\n });\n }\n /**\n * 暂停播放\n * @param callback 回调函数\n */\n pause(callback) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Pause(1).then(() => callback && callback());\n }\n else {\n this.video.pause();\n callback && callback();\n }\n }\n /**\n * 恢复播放\n * @param callback 回调函数\n */\n resume(callback) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Resume(1).then(() => callback && callback());\n }\n else {\n this.video.play();\n callback && callback();\n }\n }\n /**\n * 开始对讲\n * @param url 对讲地址\n */\n startTalk(url) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n return player.JS_StartTalk(url);\n }\n return Promise.reject();\n }\n /**\n * 开始对讲\n * @param state 状态\n */\n stopTalk() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n return player.JS_StopTalk();\n }\n return Promise.reject();\n }\n}\n/**\n * 截图\n * @param video\n */\nconst Capture = (video, name, callback) => {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n const context = canvas.getContext('2d');\n if (context) {\n context.drawImage(video, 0, 0, canvas.width, canvas.height);\n let dataURL;\n canvas.toBlob((blob) => {\n if (blob) {\n dataURL = URL.createObjectURL(blob);\n // const link = document.createElement('a');\n callback && callback(dataURL);\n // link.href = dataURL;\n // link.download = `${name}.png`;\n // link.style.display = 'none';\n // document.body.appendChild(link);\n // link.click();\n // document.body.removeChild(link);\n // URL.revokeObjectURL(dataURL);\n }\n });\n }\n};\nexport default Player;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","Player","params","player","preSpeed","url","enableAgent","container","live","type","startTime","endTime","playerParams","getPlayerParams","video","document","createElement","className","muted","FlvJs","isSupported","appendChild","createPlayer","isLive","attachMediaElement","load","Hls","loadSource","attachMedia","window","JSPlugin","szId","id","szBasePath","iMaxSplit","iCurrentSplit","wrapDiv","getElementById","getElementsByTagName","console","log","play","JS_Play","playURL","mode","getHKTimeString","destroy","remove","JS_Stop","captureName","callback","time","name","moment","format","JS_CapturePicture","res","Capture","JS_Resize","volume","JS_SetVolume","speed","JS_Slow","JS_Fast","playbackRate","_a","addEventListener","currentTime","seekTime","diff","JS_SetWindowControlCallback","call","StreamEnd","add","JS_Seek","JS_Pause","pause","JS_Resume","JS_StartTalk","JS_StopTalk","canvas","width","videoWidth","height","videoHeight","context","getContext","drawImage","dataURL","toBlob","blob","URL","createObjectURL"],"sources":["player/index.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { getHKTimeString, getPlayerParams } from '../utils';\nimport FlvJs from 'flv.js';\nimport Hls from 'hls.js';\nimport moment from 'moment';\n/**\n * 视频播放核心类\n */\nclass Player {\n constructor(params) {\n this.player = null;\n /** 之前的视频播放速度,用于处理海康音量控制 */\n this.preSpeed = 1;\n /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */\n const { url, enableAgent = false, container, live = true, type, startTime, endTime, } = params;\n const playerParams = getPlayerParams(url, enableAgent, live);\n this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值\n this.url = playerParams.url;\n this.enableAgent = enableAgent;\n this.startTime = startTime;\n this.endTime = endTime;\n const video = document.createElement('video'); // 生成video元素\n video.className = 'vtx-player-video';\n video.muted = true; //设置静音\n this.video = video;\n if (this.type === 'flv' && FlvJs.isSupported() && video) {\n container.appendChild(video);\n this.player = FlvJs.createPlayer({\n type: 'flv',\n isLive: live,\n url: this.url,\n });\n this.player.attachMediaElement(this.video);\n this.player.load();\n }\n // 处理hls格式视频\n if (this.type === 'hls' && Hls.isSupported() && video) {\n container.appendChild(video);\n this.player = new Hls();\n this.player.loadSource(this.url);\n this.player.attachMedia(this.video);\n }\n // 处理海康视频\n if (this.type === 'hk_ws') {\n this.player = new window.JSPlugin({\n szId: container.id,\n szBasePath: './resources/',\n iMaxSplit: 1,\n iCurrentSplit: 1,\n });\n const wrapDiv = document.getElementById(container.id);\n this.video = wrapDiv.getElementsByTagName('video')[0];\n }\n }\n /** 播放 */\n play() {\n console.log(this.url, this.type);\n if (this.type === 'flv') {\n const player = this.player;\n return player.play();\n }\n if (this.type === 'hls') {\n return this.video.play();\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: 0 }, 0);\n return result;\n }\n return Promise.resolve();\n }\n /** 回放 */\n playBack() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: 0 }, 1, getHKTimeString(this.startTime), getHKTimeString(this.endTime));\n return result;\n }\n else {\n return this.play();\n }\n }\n /** 销毁 */\n destroy() {\n if (this.type === 'flv') {\n const player = this.player;\n player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'hls') {\n const player = this.player;\n player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Stop(1);\n }\n }\n /** 截图 */\n capture(captureName = '视频截图', callback = null, time = true) {\n let name = captureName;\n if (time)\n name += `-${moment().format('YYYYMMDDHHmmss')}`;\n if (this.type === 'hk_ws') {\n const player = this.player;\n if (player)\n player.JS_CapturePicture(1, name, 'JPEG', (res) => {\n callback && callback(res);\n });\n }\n else {\n Capture(this.video, name, callback);\n }\n }\n /** 尺寸重置 */\n resize() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Resize();\n }\n }\n /**\n * 设置音量\n * @param value\n */\n setVolume(value) {\n if (this.type === 'flv') {\n const player = this.player;\n player.volume = value / 100;\n }\n if (this.type === 'hls') {\n this.video.volume = value / 100;\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_SetVolume(1, value);\n }\n }\n /**\n * 设置播放速度\n * @param speed\n */\n setSpeed(speed) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n if (this.preSpeed / speed === 2) {\n player.JS_Slow(1);\n }\n if (this.preSpeed / speed === 4) {\n player.JS_Slow(1).then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 8) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 16) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (speed / this.preSpeed === 2) {\n player.JS_Fast(1);\n }\n if (speed / this.preSpeed === 4) {\n player.JS_Fast(1).then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 8) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 16) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n this.preSpeed = speed;\n }\n else {\n this.video.playbackRate = speed;\n }\n }\n /**\n * 时间更新事件\n * @param callback 回调函数\n */\n onTimeUpdate(callback) {\n var _a;\n this.video.addEventListener('timeupdate', () => {\n let currentTime = this.video.currentTime;\n if (this.type === 'hk_ws' && this.seekTime) {\n currentTime = currentTime + this.seekTime.diff(this.startTime, 'seconds');\n }\n callback(currentTime, this.type === 'hk_ws' ? this.preSpeed : this.video.playbackRate);\n });\n // 增加hw_ws 流播放结束回调\n const player = this.player;\n (_a = player === null || player === void 0 ? void 0 : player.JS_SetWindowControlCallback) === null || _a === void 0 ? void 0 : _a.call(player, {\n StreamEnd: () => {\n callback(moment(this.endTime).diff(this.startTime, 'seconds'), this.preSpeed);\n },\n });\n }\n /** 跳转到 */\n seekTo(time) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n if (this.type === 'hk_ws') {\n const player = this.player;\n const seekTime = (_a = moment(this.startTime)) === null || _a === void 0 ? void 0 : _a.add(time, 'seconds');\n yield player.JS_Seek(1, getHKTimeString(seekTime), getHKTimeString(this.endTime));\n this.seekTime = seekTime;\n }\n else {\n this.video.currentTime = time;\n return Promise.resolve();\n }\n });\n }\n /**\n * 暂停播放\n * @param callback 回调函数\n */\n pause(callback) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Pause(1).then(() => callback && callback());\n }\n else {\n this.video.pause();\n callback && callback();\n }\n }\n /**\n * 恢复播放\n * @param callback 回调函数\n */\n resume(callback) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Resume(1).then(() => callback && callback());\n }\n else {\n this.video.play();\n callback && callback();\n }\n }\n /**\n * 开始对讲\n * @param url 对讲地址\n */\n startTalk(url) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n return player.JS_StartTalk(url);\n }\n return Promise.reject();\n }\n /**\n * 开始对讲\n * @param state 状态\n */\n stopTalk() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n return player.JS_StopTalk();\n }\n return Promise.reject();\n }\n}\n/**\n * 截图\n * @param video\n */\nconst Capture = (video, name, callback) => {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n const context = canvas.getContext('2d');\n if (context) {\n context.drawImage(video, 0, 0, canvas.width, canvas.height);\n let dataURL;\n canvas.toBlob((blob) => {\n if (blob) {\n dataURL = URL.createObjectURL(blob);\n // const link = document.createElement('a');\n callback && callback(dataURL);\n // link.href = dataURL;\n // link.download = `${name}.png`;\n // link.style.display = 'none';\n // document.body.appendChild(link);\n // link.click();\n // document.body.removeChild(link);\n // URL.revokeObjectURL(dataURL);\n }\n });\n }\n};\nexport default Player;\n"],"mappings":"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"}
|
package/lib/utils/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export declare enum TimeFormat {
|
|
|
10
10
|
}
|
|
11
11
|
/** 生成随机ID */
|
|
12
12
|
export declare const guidGenerator: () => string;
|
|
13
|
-
type PlayerParams = {
|
|
13
|
+
declare type PlayerParams = {
|
|
14
14
|
/** 视频流地址 */
|
|
15
15
|
url: string;
|
|
16
16
|
/** 视频流格式 */
|
|
@@ -21,7 +21,7 @@ type PlayerParams = {
|
|
|
21
21
|
* @param url
|
|
22
22
|
* @returns
|
|
23
23
|
*/
|
|
24
|
-
export declare const getPlayerParams: (url: string, enableAgent: boolean, live: boolean
|
|
24
|
+
export declare const getPlayerParams: (url: string, enableAgent: boolean, live: boolean) => PlayerParams;
|
|
25
25
|
/**
|
|
26
26
|
* 获取历史回放表格数据
|
|
27
27
|
* @param data
|
|
@@ -68,7 +68,6 @@ export declare const getHKListUrl: (totalUrl: string, startTime: moment.MomentIn
|
|
|
68
68
|
* @param endTime 结束时间
|
|
69
69
|
* @returns
|
|
70
70
|
*/
|
|
71
|
-
export declare const getFlvListUrl: (totalUrl: string, startTime: moment.MomentInput, endTime: moment.MomentInput) => string;
|
|
72
71
|
/**
|
|
73
72
|
* 获取地址栏中的参数信息
|
|
74
73
|
* @param key 字段key
|
package/lib/utils/index.js
CHANGED
|
@@ -3,72 +3,104 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getUrlTableData = exports.getUrlParam = exports.getPlayerParams = exports.getHKTimeString = exports.getHKListUrl = exports.
|
|
6
|
+
exports.getUrlTableData = exports.getUrlParam = exports.getPlayerParams = exports.getHKTimeString = exports.getHKListUrl = exports.bytesToMegaBytes = exports.TimeFormat = void 0;
|
|
7
7
|
exports.guid = guid;
|
|
8
8
|
exports.secondsToTime = exports.secondsToString = exports.guidGenerator = void 0;
|
|
9
|
+
|
|
9
10
|
var _jsBase = require("js-base64");
|
|
11
|
+
|
|
10
12
|
var _moment = _interopRequireDefault(require("moment"));
|
|
13
|
+
|
|
11
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
+
|
|
12
16
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
17
|
+
|
|
13
18
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
19
|
+
|
|
14
20
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
15
|
-
|
|
16
|
-
function
|
|
21
|
+
|
|
22
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
23
|
+
|
|
24
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
25
|
+
|
|
17
26
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
27
|
+
|
|
18
28
|
/** 时间格式枚举 */
|
|
19
29
|
var TimeFormat;
|
|
20
30
|
exports.TimeFormat = TimeFormat;
|
|
31
|
+
|
|
21
32
|
(function (TimeFormat) {
|
|
22
33
|
TimeFormat["default"] = "YYYY-MM-DDTHH:mm:ss";
|
|
23
34
|
TimeFormat["params"] = "YYYY-MM-DD HH:mm:ss";
|
|
24
35
|
TimeFormat["url"] = "YYYYMMDDTHHmmss";
|
|
25
36
|
})(TimeFormat || (exports.TimeFormat = TimeFormat = {}));
|
|
26
37
|
/** 生成随机ID */
|
|
38
|
+
|
|
39
|
+
|
|
27
40
|
var guidGenerator = function guidGenerator() {
|
|
28
41
|
var S4 = function S4() {
|
|
29
42
|
return ((1 + Math.random()) * 0x10000 | 0).toString(16).substring(1);
|
|
30
43
|
};
|
|
44
|
+
|
|
31
45
|
return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();
|
|
32
46
|
};
|
|
47
|
+
|
|
33
48
|
exports.guidGenerator = guidGenerator;
|
|
49
|
+
|
|
34
50
|
var initProtocol = function initProtocol(url, enableAgent) {
|
|
35
51
|
var src = url;
|
|
52
|
+
|
|
36
53
|
if (enableAgent) {
|
|
37
54
|
var isHttps = 'https:' === document.location.protocol;
|
|
55
|
+
|
|
38
56
|
if (url.startsWith("http:")) {
|
|
39
57
|
url = url.replace('http://', '');
|
|
58
|
+
|
|
40
59
|
if (url.startsWith("https:")) {
|
|
41
60
|
url = url.replace('https://', '');
|
|
42
61
|
}
|
|
62
|
+
|
|
43
63
|
var ipPort = url.substring(0, url.indexOf('/'));
|
|
44
64
|
var path = url.substring(url.indexOf('/'));
|
|
45
65
|
src = '/visProxy/' + ipPort + '/play' + path;
|
|
46
66
|
} else if (url.startsWith("ws:")) {
|
|
47
67
|
url = url.replace('ws://', '');
|
|
68
|
+
|
|
48
69
|
if (url.startsWith("wss:")) {
|
|
49
70
|
url = url.replace('wss://', '');
|
|
50
71
|
}
|
|
72
|
+
|
|
51
73
|
var _ipPort = url.substring(0, url.indexOf('/'));
|
|
74
|
+
|
|
52
75
|
var _path = url.substring(url.indexOf('/'));
|
|
76
|
+
|
|
53
77
|
var protocol = isHttps ? 'wss://' : 'ws://';
|
|
54
78
|
src = protocol + window.location.host + '/visProxy/' + _ipPort + '/play' + _path;
|
|
55
79
|
}
|
|
56
80
|
} else {
|
|
57
81
|
var _isHttps = 'https:' === document.location.protocol;
|
|
82
|
+
|
|
58
83
|
if (_isHttps) {
|
|
59
84
|
if (url.startsWith("http:")) {
|
|
60
85
|
url = url.replace('http://', '');
|
|
86
|
+
|
|
61
87
|
var _ipPort2 = url.substring(0, url.indexOf('/'));
|
|
88
|
+
|
|
62
89
|
var _path2 = url.substring(url.indexOf('/'));
|
|
90
|
+
|
|
63
91
|
src = '/visProxy/' + _ipPort2 + '/play' + _path2;
|
|
64
92
|
} else if (url.startsWith("ws:")) {
|
|
65
93
|
url = url.replace('ws://', '');
|
|
94
|
+
|
|
66
95
|
var _ipPort3 = url.substring(0, url.indexOf('/'));
|
|
96
|
+
|
|
67
97
|
var _path3 = url.substring(url.indexOf('/'));
|
|
98
|
+
|
|
68
99
|
src = 'wss://' + window.location.host + '/visProxy/' + _ipPort3 + '/play' + _path3;
|
|
69
100
|
}
|
|
70
101
|
}
|
|
71
102
|
}
|
|
103
|
+
|
|
72
104
|
return src;
|
|
73
105
|
};
|
|
74
106
|
/**
|
|
@@ -76,33 +108,45 @@ var initProtocol = function initProtocol(url, enableAgent) {
|
|
|
76
108
|
* @param url
|
|
77
109
|
* @returns
|
|
78
110
|
*/
|
|
79
|
-
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
var getPlayerParams = function getPlayerParams(url, enableAgent, live) {
|
|
80
114
|
var playerUrl = url;
|
|
81
115
|
var playerType = 'flv';
|
|
82
|
-
|
|
116
|
+
|
|
117
|
+
if (url.startsWith('ws://') || url.startsWith('wss://')) {
|
|
83
118
|
playerType = 'hk_ws';
|
|
119
|
+
|
|
84
120
|
if (live) {
|
|
85
121
|
playerUrl = url;
|
|
86
122
|
} else {
|
|
87
123
|
playerUrl = url.split('?')[0];
|
|
88
124
|
}
|
|
89
125
|
}
|
|
126
|
+
|
|
90
127
|
if (url.startsWith('rtsp://')) {
|
|
91
128
|
playerType = 'flv';
|
|
92
|
-
if (live) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}
|
|
129
|
+
playerUrl = "/cloud/vic/convert/flv/live.flv?url=".concat(_jsBase.Base64.encode(url)); // if (live) {
|
|
130
|
+
// playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(
|
|
131
|
+
// url
|
|
132
|
+
// )}`;
|
|
133
|
+
// } else {
|
|
134
|
+
// playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(
|
|
135
|
+
// getFlvListUrl(url, startTime, endTime)
|
|
136
|
+
// )}`;
|
|
137
|
+
// }
|
|
97
138
|
}
|
|
139
|
+
|
|
98
140
|
if (url.indexOf('flv') > -1) {
|
|
99
141
|
playerUrl = url;
|
|
100
142
|
playerType = 'flv';
|
|
101
143
|
}
|
|
144
|
+
|
|
102
145
|
if (url.indexOf('m3u8') > -1) {
|
|
103
146
|
playerUrl = url;
|
|
104
147
|
playerType = 'hls';
|
|
105
148
|
}
|
|
149
|
+
|
|
106
150
|
return {
|
|
107
151
|
url: initProtocol(playerUrl, enableAgent),
|
|
108
152
|
type: playerType
|
|
@@ -113,7 +157,10 @@ var getPlayerParams = function getPlayerParams(url, enableAgent, live, startTime
|
|
|
113
157
|
* @param data
|
|
114
158
|
* @returns
|
|
115
159
|
*/
|
|
160
|
+
|
|
161
|
+
|
|
116
162
|
exports.getPlayerParams = getPlayerParams;
|
|
163
|
+
|
|
117
164
|
var getUrlTableData = function getUrlTableData(data) {
|
|
118
165
|
var result = data.list.map(function (item, i) {
|
|
119
166
|
var beginTime = (0, _moment["default"])(item.beginTime);
|
|
@@ -139,7 +186,10 @@ var getUrlTableData = function getUrlTableData(data) {
|
|
|
139
186
|
* @param bytes
|
|
140
187
|
* @returns
|
|
141
188
|
*/
|
|
189
|
+
|
|
190
|
+
|
|
142
191
|
exports.getUrlTableData = getUrlTableData;
|
|
192
|
+
|
|
143
193
|
var bytesToMegaBytes = function bytesToMegaBytes(bytes) {
|
|
144
194
|
return "".concat((bytes / Math.pow(1024, 2)).toFixed(2), "MB");
|
|
145
195
|
};
|
|
@@ -148,7 +198,10 @@ var bytesToMegaBytes = function bytesToMegaBytes(bytes) {
|
|
|
148
198
|
* @param total
|
|
149
199
|
* @returns
|
|
150
200
|
*/
|
|
201
|
+
|
|
202
|
+
|
|
151
203
|
exports.bytesToMegaBytes = bytesToMegaBytes;
|
|
204
|
+
|
|
152
205
|
var secondsToString = function secondsToString(total) {
|
|
153
206
|
var hour = Math.floor(total / 3600);
|
|
154
207
|
var minute = Math.floor(total % 3600 / 60);
|
|
@@ -161,7 +214,10 @@ var secondsToString = function secondsToString(total) {
|
|
|
161
214
|
* @param total
|
|
162
215
|
* @returns
|
|
163
216
|
*/
|
|
217
|
+
|
|
218
|
+
|
|
164
219
|
exports.secondsToString = secondsToString;
|
|
220
|
+
|
|
165
221
|
var secondsToTime = function secondsToTime(total) {
|
|
166
222
|
var hour = Math.floor(total / 3600);
|
|
167
223
|
var minute = Math.floor(total % 3600 / 60);
|
|
@@ -174,7 +230,10 @@ var secondsToTime = function secondsToTime(total) {
|
|
|
174
230
|
* @param time 时间
|
|
175
231
|
* @returns
|
|
176
232
|
*/
|
|
233
|
+
|
|
234
|
+
|
|
177
235
|
exports.secondsToTime = secondsToTime;
|
|
236
|
+
|
|
178
237
|
var getHKTimeString = function getHKTimeString(time) {
|
|
179
238
|
return (0, _moment["default"])(time).format(TimeFormat["default"]) + 'Z';
|
|
180
239
|
};
|
|
@@ -185,12 +244,16 @@ var getHKTimeString = function getHKTimeString(time) {
|
|
|
185
244
|
* @param endTime 结束时间
|
|
186
245
|
* @returns
|
|
187
246
|
*/
|
|
247
|
+
|
|
248
|
+
|
|
188
249
|
exports.getHKTimeString = getHKTimeString;
|
|
250
|
+
|
|
189
251
|
var getHKListUrl = function getHKListUrl(totalUrl, startTime, endTime) {
|
|
190
252
|
var _totalUrl$split = totalUrl.split('?'),
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
253
|
+
_totalUrl$split2 = _slicedToArray(_totalUrl$split, 2),
|
|
254
|
+
url = _totalUrl$split2[0],
|
|
255
|
+
query = _totalUrl$split2[1];
|
|
256
|
+
|
|
194
257
|
var urlParams = new URLSearchParams(query);
|
|
195
258
|
urlParams.set('beginTime', getHKTimeString(startTime));
|
|
196
259
|
urlParams.set('endTime', getHKTimeString(endTime));
|
|
@@ -204,32 +267,38 @@ var getHKListUrl = function getHKListUrl(totalUrl, startTime, endTime) {
|
|
|
204
267
|
* @param endTime 结束时间
|
|
205
268
|
* @returns
|
|
206
269
|
*/
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
};
|
|
270
|
+
// export const getFlvListUrl = (
|
|
271
|
+
// totalUrl: string,
|
|
272
|
+
// startTime: moment.MomentInput,
|
|
273
|
+
// endTime: moment.MomentInput
|
|
274
|
+
// ) => {
|
|
275
|
+
// const [url, query] = totalUrl.split('?');
|
|
276
|
+
// const urlParams = new URLSearchParams(query);
|
|
277
|
+
// urlParams.set('beginTime', moment(startTime).format(TimeFormat.url));
|
|
278
|
+
// urlParams.set('endTime', moment(endTime).format(TimeFormat.url));
|
|
279
|
+
// return `${url}?${urlParams.toString()}`;
|
|
280
|
+
// };
|
|
281
|
+
|
|
218
282
|
/**
|
|
219
283
|
* 获取地址栏中的参数信息
|
|
220
284
|
* @param key 字段key
|
|
221
285
|
* @param href 链接
|
|
222
286
|
* @returns 字段值
|
|
223
287
|
*/
|
|
224
|
-
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
exports.getHKListUrl = getHKListUrl;
|
|
291
|
+
|
|
225
292
|
var getUrlParam = function getUrlParam(key) {
|
|
226
293
|
var href = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.href;
|
|
227
294
|
var paramObj = {};
|
|
228
295
|
var matchList = href.match(/([^\?&]+)=([^\?&#]+)/g) || [];
|
|
296
|
+
|
|
229
297
|
for (var i = 0, len = matchList.length; i < len; i++) {
|
|
230
298
|
var r = matchList[i].match(/([^\?&]+)=([^\?&]+)/);
|
|
231
299
|
paramObj[r[1]] = r[2];
|
|
232
300
|
}
|
|
301
|
+
|
|
233
302
|
if (key) {
|
|
234
303
|
return paramObj[key];
|
|
235
304
|
} else {
|
|
@@ -240,11 +309,14 @@ var getUrlParam = function getUrlParam(key) {
|
|
|
240
309
|
*
|
|
241
310
|
* @returns 返回UUID
|
|
242
311
|
*/
|
|
312
|
+
|
|
313
|
+
|
|
243
314
|
exports.getUrlParam = getUrlParam;
|
|
315
|
+
|
|
244
316
|
function guid() {
|
|
245
317
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
|
246
318
|
var r = Math.random() * 16 | 0,
|
|
247
|
-
|
|
319
|
+
v = c == 'x' ? r : r & 0x3 | 0x8;
|
|
248
320
|
return v.toString(16);
|
|
249
321
|
});
|
|
250
322
|
}
|
package/lib/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_jsBase","require","_moment","_interopRequireDefault","obj","__esModule","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","TimeFormat","exports","guidGenerator","S4","Math","random","substring","initProtocol","url","enableAgent","src","isHttps","document","location","protocol","startsWith","replace","ipPort","indexOf","path","window","host","getPlayerParams","live","startTime","endTime","playerUrl","playerType","split","concat","Base64","encode","getFlvListUrl","type","getUrlTableData","data","result","list","map","item","beginTime","moment","totalSeconds","diff","index","deviceName","channelName","format","params","size","bytesToMegaBytes","duration","secondsToString","downloadUrl","playbackUrl","bytes","pow","toFixed","total","hour","floor","minute","second","secondsToTime","getHKTimeString","time","getHKListUrl","totalUrl","_totalUrl$split","_totalUrl$split2","query","urlParams","URLSearchParams","set","_totalUrl$split3","_totalUrl$split4","getUrlParam","key","href","arguments","undefined","paramObj","matchList","match","r","guid","c","v"],"sources":["utils/index.js"],"sourcesContent":["import { Base64 } from 'js-base64';\nimport moment from 'moment';\n/** 时间格式枚举 */\nexport var TimeFormat;\n(function (TimeFormat) {\n TimeFormat[\"default\"] = \"YYYY-MM-DDTHH:mm:ss\";\n TimeFormat[\"params\"] = \"YYYY-MM-DD HH:mm:ss\";\n TimeFormat[\"url\"] = \"YYYYMMDDTHHmmss\";\n})(TimeFormat || (TimeFormat = {}));\n/** 生成随机ID */\nexport const guidGenerator = () => {\n const S4 = function () {\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n };\n return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();\n};\nconst initProtocol = (url, enableAgent) => {\n let src = url;\n if (enableAgent) {\n const isHttps = 'https:' === document.location.protocol;\n if (url.startsWith(\"http:\")) {\n url = url.replace('http://', '');\n if (url.startsWith(\"https:\")) {\n url = url.replace('https://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith(\"ws:\")) {\n url = url.replace('ws://', '');\n if (url.startsWith(\"wss:\")) {\n url = url.replace('wss://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n const protocol = isHttps ? 'wss://' : 'ws://';\n src = protocol + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n else {\n const isHttps = 'https:' === document.location.protocol;\n if (isHttps) {\n if (url.startsWith(\"http:\")) {\n url = url.replace('http://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith(\"ws:\")) {\n url = url.replace('ws://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = 'wss://' + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n }\n return src;\n};\n/**\n * 获取视频直播地址及格式\n * @param url\n * @returns\n */\nexport const getPlayerParams = (url, enableAgent, live, startTime, endTime) => {\n let playerUrl = url;\n let playerType = 'flv';\n if (url.startsWith('ws://')) {\n playerType = 'hk_ws';\n if (live) {\n playerUrl = url;\n }\n else {\n playerUrl = url.split('?')[0];\n }\n }\n if (url.startsWith('rtsp://')) {\n playerType = 'flv';\n if (live) {\n playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(url)}`;\n }\n else {\n playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(getFlvListUrl(url, startTime, endTime))}`;\n }\n }\n if (url.indexOf('flv') > -1) {\n playerUrl = url;\n playerType = 'flv';\n }\n if (url.indexOf('m3u8') > -1) {\n playerUrl = url;\n playerType = 'hls';\n }\n return { url: initProtocol(playerUrl, enableAgent), type: playerType };\n};\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getUrlTableData = (data) => {\n const result = data.list.map((item, i) => {\n const beginTime = moment(item.beginTime);\n const endTime = moment(item.endTime);\n const totalSeconds = moment(endTime).diff(moment(beginTime), 'seconds');\n return {\n index: i + 1,\n deviceName: data.deviceName,\n channelName: data.channelName,\n beginTime: beginTime.format(TimeFormat.params),\n endTime: endTime.format(TimeFormat.params),\n size: bytesToMegaBytes(item.size),\n duration: secondsToString(totalSeconds),\n downloadUrl: '',\n url: item.playbackUrl || '',\n enableAgent: data.enableAgent || false,\n };\n });\n return result;\n};\n/**\n * bytes转换mb\n * @param bytes\n * @returns\n */\nexport const bytesToMegaBytes = (bytes) => `${(bytes / Math.pow(1024, 2)).toFixed(2)}MB`;\n/**\n * 秒数=>0时0分0秒\n * @param total\n * @returns\n */\nexport const secondsToString = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour > 0 ? hour + '小时' : ''}${minute > 0 ? minute + '分' : ''}${second > 0 ? second + '秒' : ''}`;\n return result;\n};\n/**\n * 秒数=>00:00:00\n * @param total\n * @returns\n */\nexport const secondsToTime = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour >= 10 ? hour : '0' + hour}:${minute >= 10 ? minute : '0' + minute}:${second >= 10 ? second : '0' + second}`;\n return result;\n};\n/**\n * 获取海康时间参数\n * @param time 时间\n * @returns\n */\nexport const getHKTimeString = (time) => {\n return moment(time).format(TimeFormat.default) + 'Z';\n};\n/**\n * 获取海康分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\nexport const getHKListUrl = (totalUrl, startTime, endTime) => {\n const [url, query] = totalUrl.split('?');\n const urlParams = new URLSearchParams(query);\n urlParams.set('beginTime', getHKTimeString(startTime));\n urlParams.set('endTime', getHKTimeString(endTime));\n return `${url}?${urlParams.toString()}`;\n};\n/**\n *\n * 获取flv格式分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\nexport const getFlvListUrl = (totalUrl, startTime, endTime) => {\n const [url, query] = totalUrl.split('?');\n const urlParams = new URLSearchParams(query);\n urlParams.set('beginTime', moment(startTime).format(TimeFormat.url));\n urlParams.set('endTime', moment(endTime).format(TimeFormat.url));\n return `${url}?${urlParams.toString()}`;\n};\n/**\n * 获取地址栏中的参数信息\n * @param key 字段key\n * @param href 链接\n * @returns 字段值\n */\nexport const getUrlParam = (key, href = window.location.href) => {\n const paramObj = {};\n const matchList = href.match(/([^\\?&]+)=([^\\?&#]+)/g) || [];\n for (let i = 0, len = matchList.length; i < len; i++) {\n const r = matchList[i].match(/([^\\?&]+)=([^\\?&]+)/);\n paramObj[r[1]] = r[2];\n }\n if (key) {\n return paramObj[key];\n }\n else {\n return paramObj;\n }\n};\n/**\n *\n * @returns 返回UUID\n */\nexport function guid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["TimeFormat","guidGenerator","S4","Math","random","toString","substring","initProtocol","url","enableAgent","src","isHttps","document","location","protocol","startsWith","replace","ipPort","indexOf","path","window","host","getPlayerParams","live","playerUrl","playerType","split","Base64","encode","type","getUrlTableData","data","result","list","map","item","i","beginTime","moment","endTime","totalSeconds","diff","index","deviceName","channelName","format","params","size","bytesToMegaBytes","duration","secondsToString","downloadUrl","playbackUrl","bytes","pow","toFixed","total","hour","floor","minute","second","secondsToTime","getHKTimeString","time","getHKListUrl","totalUrl","startTime","query","urlParams","URLSearchParams","set","getUrlParam","key","href","paramObj","matchList","match","len","length","r","guid","c","v"],"sources":["utils/index.js"],"sourcesContent":["import { Base64 } from 'js-base64';\nimport moment from 'moment';\n/** 时间格式枚举 */\nexport var TimeFormat;\n(function (TimeFormat) {\n TimeFormat[\"default\"] = \"YYYY-MM-DDTHH:mm:ss\";\n TimeFormat[\"params\"] = \"YYYY-MM-DD HH:mm:ss\";\n TimeFormat[\"url\"] = \"YYYYMMDDTHHmmss\";\n})(TimeFormat || (TimeFormat = {}));\n/** 生成随机ID */\nexport const guidGenerator = () => {\n const S4 = function () {\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n };\n return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();\n};\nconst initProtocol = (url, enableAgent) => {\n let src = url;\n if (enableAgent) {\n const isHttps = 'https:' === document.location.protocol;\n if (url.startsWith(\"http:\")) {\n url = url.replace('http://', '');\n if (url.startsWith(\"https:\")) {\n url = url.replace('https://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith(\"ws:\")) {\n url = url.replace('ws://', '');\n if (url.startsWith(\"wss:\")) {\n url = url.replace('wss://', '');\n }\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n const protocol = isHttps ? 'wss://' : 'ws://';\n src = protocol + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n else {\n const isHttps = 'https:' === document.location.protocol;\n if (isHttps) {\n if (url.startsWith(\"http:\")) {\n url = url.replace('http://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith(\"ws:\")) {\n url = url.replace('ws://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = 'wss://' + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n }\n return src;\n};\n/**\n * 获取视频直播地址及格式\n * @param url\n * @returns\n */\nexport const getPlayerParams = (url, enableAgent, live) => {\n let playerUrl = url;\n let playerType = 'flv';\n if (url.startsWith('ws://') || url.startsWith('wss://')) {\n playerType = 'hk_ws';\n if (live) {\n playerUrl = url;\n }\n else {\n playerUrl = url.split('?')[0];\n }\n }\n if (url.startsWith('rtsp://')) {\n playerType = 'flv';\n playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(url)}`;\n // if (live) {\n // playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(\n // url\n // )}`;\n // } else {\n // playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(\n // getFlvListUrl(url, startTime, endTime)\n // )}`;\n // }\n }\n if (url.indexOf('flv') > -1) {\n playerUrl = url;\n playerType = 'flv';\n }\n if (url.indexOf('m3u8') > -1) {\n playerUrl = url;\n playerType = 'hls';\n }\n return { url: initProtocol(playerUrl, enableAgent), type: playerType };\n};\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getUrlTableData = (data) => {\n const result = data.list.map((item, i) => {\n const beginTime = moment(item.beginTime);\n const endTime = moment(item.endTime);\n const totalSeconds = moment(endTime).diff(moment(beginTime), 'seconds');\n return {\n index: i + 1,\n deviceName: data.deviceName,\n channelName: data.channelName,\n beginTime: beginTime.format(TimeFormat.params),\n endTime: endTime.format(TimeFormat.params),\n size: bytesToMegaBytes(item.size),\n duration: secondsToString(totalSeconds),\n downloadUrl: '',\n url: item.playbackUrl || '',\n enableAgent: data.enableAgent || false,\n };\n });\n return result;\n};\n/**\n * bytes转换mb\n * @param bytes\n * @returns\n */\nexport const bytesToMegaBytes = (bytes) => `${(bytes / Math.pow(1024, 2)).toFixed(2)}MB`;\n/**\n * 秒数=>0时0分0秒\n * @param total\n * @returns\n */\nexport const secondsToString = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour > 0 ? hour + '小时' : ''}${minute > 0 ? minute + '分' : ''}${second > 0 ? second + '秒' : ''}`;\n return result;\n};\n/**\n * 秒数=>00:00:00\n * @param total\n * @returns\n */\nexport const secondsToTime = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour >= 10 ? hour : '0' + hour}:${minute >= 10 ? minute : '0' + minute}:${second >= 10 ? second : '0' + second}`;\n return result;\n};\n/**\n * 获取海康时间参数\n * @param time 时间\n * @returns\n */\nexport const getHKTimeString = (time) => {\n return moment(time).format(TimeFormat.default) + 'Z';\n};\n/**\n * 获取海康分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\nexport const getHKListUrl = (totalUrl, startTime, endTime) => {\n const [url, query] = totalUrl.split('?');\n const urlParams = new URLSearchParams(query);\n urlParams.set('beginTime', getHKTimeString(startTime));\n urlParams.set('endTime', getHKTimeString(endTime));\n return `${url}?${urlParams.toString()}`;\n};\n/**\n *\n * 获取flv格式分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\n// export const getFlvListUrl = (\n// totalUrl: string,\n// startTime: moment.MomentInput,\n// endTime: moment.MomentInput\n// ) => {\n// const [url, query] = totalUrl.split('?');\n// const urlParams = new URLSearchParams(query);\n// urlParams.set('beginTime', moment(startTime).format(TimeFormat.url));\n// urlParams.set('endTime', moment(endTime).format(TimeFormat.url));\n// return `${url}?${urlParams.toString()}`;\n// };\n/**\n * 获取地址栏中的参数信息\n * @param key 字段key\n * @param href 链接\n * @returns 字段值\n */\nexport const getUrlParam = (key, href = window.location.href) => {\n const paramObj = {};\n const matchList = href.match(/([^\\?&]+)=([^\\?&#]+)/g) || [];\n for (let i = 0, len = matchList.length; i < len; i++) {\n const r = matchList[i].match(/([^\\?&]+)=([^\\?&]+)/);\n paramObj[r[1]] = r[2];\n }\n if (key) {\n return paramObj[key];\n }\n else {\n return paramObj;\n }\n};\n/**\n *\n * @returns 返回UUID\n */\nexport function guid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n}\n"],"mappings":"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"}
|