@vtx/player 1.4.10 → 1.4.12

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.
@@ -7,13 +7,15 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports["default"] = void 0;
9
9
 
10
- var _PlayerManager = _interopRequireDefault(require("../h264/PlayerManager"));
10
+ var _PlayerManager = _interopRequireDefault(require("../bd/PlayerManager"));
11
11
 
12
- var _PlayerManager2 = _interopRequireDefault(require("../icc/PlayerManager"));
12
+ var _PlayerManager2 = _interopRequireDefault(require("../h264/PlayerManager"));
13
+
14
+ var _PlayerManager3 = _interopRequireDefault(require("../icc/PlayerManager"));
13
15
 
14
16
  var _utils = require("../utils");
15
17
 
16
- var _PlayerManager3 = _interopRequireDefault(require("../webrtc/PlayerManager"));
18
+ var _PlayerManager4 = _interopRequireDefault(require("../webrtc/PlayerManager"));
17
19
 
18
20
  var _flv = _interopRequireDefault(require("flv.js"));
19
21
 
@@ -135,12 +137,13 @@ var Player = /*#__PURE__*/function () {
135
137
  if (this.type === 'hk_ws') {
136
138
  this.player = new window.JSPlugin({
137
139
  szId: container.id,
138
- szBasePath: './resources/',
140
+ szBasePath: './',
139
141
  iMaxSplit: 1,
140
142
  iCurrentSplit: 1
141
143
  });
142
144
  var wrapDiv = document.getElementById(container.id);
143
145
  this.video = wrapDiv.getElementsByTagName('video')[0];
146
+ this.video.preload = 'auto';
144
147
  } // 处理海康视频
145
148
 
146
149
 
@@ -169,7 +172,7 @@ var Player = /*#__PURE__*/function () {
169
172
  dd.removeChild(dd.firstChild);
170
173
  }
171
174
 
172
- this.player = new _PlayerManager2["default"]({
175
+ this.player = new _PlayerManager3["default"]({
173
176
  ip: window.location.protocol === 'http:' ? deviceIp : "".concat(deviceIp || '', ":").concat(devicePort || ''),
174
177
  el: container.id,
175
178
  type: live ? 'real' : 'record',
@@ -186,7 +189,7 @@ var Player = /*#__PURE__*/function () {
186
189
  var id = "".concat(container.id, "_").concat(Date.now());
187
190
  video.id = id;
188
191
  container.appendChild(video);
189
- this.player = new _PlayerManager3["default"]({
192
+ this.player = new _PlayerManager4["default"]({
190
193
  el: id,
191
194
  url: this.url,
192
195
  type: live
@@ -201,11 +204,23 @@ var Player = /*#__PURE__*/function () {
201
204
  var _id = 'playerh264';
202
205
  video.id = _id;
203
206
  container.appendChild(video);
204
- this.player = new _PlayerManager["default"]({
207
+ this.player = new _PlayerManager2["default"]({
205
208
  id: _id,
206
209
  url: this.url
207
210
  });
208
211
  }
212
+
213
+ if (this.type === 'bd') {
214
+ // const path = './bd/';
215
+ // loadJs(path + 'js/flv.min.js');
216
+ // loadJs(path + 'js/DPlayer.min.js');
217
+ // loadJs(path + 'js/cmsv6player.min.js');
218
+ this.player = new _PlayerManager["default"]({
219
+ el: container.id,
220
+ type: live,
221
+ url: this.url
222
+ });
223
+ }
209
224
  }
210
225
  /** 播放 */
211
226
 
@@ -251,6 +266,12 @@ var Player = /*#__PURE__*/function () {
251
266
  _player3.play();
252
267
  }
253
268
 
269
+ if (this.type === 'bd') {
270
+ var _player4 = this.player;
271
+
272
+ _player4.playRealVideo();
273
+ }
274
+
254
275
  return Promise.resolve();
255
276
  }
256
277
  /** 回放 */
@@ -268,9 +289,9 @@ var Player = /*#__PURE__*/function () {
268
289
  }, 1, (0, _utils.getHKTimeString)(this.startTime), (0, _utils.getHKTimeString)(this.endTime));
269
290
  return result;
270
291
  } else if (this.type === 'icc_ws') {
271
- var _player4 = this.player;
292
+ var _player5 = this.player;
272
293
  return new Promise(function (resolve) {
273
- _player4.playRecordVideo({
294
+ _player5.playRecordVideo({
274
295
  channelList: [{
275
296
  id: _this.deviceCode + '$1$0$' + _this.channelNum
276
297
  }],
@@ -299,27 +320,27 @@ var Player = /*#__PURE__*/function () {
299
320
  }
300
321
 
301
322
  if (this.type === 'hls') {
302
- var _player5 = this.player;
323
+ var _player6 = this.player;
303
324
 
304
- _player5.destroy();
325
+ _player6.destroy();
305
326
 
306
327
  this.player = null;
307
328
  this.video.remove();
308
329
  }
309
330
 
310
331
  if (this.type === 'hk_ws') {
311
- var _player6 = this.player;
332
+ var _player7 = this.player;
312
333
 
313
- _player6.JS_Stop(1);
334
+ _player7.JS_Stop(1);
314
335
 
315
336
  var dd = document.getElementById(this.containerId);
316
337
  dd && dd.childNodes && dd.childNodes[0] && dd.removeChild(dd.childNodes[0]);
317
338
  }
318
339
 
319
340
  if (this.type === 'hkcar_ws') {
320
- var _player7 = this.player;
341
+ var _player8 = this.player;
321
342
 
322
- _player7.JS_DestroyWorker();
343
+ _player8.JS_DestroyWorker();
323
344
 
324
345
  var _dd3 = document.getElementById(this.containerId);
325
346
 
@@ -327,21 +348,27 @@ var Player = /*#__PURE__*/function () {
327
348
  }
328
349
 
329
350
  if (this.type === 'icc_ws') {
330
- var _player8 = this.player;
351
+ var _player9 = this.player;
331
352
 
332
- _player8.close();
353
+ _player9.close();
333
354
  }
334
355
 
335
356
  if (this.type === 'webrtc') {
336
- var _player9 = this.player;
357
+ var _player10 = this.player;
337
358
 
338
- _player9.close();
359
+ _player10.close();
339
360
  }
340
361
 
341
362
  if (this.type === 'h264') {
342
- var _player10 = this.player;
363
+ var _player11 = this.player;
343
364
 
344
- _player10.close();
365
+ _player11.close();
366
+ }
367
+
368
+ if (this.type === 'bd') {
369
+ var _player12 = this.player;
370
+
371
+ _player12.close(0);
345
372
  }
346
373
  }
347
374
  /** 截图 */
@@ -375,9 +402,9 @@ var Player = /*#__PURE__*/function () {
375
402
  player.JS_Resize();
376
403
  }, 500);
377
404
  } else if (this.type === 'icc_ws') {
378
- var _player11 = this.player;
405
+ var _player13 = this.player;
379
406
 
380
- _player11.setPlayerAdapter('selfAdaption');
407
+ _player13.setPlayerAdapter('selfAdaption');
381
408
  }
382
409
  }
383
410
  /**
@@ -398,9 +425,9 @@ var Player = /*#__PURE__*/function () {
398
425
  }
399
426
 
400
427
  if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {
401
- var _player12 = this.player;
428
+ var _player14 = this.player;
402
429
 
403
- _player12.JS_SetVolume(1, value);
430
+ _player14.JS_SetVolume(1, value);
404
431
  }
405
432
  }
406
433
  /**
@@ -472,9 +499,9 @@ var Player = /*#__PURE__*/function () {
472
499
 
473
500
  this.preSpeed = speed;
474
501
  } else if (this.type === 'icc_ws') {
475
- var _player13 = this.player;
502
+ var _player15 = this.player;
476
503
 
477
- _player13.playSpeed(speed);
504
+ _player15.playSpeed(speed);
478
505
  } else {
479
506
  this.video.playbackRate = speed;
480
507
  }
@@ -513,10 +540,10 @@ var Player = /*#__PURE__*/function () {
513
540
  }, {
514
541
  key: "seekTo",
515
542
  value: function seekTo(time) {
516
- var _a, _b;
543
+ var _a, _b, _c;
517
544
 
518
545
  return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
519
- var player, seekTime, _player14, _seekTime;
546
+ var player, seekTime, _player16, _seekTime, _player17, _seekTime2;
520
547
 
521
548
  return _regeneratorRuntime().wrap(function _callee$(_context) {
522
549
  while (1) {
@@ -529,33 +556,33 @@ var Player = /*#__PURE__*/function () {
529
556
 
530
557
  player = this.player;
531
558
  seekTime = (_a = (0, _moment["default"])(this.startTime)) === null || _a === void 0 ? void 0 : _a.add(time, 'seconds');
532
- _context.next = 5;
559
+ this.seekTime = seekTime;
560
+ _context.next = 6;
533
561
  return player.JS_Seek(1, (0, _utils.getHKTimeString)(seekTime), (0, _utils.getHKTimeString)(this.endTime));
534
562
 
535
- case 5:
536
- this.seekTime = seekTime;
537
- _context.next = 16;
563
+ case 6:
564
+ _context.next = 9;
538
565
  break;
539
566
 
540
567
  case 8:
541
- if (!(this.type === 'icc_ws')) {
542
- _context.next = 14;
543
- break;
568
+ if (this.type === 'icc_ws') {
569
+ _player16 = this.player;
570
+ _seekTime = (_b = (0, _moment["default"])(this.startTime)) === null || _b === void 0 ? void 0 : _b.add(time, 'seconds').format('HH:mm:ss');
571
+
572
+ _player16.jumpPlayByTime(_seekTime);
573
+ } else if (this.type === 'bd') {
574
+ _player17 = this.player;
575
+ _seekTime2 = (_c = (0, _moment["default"])(this.startTime)) === null || _c === void 0 ? void 0 : _c.add(time, 'seconds').valueOf();
576
+
577
+ _player17.jumpPlayByTime(_seekTime2);
578
+ } else {
579
+ this.video.currentTime = time;
544
580
  }
545
581
 
546
- _player14 = this.player;
547
- _seekTime = (_b = (0, _moment["default"])(this.startTime)) === null || _b === void 0 ? void 0 : _b.add(time, 'seconds').format('HH:mm:ss');
548
-
549
- _player14.jumpPlayByTime(_seekTime);
550
-
551
- _context.next = 16;
552
- break;
553
-
554
- case 14:
555
- this.video.currentTime = time;
582
+ case 9:
556
583
  return _context.abrupt("return", Promise.resolve());
557
584
 
558
- case 16:
585
+ case 10:
559
586
  case "end":
560
587
  return _context.stop();
561
588
  }
@@ -576,6 +603,10 @@ var Player = /*#__PURE__*/function () {
576
603
  player.JS_Pause(1).then(function () {
577
604
  return callback && callback();
578
605
  });
606
+ } else if (this.type === 'bd') {
607
+ var _player18 = this.player;
608
+
609
+ _player18.pause();
579
610
  } else {
580
611
  this.video.pause();
581
612
  callback && callback();
@@ -594,6 +625,10 @@ var Player = /*#__PURE__*/function () {
594
625
  player.JS_Resume(1).then(function () {
595
626
  return callback && callback();
596
627
  });
628
+ } else if (this.type === 'bd') {
629
+ var _player19 = this.player;
630
+
631
+ _player19.close(0);
597
632
  } else {
598
633
  this.video.play();
599
634
  callback && callback();
@@ -1 +1 @@
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","_a","_b","player","preSpeed","containerId","url","channelNum","deviceCode","enableAgent","container","live","type","startTime","endTime","streamType","deviceIp","devicePort","id","playerParams","getPlayerParams","video","document","createElement","className","muted","FlvJs","isSupported","appendChild","createPlayer","isLive","attachMediaElement","load","Hls","loadSource","attachMedia","window","JSPlugin","szId","szBasePath","iMaxSplit","iCurrentSplit","wrapDiv","getElementById","getElementsByTagName","startsWith","JSPluginHkCar","iWidth","clientWidth","iHeight","clientHeight","oStyle","border","borderSelect","background","dd","hasChildNodes","removeChild","firstChild","PlayerManager","ip","location","protocol","el","maxNum","num","children","length","autoplay","Date","now","WebrtcPlayerManager","H264PlayerManager","play","JS_Play","playURL","mode","playRealVideo","channelList","isOnline","Number","getHKTimeString","playRecordVideo","moment","format","recordSource","destroy","remove","JS_Stop","childNodes","JS_DestroyWorker","close","captureName","callback","time","name","JS_CapturePicture","res","Capture","setTimeout","JS_Resize","setPlayerAdapter","volume","JS_SetVolume","speed","JS_Slow","JS_Fast","playSpeed","playbackRate","addEventListener","currentTime","seekTime","diff","JS_SetWindowControlCallback","call","StreamEnd","add","JS_Seek","jumpPlayByTime","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 H264PlayerManager from '../h264/PlayerManager';\nimport PlayerManager from '../icc/PlayerManager';\nimport { getHKTimeString, getPlayerParams } from '../utils';\nimport WebrtcPlayerManager from '../webrtc/PlayerManager';\nimport FlvJs from 'flv.js';\nimport Hls from 'hls.js';\nimport moment from 'moment';\n/**\n * 视频播放核心类\n */\nclass Player {\n constructor(params) {\n var _a, _b;\n this.player = null;\n /** 之前的视频播放速度,用于处理海康音量控制 */\n this.preSpeed = 1;\n this.containerId = '';\n /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */\n const { url, channelNum, deviceCode, enableAgent = false, container, live = true, type, startTime, endTime, streamType, deviceIp, devicePort, } = params;\n this.containerId = container.id;\n const playerParams = getPlayerParams(type, url, enableAgent, live);\n this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值,1.1.2之后默认都传type\n this.url = playerParams.url;\n this.channelNum = channelNum;\n this.deviceCode = deviceCode || '';\n this.streamType = streamType || '0'; // 默认主码流\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: false,\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 if (this.type === 'hkcar_ws' && (url.startsWith('ws://') || url.startsWith('wss://'))) {\n const wrapDiv = document.getElementById(container.id);\n this.player = new window.JSPluginHkCar({\n szId: container.id,\n iWidth: wrapDiv.clientWidth,\n iHeight: wrapDiv.clientHeight,\n iMaxSplit: 1,\n iCurrentSplit: 1,\n szBasePath: './resources/hkcar/',\n oStyle: {\n border: 'transparent',\n borderSelect: 'transparent',\n background: '#2b3d51',\n },\n });\n }\n if (this.type === 'icc_ws') {\n const dd = document.getElementById(container.id);\n while (dd === null || dd === void 0 ? void 0 : dd.hasChildNodes()) {\n dd.removeChild(dd.firstChild);\n }\n this.player = new PlayerManager({\n ip: window.location.protocol === 'http:'\n ? deviceIp\n : `${deviceIp || ''}:${devicePort || ''}`,\n el: container.id,\n type: live ? 'real' : 'record',\n maxNum: 1,\n num: 1,\n });\n }\n if (this.type === 'webrtc') {\n const dd = document.getElementById(container.id);\n ((_a = dd === null || dd === void 0 ? void 0 : dd.children) === null || _a === void 0 ? void 0 : _a.length) > 0 && dd.removeChild(dd.firstChild);\n video.autoplay = true;\n const id = `${container.id}_${Date.now()}`;\n video.id = id;\n container.appendChild(video);\n this.player = new WebrtcPlayerManager({\n el: id,\n url: this.url,\n type: live,\n });\n }\n if (this.type === 'h264') {\n const dd = document.getElementById(container.id);\n ((_b = dd === null || dd === void 0 ? void 0 : dd.children) === null || _b === void 0 ? void 0 : _b.length) > 0 && dd.removeChild(dd.firstChild);\n video.autoplay = true;\n const id = 'playerh264';\n video.id = id;\n container.appendChild(video);\n this.player = new H264PlayerManager({ id: id, url: this.url });\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' || this.type === 'hkcar_ws') {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: 1 }, 0);\n return result;\n }\n if (this.type === 'icc_ws') {\n const player = this.player;\n player.playRealVideo({\n channelList: [\n {\n id: this.deviceCode + '$1$0$' + this.channelNum,\n isOnline: true,\n },\n ],\n streamType: Number(this.streamType) + 1,\n });\n }\n if (this.type === 'webrtc') {\n const player = this.player;\n player.play();\n }\n return Promise.resolve();\n }\n /** 回放 */\n playBack() {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: 1 }, 1, getHKTimeString(this.startTime), getHKTimeString(this.endTime));\n return result;\n }\n else if (this.type === 'icc_ws') {\n const player = this.player;\n return new Promise((resolve) => {\n player.playRecordVideo({\n channelList: [\n {\n id: this.deviceCode + '$1$0$' + this.channelNum,\n },\n ],\n startTime: moment(this.startTime, 'YYYY-MM-DD HH:mm:ss').format('X'),\n endTime: moment(this.endTime, 'YYYY-MM-DD HH:mm:ss').format('X'),\n recordSource: '2',\n streamType: this.streamType,\n });\n resolve(true);\n });\n }\n else {\n return this.play();\n }\n }\n /** 销毁 */\n destroy() {\n if (this.type === 'flv') {\n const player = this.player;\n player === null || player === void 0 ? void 0 : 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 const dd = document.getElementById(this.containerId);\n dd && dd.childNodes && dd.childNodes[0] && dd.removeChild(dd.childNodes[0]);\n }\n if (this.type === 'hkcar_ws') {\n const player = this.player;\n player.JS_DestroyWorker();\n const dd = document.getElementById(this.containerId);\n (dd === null || dd === void 0 ? void 0 : dd.childNodes) && dd.childNodes[0] && dd.removeChild(dd.childNodes[0]);\n }\n if (this.type === 'icc_ws') {\n const player = this.player;\n player.close();\n }\n if (this.type === 'webrtc') {\n const player = this.player;\n player.close();\n }\n if (this.type === 'h264') {\n const player = this.player;\n player.close();\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' || this.type === 'hkcar_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' || this.type === 'hkcar_ws') {\n const player = this.player;\n setTimeout(() => {\n player.JS_Resize();\n }, 500);\n }\n else if (this.type === 'icc_ws') {\n const player = this.player;\n player.setPlayerAdapter('selfAdaption');\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' || this.type === 'hkcar_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' || this.type === 'hkcar_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 if (this.type === 'icc_ws') {\n const player = this.player;\n player.playSpeed(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.type === 'hkcar_ws') && this.seekTime) {\n currentTime = currentTime + this.seekTime.diff(this.startTime, 'seconds');\n }\n callback(currentTime, this.type === 'hk_ws' || this.type === 'hkcar_ws'\n ? this.preSpeed\n : 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, _b;\n return __awaiter(this, void 0, void 0, function* () {\n if (this.type === 'hk_ws' || this.type === 'hkcar_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 if (this.type === 'icc_ws') {\n const player = this.player;\n const seekTime = (_b = moment(this.startTime)) === null || _b === void 0 ? void 0 : _b.add(time, 'seconds').format('HH:mm:ss');\n player.jumpPlayByTime(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' || this.type === 'hkcar_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' || this.type === 'hkcar_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' || this.type === 'hkcar_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' || this.type === 'hkcar_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","_a","_b","player","preSpeed","containerId","url","channelNum","deviceCode","enableAgent","container","live","type","startTime","endTime","streamType","deviceIp","devicePort","id","playerParams","getPlayerParams","video","document","createElement","className","muted","FlvJs","isSupported","appendChild","createPlayer","isLive","attachMediaElement","load","Hls","loadSource","attachMedia","window","JSPlugin","szId","szBasePath","iMaxSplit","iCurrentSplit","wrapDiv","getElementById","getElementsByTagName","preload","startsWith","JSPluginHkCar","iWidth","clientWidth","iHeight","clientHeight","oStyle","border","borderSelect","background","dd","hasChildNodes","removeChild","firstChild","PlayerManager","ip","location","protocol","el","maxNum","num","children","length","autoplay","Date","now","WebrtcPlayerManager","H264PlayerManager","BDPlayerManager","play","JS_Play","playURL","mode","playRealVideo","channelList","isOnline","Number","getHKTimeString","playRecordVideo","moment","format","recordSource","destroy","remove","JS_Stop","childNodes","JS_DestroyWorker","close","captureName","callback","time","name","JS_CapturePicture","res","Capture","setTimeout","JS_Resize","setPlayerAdapter","volume","JS_SetVolume","speed","JS_Slow","JS_Fast","playSpeed","playbackRate","addEventListener","currentTime","seekTime","diff","JS_SetWindowControlCallback","call","StreamEnd","_c","add","JS_Seek","jumpPlayByTime","valueOf","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 BDPlayerManager from '../bd/PlayerManager';\nimport H264PlayerManager from '../h264/PlayerManager';\nimport PlayerManager from '../icc/PlayerManager';\nimport { getHKTimeString, getPlayerParams } from '../utils';\nimport WebrtcPlayerManager from '../webrtc/PlayerManager';\nimport FlvJs from 'flv.js';\nimport Hls from 'hls.js';\nimport moment from 'moment';\n/**\n * 视频播放核心类\n */\nclass Player {\n constructor(params) {\n var _a, _b;\n this.player = null;\n /** 之前的视频播放速度,用于处理海康音量控制 */\n this.preSpeed = 1;\n this.containerId = '';\n /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */\n const { url, channelNum, deviceCode, enableAgent = false, container, live = true, type, startTime, endTime, streamType, deviceIp, devicePort, } = params;\n this.containerId = container.id;\n const playerParams = getPlayerParams(type, url, enableAgent, live);\n this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值,1.1.2之后默认都传type\n this.url = playerParams.url;\n this.channelNum = channelNum;\n this.deviceCode = deviceCode || '';\n this.streamType = streamType || '0'; // 默认主码流\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: false,\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: './',\n iMaxSplit: 1,\n iCurrentSplit: 1,\n });\n const wrapDiv = document.getElementById(container.id);\n this.video = wrapDiv.getElementsByTagName('video')[0];\n this.video.preload = 'auto';\n }\n // 处理海康视频\n if (this.type === 'hkcar_ws' && (url.startsWith('ws://') || url.startsWith('wss://'))) {\n const wrapDiv = document.getElementById(container.id);\n this.player = new window.JSPluginHkCar({\n szId: container.id,\n iWidth: wrapDiv.clientWidth,\n iHeight: wrapDiv.clientHeight,\n iMaxSplit: 1,\n iCurrentSplit: 1,\n szBasePath: './resources/hkcar/',\n oStyle: {\n border: 'transparent',\n borderSelect: 'transparent',\n background: '#2b3d51',\n },\n });\n }\n if (this.type === 'icc_ws') {\n const dd = document.getElementById(container.id);\n while (dd === null || dd === void 0 ? void 0 : dd.hasChildNodes()) {\n dd.removeChild(dd.firstChild);\n }\n this.player = new PlayerManager({\n ip: window.location.protocol === 'http:'\n ? deviceIp\n : `${deviceIp || ''}:${devicePort || ''}`,\n el: container.id,\n type: live ? 'real' : 'record',\n maxNum: 1,\n num: 1,\n });\n }\n if (this.type === 'webrtc') {\n const dd = document.getElementById(container.id);\n ((_a = dd === null || dd === void 0 ? void 0 : dd.children) === null || _a === void 0 ? void 0 : _a.length) > 0 && dd.removeChild(dd.firstChild);\n video.autoplay = true;\n const id = `${container.id}_${Date.now()}`;\n video.id = id;\n container.appendChild(video);\n this.player = new WebrtcPlayerManager({\n el: id,\n url: this.url,\n type: live,\n });\n }\n if (this.type === 'h264') {\n const dd = document.getElementById(container.id);\n ((_b = dd === null || dd === void 0 ? void 0 : dd.children) === null || _b === void 0 ? void 0 : _b.length) > 0 && dd.removeChild(dd.firstChild);\n video.autoplay = true;\n const id = 'playerh264';\n video.id = id;\n container.appendChild(video);\n this.player = new H264PlayerManager({ id: id, url: this.url });\n }\n if (this.type === 'bd') {\n // const path = './bd/';\n // loadJs(path + 'js/flv.min.js');\n // loadJs(path + 'js/DPlayer.min.js');\n // loadJs(path + 'js/cmsv6player.min.js');\n this.player = new BDPlayerManager({\n el: container.id,\n type: live,\n url: this.url,\n });\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' || this.type === 'hkcar_ws') {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: 1 }, 0);\n return result;\n }\n if (this.type === 'icc_ws') {\n const player = this.player;\n player.playRealVideo({\n channelList: [\n {\n id: this.deviceCode + '$1$0$' + this.channelNum,\n isOnline: true,\n },\n ],\n streamType: Number(this.streamType) + 1,\n });\n }\n if (this.type === 'webrtc') {\n const player = this.player;\n player.play();\n }\n if (this.type === 'bd') {\n const player = this.player;\n player.playRealVideo();\n }\n return Promise.resolve();\n }\n /** 回放 */\n playBack() {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: 1 }, 1, getHKTimeString(this.startTime), getHKTimeString(this.endTime));\n return result;\n }\n else if (this.type === 'icc_ws') {\n const player = this.player;\n return new Promise((resolve) => {\n player.playRecordVideo({\n channelList: [\n {\n id: this.deviceCode + '$1$0$' + this.channelNum,\n },\n ],\n startTime: moment(this.startTime, 'YYYY-MM-DD HH:mm:ss').format('X'),\n endTime: moment(this.endTime, 'YYYY-MM-DD HH:mm:ss').format('X'),\n recordSource: '2',\n streamType: this.streamType,\n });\n resolve(true);\n });\n }\n else {\n return this.play();\n }\n }\n /** 销毁 */\n destroy() {\n if (this.type === 'flv') {\n const player = this.player;\n player === null || player === void 0 ? void 0 : 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 const dd = document.getElementById(this.containerId);\n dd && dd.childNodes && dd.childNodes[0] && dd.removeChild(dd.childNodes[0]);\n }\n if (this.type === 'hkcar_ws') {\n const player = this.player;\n player.JS_DestroyWorker();\n const dd = document.getElementById(this.containerId);\n (dd === null || dd === void 0 ? void 0 : dd.childNodes) && dd.childNodes[0] && dd.removeChild(dd.childNodes[0]);\n }\n if (this.type === 'icc_ws') {\n const player = this.player;\n player.close();\n }\n if (this.type === 'webrtc') {\n const player = this.player;\n player.close();\n }\n if (this.type === 'h264') {\n const player = this.player;\n player.close();\n }\n if (this.type === 'bd') {\n const player = this.player;\n player.close(0);\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' || this.type === 'hkcar_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' || this.type === 'hkcar_ws') {\n const player = this.player;\n setTimeout(() => {\n player.JS_Resize();\n }, 500);\n }\n else if (this.type === 'icc_ws') {\n const player = this.player;\n player.setPlayerAdapter('selfAdaption');\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' || this.type === 'hkcar_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' || this.type === 'hkcar_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 if (this.type === 'icc_ws') {\n const player = this.player;\n player.playSpeed(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.type === 'hkcar_ws') && this.seekTime) {\n currentTime = currentTime + this.seekTime.diff(this.startTime, 'seconds');\n }\n callback(currentTime, this.type === 'hk_ws' || this.type === 'hkcar_ws'\n ? this.preSpeed\n : 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, _b, _c;\n return __awaiter(this, void 0, void 0, function* () {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n const seekTime = (_a = moment(this.startTime)) === null || _a === void 0 ? void 0 : _a.add(time, 'seconds');\n this.seekTime = seekTime;\n yield player.JS_Seek(1, getHKTimeString(seekTime), getHKTimeString(this.endTime));\n }\n else if (this.type === 'icc_ws') {\n const player = this.player;\n const seekTime = (_b = moment(this.startTime)) === null || _b === void 0 ? void 0 : _b.add(time, 'seconds').format('HH:mm:ss');\n player.jumpPlayByTime(seekTime);\n }\n else if (this.type === 'bd') {\n const player = this.player;\n const seekTime = (_c = moment(this.startTime)) === null || _c === void 0 ? void 0 : _c.add(time, 'seconds').valueOf();\n player.jumpPlayByTime(seekTime);\n }\n else {\n this.video.currentTime = time;\n }\n return Promise.resolve();\n });\n }\n /**\n * 暂停播放\n * @param callback 回调函数\n */\n pause(callback) {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n player.JS_Pause(1).then(() => callback && callback());\n }\n else if (this.type === 'bd') {\n const player = this.player;\n player.pause();\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' || this.type === 'hkcar_ws') {\n const player = this.player;\n player.JS_Resume(1).then(() => callback && callback());\n }\n else if (this.type === 'bd') {\n const player = this.player;\n player.close(0);\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' || this.type === 'hkcar_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' || this.type === 'hkcar_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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"}
@@ -80,4 +80,6 @@ export declare const getUrlParam: (key?: string, href?: string) => any;
80
80
  * @returns 返回UUID
81
81
  */
82
82
  export declare function guid(): string;
83
+ export declare function loadJs(path: any): void;
84
+ export declare function loadCss(path: any): void;
83
85
  export {};
@@ -5,7 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getUrlTableData = exports.getUrlParam = exports.getPlayerParams = exports.getHKTimeString = exports.getHKListUrl = exports.bytesToMegaBytes = exports.TimeFormat = void 0;
7
7
  exports.guid = guid;
8
- exports.secondsToTime = exports.secondsToString = exports.guidGenerator = void 0;
8
+ exports.guidGenerator = void 0;
9
+ exports.loadCss = loadCss;
10
+ exports.loadJs = loadJs;
11
+ exports.secondsToTime = exports.secondsToString = void 0;
9
12
 
10
13
  var _jsBase = require("js-base64");
11
14
 
@@ -116,6 +119,20 @@ var getPlayerParams = function getPlayerParams(type, url, enableAgent, live) {
116
119
  var playerUrl = url;
117
120
  var playerType = 'flv';
118
121
 
122
+ if (type === 'bd') {
123
+ if (url.startsWith('http')) {
124
+ return {
125
+ type: 'bd',
126
+ url: url
127
+ };
128
+ }
129
+
130
+ return {
131
+ type: 'bd',
132
+ url: "".concat(window.location.origin).concat(url)
133
+ };
134
+ }
135
+
119
136
  if (url.startsWith('ws://') || url.startsWith('wss://')) {
120
137
  if (type === 'hkcar_ws') {
121
138
  playerType = 'hkcar_ws';
@@ -336,4 +353,29 @@ function guid() {
336
353
  return v.toString(16);
337
354
  });
338
355
  }
356
+
357
+ function loadJs(path) {
358
+ if (!path || path.length === 0) {
359
+ throw new Error('argument "path" is required !');
360
+ }
361
+
362
+ var head = document.getElementsByTagName('head')[0];
363
+ var script = document.createElement('script');
364
+ script.src = path;
365
+ script.type = 'text/javascript';
366
+ head.appendChild(script);
367
+ }
368
+
369
+ function loadCss(path) {
370
+ if (!path || path.length === 0) {
371
+ throw new Error('argument "path" is required !');
372
+ }
373
+
374
+ var head = document.getElementsByTagName('head')[0];
375
+ var link = document.createElement('link');
376
+ link.href = path;
377
+ link.rel = 'stylesheet';
378
+ link.type = 'text/css';
379
+ head.appendChild(link);
380
+ }
339
381
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
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","type","live","playerUrl","playerType","split","Base64","encode","getUrlTableData","data","result","list","map","item","i","beginTime","moment","endTime","totalSeconds","diff","index","deviceName","deviceCode","devicePort","deviceIp","streamType","channelName","format","params","size","bytesToMegaBytes","duration","secondsToString","downloadUrl","playbackUrl","code","hkType","deviceId","channelNum","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 else {\n src = url;\n }\n }\n }\n return src;\n};\n/**\n * 获取视频直播地址及格式\n * @param url\n * @returns\n */\nexport const getPlayerParams = (type, url, enableAgent, live) => {\n let playerUrl = url;\n let playerType = 'flv';\n if (url.startsWith('ws://') || url.startsWith('wss://')) {\n if (type === 'hkcar_ws') {\n playerType = 'hkcar_ws';\n }\n else {\n playerType = 'hk_ws';\n }\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 }\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 if (url.indexOf('webrtc') > -1) {\n playerUrl = url;\n playerType = 'webrtc';\n }\n if (url.indexOf('h264') > -1 || url.indexOf('cloudFile') > -1) {\n playerUrl = url;\n playerType = 'h264';\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 deviceCode: data.deviceCode,\n devicePort: data.devicePort,\n deviceIp: data.deviceIp,\n streamType: data.streamType,\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 code: item.code,\n hkType: data.hkType,\n deviceId: data.deviceId,\n channelNum: data.channelNum,\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":";;;;;;;;;AAAA;;AACA;;;;;;;;;;;;;;;;AACA;AACO,IAAIA,UAAJ;;;AACP,CAAC,UAAUA,UAAV,EAAsB;EACnBA,UAAU,CAAC,SAAD,CAAV,GAAwB,qBAAxB;EACAA,UAAU,CAAC,QAAD,CAAV,GAAuB,qBAAvB;EACAA,UAAU,CAAC,KAAD,CAAV,GAAoB,iBAApB;AACH,CAJD,EAIGA,UAAU,0BAAKA,UAAU,GAAG,EAAlB,CAJb;AAKA;;;AACO,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,GAAM;EAC/B,IAAMC,EAAE,GAAG,SAALA,EAAK,GAAY;IACnB,OAAO,CAAE,CAAC,IAAIC,IAAI,CAACC,MAAL,EAAL,IAAsB,OAAvB,GAAkC,CAAnC,EAAsCC,QAAtC,CAA+C,EAA/C,EAAmDC,SAAnD,CAA6D,CAA7D,CAAP;EACH,CAFD;;EAGA,OAAOJ,EAAE,KAAKA,EAAE,EAAT,GAAc,GAAd,GAAoBA,EAAE,EAAtB,GAA2B,GAA3B,GAAiCA,EAAE,EAAnC,GAAwC,GAAxC,GAA8CA,EAAE,EAAhD,GAAqD,GAArD,GAA2DA,EAAE,EAA7D,GAAkEA,EAAE,EAApE,GAAyEA,EAAE,EAAlF;AACH,CALM;;;;AAMP,IAAMK,YAAY,GAAG,SAAfA,YAAe,CAACC,GAAD,EAAMC,WAAN,EAAsB;EACvC,IAAIC,GAAG,GAAGF,GAAV;;EACA,IAAIC,WAAJ,EAAiB;IACb,IAAME,OAAO,GAAG,aAAaC,QAAQ,CAACC,QAAT,CAAkBC,QAA/C;;IACA,IAAIN,GAAG,CAACO,UAAJ,CAAe,OAAf,CAAJ,EAA6B;MACzBP,GAAG,GAAGA,GAAG,CAACQ,OAAJ,CAAY,SAAZ,EAAuB,EAAvB,CAAN;;MACA,IAAIR,GAAG,CAACO,UAAJ,CAAe,QAAf,CAAJ,EAA8B;QAC1BP,GAAG,GAAGA,GAAG,CAACQ,OAAJ,CAAY,UAAZ,EAAwB,EAAxB,CAAN;MACH;;MACD,IAAMC,MAAM,GAAGT,GAAG,CAACF,SAAJ,CAAc,CAAd,EAAiBE,GAAG,CAACU,OAAJ,CAAY,GAAZ,CAAjB,CAAf;MACA,IAAMC,IAAI,GAAGX,GAAG,CAACF,SAAJ,CAAcE,GAAG,CAACU,OAAJ,CAAY,GAAZ,CAAd,CAAb;MACAR,GAAG,GAAG,eAAeO,MAAf,GAAwB,OAAxB,GAAkCE,IAAxC;IACH,CARD,MASK,IAAIX,GAAG,CAACO,UAAJ,CAAe,KAAf,CAAJ,EAA2B;MAC5BP,GAAG,GAAGA,GAAG,CAACQ,OAAJ,CAAY,OAAZ,EAAqB,EAArB,CAAN;;MACA,IAAIR,GAAG,CAACO,UAAJ,CAAe,MAAf,CAAJ,EAA4B;QACxBP,GAAG,GAAGA,GAAG,CAACQ,OAAJ,CAAY,QAAZ,EAAsB,EAAtB,CAAN;MACH;;MACD,IAAMC,OAAM,GAAGT,GAAG,CAACF,SAAJ,CAAc,CAAd,EAAiBE,GAAG,CAACU,OAAJ,CAAY,GAAZ,CAAjB,CAAf;;MACA,IAAMC,KAAI,GAAGX,GAAG,CAACF,SAAJ,CAAcE,GAAG,CAACU,OAAJ,CAAY,GAAZ,CAAd,CAAb;;MACA,IAAMJ,QAAQ,GAAGH,OAAO,GAAG,QAAH,GAAc,OAAtC;MACAD,GAAG,GAAGI,QAAQ,GAAGM,MAAM,CAACP,QAAP,CAAgBQ,IAA3B,GAAkC,YAAlC,GAAiDJ,OAAjD,GAA0D,OAA1D,GAAoEE,KAA1E;IACH;EACJ,CArBD,MAsBK;IACD,IAAMR,QAAO,GAAG,aAAaC,QAAQ,CAACC,QAAT,CAAkBC,QAA/C;;IACA,IAAIH,QAAJ,EAAa;MACT,IAAIH,GAAG,CAACO,UAAJ,CAAe,OAAf,CAAJ,EAA6B;QACzBP,GAAG,GAAGA,GAAG,CAACQ,OAAJ,CAAY,SAAZ,EAAuB,EAAvB,CAAN;;QACA,IAAMC,QAAM,GAAGT,GAAG,CAACF,SAAJ,CAAc,CAAd,EAAiBE,GAAG,CAACU,OAAJ,CAAY,GAAZ,CAAjB,CAAf;;QACA,IAAMC,MAAI,GAAGX,GAAG,CAACF,SAAJ,CAAcE,GAAG,CAACU,OAAJ,CAAY,GAAZ,CAAd,CAAb;;QACAR,GAAG,GAAG,eAAeO,QAAf,GAAwB,OAAxB,GAAkCE,MAAxC;MACH,CALD,MAMK,IAAIX,GAAG,CAACO,UAAJ,CAAe,KAAf,CAAJ,EAA2B;QAC5BP,GAAG,GAAGA,GAAG,CAACQ,OAAJ,CAAY,OAAZ,EAAqB,EAArB,CAAN;;QACA,IAAMC,QAAM,GAAGT,GAAG,CAACF,SAAJ,CAAc,CAAd,EAAiBE,GAAG,CAACU,OAAJ,CAAY,GAAZ,CAAjB,CAAf;;QACA,IAAMC,MAAI,GAAGX,GAAG,CAACF,SAAJ,CAAcE,GAAG,CAACU,OAAJ,CAAY,GAAZ,CAAd,CAAb;;QACAR,GAAG,GAAG,WAAWU,MAAM,CAACP,QAAP,CAAgBQ,IAA3B,GAAkC,YAAlC,GAAiDJ,QAAjD,GAA0D,OAA1D,GAAoEE,MAA1E;MACH,CALI,MAMA;QACDT,GAAG,GAAGF,GAAN;MACH;IACJ;EACJ;;EACD,OAAOE,GAAP;AACH,CA7CD;AA8CA;AACA;AACA;AACA;AACA;;;AACO,IAAMY,eAAe,GAAG,SAAlBA,eAAkB,CAACC,IAAD,EAAOf,GAAP,EAAYC,WAAZ,EAAyBe,IAAzB,EAAkC;EAC7D,IAAIC,SAAS,GAAGjB,GAAhB;EACA,IAAIkB,UAAU,GAAG,KAAjB;;EACA,IAAIlB,GAAG,CAACO,UAAJ,CAAe,OAAf,KAA2BP,GAAG,CAACO,UAAJ,CAAe,QAAf,CAA/B,EAAyD;IACrD,IAAIQ,IAAI,KAAK,UAAb,EAAyB;MACrBG,UAAU,GAAG,UAAb;IACH,CAFD,MAGK;MACDA,UAAU,GAAG,OAAb;IACH;;IACD,IAAIF,IAAJ,EAAU;MACNC,SAAS,GAAGjB,GAAZ;IACH,CAFD,MAGK;MACDiB,SAAS,GAAGjB,GAAG,CAACmB,KAAJ,CAAU,GAAV,EAAe,CAAf,CAAZ;IACH;EACJ;;EACD,IAAInB,GAAG,CAACO,UAAJ,CAAe,SAAf,CAAJ,EAA+B;IAC3BW,UAAU,GAAG,KAAb;IACAD,SAAS,iDAA0CG,cAAA,CAAOC,MAAP,CAAcrB,GAAd,CAA1C,CAAT;EACH;;EACD,IAAIA,GAAG,CAACU,OAAJ,CAAY,KAAZ,IAAqB,CAAC,CAA1B,EAA6B;IACzBO,SAAS,GAAGjB,GAAZ;IACAkB,UAAU,GAAG,KAAb;EACH;;EACD,IAAIlB,GAAG,CAACU,OAAJ,CAAY,MAAZ,IAAsB,CAAC,CAA3B,EAA8B;IAC1BO,SAAS,GAAGjB,GAAZ;IACAkB,UAAU,GAAG,KAAb;EACH;;EACD,IAAIlB,GAAG,CAACU,OAAJ,CAAY,QAAZ,IAAwB,CAAC,CAA7B,EAAgC;IAC5BO,SAAS,GAAGjB,GAAZ;IACAkB,UAAU,GAAG,QAAb;EACH;;EACD,IAAIlB,GAAG,CAACU,OAAJ,CAAY,MAAZ,IAAsB,CAAC,CAAvB,IAA4BV,GAAG,CAACU,OAAJ,CAAY,WAAZ,IAA2B,CAAC,CAA5D,EAA+D;IAC3DO,SAAS,GAAGjB,GAAZ;IACAkB,UAAU,GAAG,MAAb;EACH;;EACD,OAAO;IAAElB,GAAG,EAAED,YAAY,CAACkB,SAAD,EAAYhB,WAAZ,CAAnB;IAA6Cc,IAAI,EAAEG;EAAnD,CAAP;AACH,CAtCM;AAuCP;AACA;AACA;AACA;AACA;;;;;AACO,IAAMI,eAAe,GAAG,SAAlBA,eAAkB,CAACC,IAAD,EAAU;EACrC,IAAMC,MAAM,GAAGD,IAAI,CAACE,IAAL,CAAUC,GAAV,CAAc,UAACC,IAAD,EAAOC,CAAP,EAAa;IACtC,IAAMC,SAAS,GAAG,IAAAC,kBAAA,EAAOH,IAAI,CAACE,SAAZ,CAAlB;IACA,IAAME,OAAO,GAAG,IAAAD,kBAAA,EAAOH,IAAI,CAACI,OAAZ,CAAhB;IACA,IAAMC,YAAY,GAAG,IAAAF,kBAAA,EAAOC,OAAP,EAAgBE,IAAhB,CAAqB,IAAAH,kBAAA,EAAOD,SAAP,CAArB,EAAwC,SAAxC,CAArB;IACA,OAAO;MACHK,KAAK,EAAEN,CAAC,GAAG,CADR;MAEHO,UAAU,EAAEZ,IAAI,CAACY,UAFd;MAGHC,UAAU,EAAEb,IAAI,CAACa,UAHd;MAIHC,UAAU,EAAEd,IAAI,CAACc,UAJd;MAKHC,QAAQ,EAAEf,IAAI,CAACe,QALZ;MAMHC,UAAU,EAAEhB,IAAI,CAACgB,UANd;MAOHC,WAAW,EAAEjB,IAAI,CAACiB,WAPf;MAQHX,SAAS,EAAEA,SAAS,CAACY,MAAV,CAAiBjD,UAAU,CAACkD,MAA5B,CARR;MASHX,OAAO,EAAEA,OAAO,CAACU,MAAR,CAAejD,UAAU,CAACkD,MAA1B,CATN;MAUHC,IAAI,EAAEC,gBAAgB,CAACjB,IAAI,CAACgB,IAAN,CAVnB;MAWHE,QAAQ,EAAEC,eAAe,CAACd,YAAD,CAXtB;MAYHe,WAAW,EAAE,EAZV;MAaH/C,GAAG,EAAE2B,IAAI,CAACqB,WAAL,IAAoB,EAbtB;MAcH/C,WAAW,EAAEsB,IAAI,CAACtB,WAAL,IAAoB,KAd9B;MAeHgD,IAAI,EAAEtB,IAAI,CAACsB,IAfR;MAgBHC,MAAM,EAAE3B,IAAI,CAAC2B,MAhBV;MAiBHC,QAAQ,EAAE5B,IAAI,CAAC4B,QAjBZ;MAkBHC,UAAU,EAAE7B,IAAI,CAAC6B;IAlBd,CAAP;EAoBH,CAxBc,CAAf;EAyBA,OAAO5B,MAAP;AACH,CA3BM;AA4BP;AACA;AACA;AACA;AACA;;;;;AACO,IAAMoB,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACS,KAAD;EAAA,iBAAc,CAACA,KAAK,GAAG1D,IAAI,CAAC2D,GAAL,CAAS,IAAT,EAAe,CAAf,CAAT,EAA4BC,OAA5B,CAAoC,CAApC,CAAd;AAAA,CAAzB;AACP;AACA;AACA;AACA;AACA;;;;;AACO,IAAMT,eAAe,GAAG,SAAlBA,eAAkB,CAACU,KAAD,EAAW;EACtC,IAAMC,IAAI,GAAG9D,IAAI,CAAC+D,KAAL,CAAWF,KAAK,GAAG,IAAnB,CAAb;EACA,IAAMG,MAAM,GAAGhE,IAAI,CAAC+D,KAAL,CAAYF,KAAK,GAAG,IAAT,GAAiB,EAA5B,CAAf;EACA,IAAMI,MAAM,GAAGjE,IAAI,CAAC+D,KAAL,CAAWF,KAAK,GAAG,EAAnB,CAAf;EACA,IAAMhC,MAAM,aAAMiC,IAAI,GAAG,CAAP,GAAWA,IAAI,GAAG,IAAlB,GAAyB,EAA/B,SAAoCE,MAAM,GAAG,CAAT,GAAaA,MAAM,GAAG,GAAtB,GAA4B,EAAhE,SAAqEC,MAAM,GAAG,CAAT,GAAaA,MAAM,GAAG,GAAtB,GAA4B,EAAjG,CAAZ;EACA,OAAOpC,MAAP;AACH,CANM;AAOP;AACA;AACA;AACA;AACA;;;;;AACO,IAAMqC,aAAa,GAAG,SAAhBA,aAAgB,CAACL,KAAD,EAAW;EACpC,IAAMC,IAAI,GAAG9D,IAAI,CAAC+D,KAAL,CAAWF,KAAK,GAAG,IAAnB,CAAb;EACA,IAAMG,MAAM,GAAGhE,IAAI,CAAC+D,KAAL,CAAYF,KAAK,GAAG,IAAT,GAAiB,EAA5B,CAAf;EACA,IAAMI,MAAM,GAAGjE,IAAI,CAAC+D,KAAL,CAAWF,KAAK,GAAG,EAAnB,CAAf;EACA,IAAMhC,MAAM,aAAMiC,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoB,MAAMA,IAAhC,cAAwCE,MAAM,IAAI,EAAV,GAAeA,MAAf,GAAwB,MAAMA,MAAtE,cAAgFC,MAAM,IAAI,EAAV,GAAeA,MAAf,GAAwB,MAAMA,MAA9G,CAAZ;EACA,OAAOpC,MAAP;AACH,CANM;AAOP;AACA;AACA;AACA;AACA;;;;;AACO,IAAMsC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,IAAD,EAAU;EACrC,OAAO,IAAAjC,kBAAA,EAAOiC,IAAP,EAAatB,MAAb,CAAoBjD,UAAU,WAA9B,IAA0C,GAAjD;AACH,CAFM;AAGP;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,IAAMwE,YAAY,GAAG,SAAfA,YAAe,CAACC,QAAD,EAAWC,SAAX,EAAsBnC,OAAtB,EAAkC;EAC1D,sBAAqBkC,QAAQ,CAAC9C,KAAT,CAAe,GAAf,CAArB;EAAA;EAAA,IAAOnB,GAAP;EAAA,IAAYmE,KAAZ;;EACA,IAAMC,SAAS,GAAG,IAAIC,eAAJ,CAAoBF,KAApB,CAAlB;EACAC,SAAS,CAACE,GAAV,CAAc,WAAd,EAA2BR,eAAe,CAACI,SAAD,CAA1C;EACAE,SAAS,CAACE,GAAV,CAAc,SAAd,EAAyBR,eAAe,CAAC/B,OAAD,CAAxC;EACA,iBAAU/B,GAAV,cAAiBoE,SAAS,CAACvE,QAAV,EAAjB;AACH,CANM;AAOP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,IAAM0E,WAAW,GAAG,SAAdA,WAAc,CAACC,GAAD,EAAsC;EAAA,IAAhCC,IAAgC,uEAAzB7D,MAAM,CAACP,QAAP,CAAgBoE,IAAS;EAC7D,IAAMC,QAAQ,GAAG,EAAjB;EACA,IAAMC,SAAS,GAAGF,IAAI,CAACG,KAAL,CAAW,uBAAX,KAAuC,EAAzD;;EACA,KAAK,IAAIhD,CAAC,GAAG,CAAR,EAAWiD,GAAG,GAAGF,SAAS,CAACG,MAAhC,EAAwClD,CAAC,GAAGiD,GAA5C,EAAiDjD,CAAC,EAAlD,EAAsD;IAClD,IAAMmD,CAAC,GAAGJ,SAAS,CAAC/C,CAAD,CAAT,CAAagD,KAAb,CAAmB,qBAAnB,CAAV;IACAF,QAAQ,CAACK,CAAC,CAAC,CAAD,CAAF,CAAR,GAAiBA,CAAC,CAAC,CAAD,CAAlB;EACH;;EACD,IAAIP,GAAJ,EAAS;IACL,OAAOE,QAAQ,CAACF,GAAD,CAAf;EACH,CAFD,MAGK;IACD,OAAOE,QAAP;EACH;AACJ,CAbM;AAcP;AACA;AACA;AACA;;;;;AACO,SAASM,IAAT,GAAgB;EACnB,OAAO,uCAAuCxE,OAAvC,CAA+C,OAA/C,EAAwD,UAAUyE,CAAV,EAAa;IACxE,IAAMF,CAAC,GAAIpF,IAAI,CAACC,MAAL,KAAgB,EAAjB,GAAuB,CAAjC;IAAA,IAAoCsF,CAAC,GAAGD,CAAC,IAAI,GAAL,GAAWF,CAAX,GAAgBA,CAAC,GAAG,GAAL,GAAY,GAAnE;IACA,OAAOG,CAAC,CAACrF,QAAF,CAAW,EAAX,CAAP;EACH,CAHM,CAAP;AAIH"}
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","type","live","playerUrl","playerType","origin","split","Base64","encode","getUrlTableData","data","result","list","map","item","i","beginTime","moment","endTime","totalSeconds","diff","index","deviceName","deviceCode","devicePort","deviceIp","streamType","channelName","format","params","size","bytesToMegaBytes","duration","secondsToString","downloadUrl","playbackUrl","code","hkType","deviceId","channelNum","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","loadJs","Error","head","getElementsByTagName","script","createElement","appendChild","loadCss","link","rel"],"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 else {\n src = url;\n }\n }\n }\n return src;\n};\n/**\n * 获取视频直播地址及格式\n * @param url\n * @returns\n */\nexport const getPlayerParams = (type, url, enableAgent, live) => {\n let playerUrl = url;\n let playerType = 'flv';\n if (type === 'bd') {\n if (url.startsWith('http')) {\n return {\n type: 'bd',\n url,\n };\n }\n return {\n type: 'bd',\n url: `${window.location.origin}${url}`,\n };\n }\n if (url.startsWith('ws://') || url.startsWith('wss://')) {\n if (type === 'hkcar_ws') {\n playerType = 'hkcar_ws';\n }\n else {\n playerType = 'hk_ws';\n }\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 }\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 if (url.indexOf('webrtc') > -1) {\n playerUrl = url;\n playerType = 'webrtc';\n }\n if (url.indexOf('h264') > -1 || url.indexOf('cloudFile') > -1) {\n playerUrl = url;\n playerType = 'h264';\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 deviceCode: data.deviceCode,\n devicePort: data.devicePort,\n deviceIp: data.deviceIp,\n streamType: data.streamType,\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 code: item.code,\n hkType: data.hkType,\n deviceId: data.deviceId,\n channelNum: data.channelNum,\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}\nexport function loadJs(path) {\n if (!path || path.length === 0) {\n throw new Error('argument \"path\" is required !');\n }\n const head = document.getElementsByTagName('head')[0];\n const script = document.createElement('script');\n script.src = path;\n script.type = 'text/javascript';\n head.appendChild(script);\n}\nexport function loadCss(path) {\n if (!path || path.length === 0) {\n throw new Error('argument \"path\" is required !');\n }\n const head = document.getElementsByTagName('head')[0];\n const link = document.createElement('link');\n link.href = path;\n link.rel = 'stylesheet';\n link.type = 'text/css';\n head.appendChild(link);\n}\n"],"mappings":"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"}