@cloud-app-dev/vidc 3.0.35 → 3.0.37

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/.umirc.ts CHANGED
@@ -2,7 +2,7 @@ import { defineConfig } from 'dumi';
2
2
  import path from 'path';
3
3
 
4
4
  const token =
5
- 'eyJhbGciOiJIUzI1NiJ9.eyJvcmdhbml6YXRpb25JZCI6IjEwMDEwMTAwMDQ0NSIsImV4dCI6MTY2MzkyNzM5NjQzMCwidWlkIjoiMTAxMDAwMDAwNjk5IiwidmFsaWRTdGF0ZSI6MTA0NDA2LCJyb2xlSWQiOlsxMDAwMDAxMTA1MTgsMTAwMDAwMTEwNzI4XSwidmFsaWRUaW1lIjoxNzA0MzgzOTk5MDAwLCJvcHRDZW50ZXJJZCI6IjEwMDEwMDAwMDIzMyIsInVzZXJUeXBlIjoxMDA3MDQsImlhdCI6MTY2MzY2ODE5NjQzMH0.bJbtN-QjTUGGSIJRfR1ycjhtGt6UCEsrS29CYN-AAfw';
5
+ 'eyJhbGciOiJIUzI1NiJ9.eyJvcmdhbml6YXRpb25JZCI6IjEwMDEwMTAwMDQ0NSIsImV4dCI6MTY2NTc0ODU1OTg5MSwidWlkIjoiMTAxMDAwMDAwNjk5IiwidmFsaWRTdGF0ZSI6MTA0NDA2LCJyb2xlSWQiOlsxMDAwMDAxMTA1MTgsMTAwMDAwMTEwNzI4XSwidmFsaWRUaW1lIjoxNzA0MzgzOTk5MDAwLCJvcHRDZW50ZXJJZCI6IjEwMDEwMDAwMDIzMyIsInVzZXJUeXBlIjoxMDA3MDQsImlhdCI6MTY2NTQ4OTM1OTg5MX0.zxxxxoaKjyO6CJhi2cs06gTOtjdLgPA9UI7zAQ0zzss';
6
6
 
7
7
  export default defineConfig({
8
8
  title: 'CloudApp VIDC',
@@ -280,7 +280,7 @@ SinglePlayer.defaultProps = {
280
280
  hlsConfig: {},
281
281
  extActions: {},
282
282
  oneFpsPlay: false,
283
- fpsDelay: 100,
283
+ fpsDelay: 500,
284
284
  fps: 30
285
285
  };
286
286
  export default SinglePlayer;
@@ -26,6 +26,7 @@ import { ScreenType, mergeFill } from './utils';
26
26
  import { LivePlayerWithExt } from './PlayerWithExt';
27
27
  import Tools from './LiveTools';
28
28
  import useVideoFit from './useVideoFit';
29
+ import DisableMark from '../DisableMark';
29
30
  import "./index.css";
30
31
 
31
32
  function LivePlayer(_a) {
@@ -174,11 +175,13 @@ function LivePlayer(_a) {
174
175
  height: screenType.height
175
176
  }
176
177
  }));
177
- })), /*#__PURE__*/React.createElement(Tools, {
178
+ })), /*#__PURE__*/React.createElement(DisableMark, {
179
+ disabled: !segmentItem.url,
180
+ width: "70%"
181
+ }, /*#__PURE__*/React.createElement(Tools, {
178
182
  onClose: onClose,
179
183
  onCloseAll: onCloseAll,
180
184
  fit: fit,
181
- disabled: !segmentItem.url,
182
185
  toggleFit: toggleFit,
183
186
  getPlayerItem: getPlayerItem,
184
187
  screenNum: screenNum,
@@ -190,7 +193,7 @@ function LivePlayer(_a) {
190
193
  allWinExtTools: allWinExtTools
191
194
  }), children && /*#__PURE__*/React.cloneElement(children, {
192
195
  selectIndex: state.selectIndex
193
- }));
196
+ })));
194
197
  }
195
198
 
196
199
  LivePlayer.defaultProps = {
@@ -14,7 +14,6 @@ interface IToolsProps {
14
14
  toggleFit?: () => void;
15
15
  onClose?: () => void;
16
16
  onCloseAll?: () => void;
17
- disabled: boolean;
18
17
  snapshot?: (base64?: string) => void;
19
18
  /**
20
19
  * 单窗口拓展工具条,左侧
@@ -25,5 +24,5 @@ interface IToolsProps {
25
24
  */
26
25
  allWinExtTools?: JSX.Element;
27
26
  }
28
- declare function LiveTools({ containerRef, oneWinExtTools, allWinExtTools, updateState, screenNum, getPlayerItem, mode, toggleFit, fit, onClose, onCloseAll, disabled, snapshot, }: IToolsProps): JSX.Element;
27
+ declare function LiveTools({ containerRef, oneWinExtTools, allWinExtTools, updateState, screenNum, getPlayerItem, mode, toggleFit, fit, onClose, onCloseAll, snapshot, }: IToolsProps): JSX.Element;
29
28
  export default LiveTools;
@@ -16,7 +16,6 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
16
  import React from 'react';
17
17
  import IconFont from '../Player/iconfont';
18
18
  import ScreenSelect from './ScreenSelect';
19
- import DisableMark from '../DisableMark';
20
19
  import useFullscreen from '../useFullscreen';
21
20
  import Volume from '../Player/contraller_bar/volume';
22
21
 
@@ -32,7 +31,6 @@ function LiveTools(_ref) {
32
31
  fit = _ref.fit,
33
32
  onClose = _ref.onClose,
34
33
  onCloseAll = _ref.onCloseAll,
35
- disabled = _ref.disabled,
36
34
  snapshot = _ref.snapshot;
37
35
 
38
36
  var _useFullscreen = useFullscreen(containerRef),
@@ -73,9 +71,6 @@ function LiveTools(_ref) {
73
71
 
74
72
  return /*#__PURE__*/React.createElement("div", {
75
73
  className: "player-tools"
76
- }, /*#__PURE__*/React.createElement(DisableMark, {
77
- disabled: disabled,
78
- width: "70%"
79
74
  }, /*#__PURE__*/React.createElement("div", {
80
75
  className: "player-tools-left"
81
76
  }, /*#__PURE__*/React.createElement("span", {
@@ -160,7 +155,7 @@ function LiveTools(_ref) {
160
155
  }) : /*#__PURE__*/React.createElement(IconFont, {
161
156
  type: "lm-player-quanping",
162
157
  title: "\u5168\u5C4F"
163
- })))));
158
+ }))));
164
159
  }
165
160
 
166
161
  export default LiveTools;
@@ -12,8 +12,10 @@ export declare function LivePlayerWithExt({ mode, url, type, style, className, u
12
12
  interface ISegmentPlayerWithExtProps extends Omit<ILivePlayerWithExtProps, 'url'> {
13
13
  segments?: ISegmentType[];
14
14
  begin?: number;
15
+ fpsDelay?: number;
16
+ fps?: number;
15
17
  }
16
- export declare function SegmentPlayerWithExt({ begin, style, className, segments, updatePlayer, onClick, mode, ...props }: ISegmentPlayerWithExtProps): JSX.Element;
18
+ export declare function SegmentPlayerWithExt({ begin, style, className, segments, updatePlayer, onClick, mode, fpsDelay, fps, ...props }: ISegmentPlayerWithExtProps): JSX.Element;
17
19
  interface IFrontendPlayerWithExtProps extends Omit<ILivePlayerWithExtProps, 'url'> {
18
20
  segments?: ISegmentType[];
19
21
  begin?: number;
@@ -74,7 +74,9 @@ export function SegmentPlayerWithExt(_a) {
74
74
  updatePlayer = _a.updatePlayer,
75
75
  onClick = _a.onClick,
76
76
  mode = _a.mode,
77
- props = __rest(_a, ["begin", "style", "className", "segments", "updatePlayer", "onClick", "mode"]);
77
+ fpsDelay = _a.fpsDelay,
78
+ fps = _a.fps,
79
+ props = __rest(_a, ["begin", "style", "className", "segments", "updatePlayer", "onClick", "mode", "fpsDelay", "fps"]);
78
80
 
79
81
  var forceUpdate = _useUpdate();
80
82
 
@@ -104,6 +106,8 @@ export function SegmentPlayerWithExt(_a) {
104
106
  forwordRef: ref,
105
107
  begin: begin,
106
108
  onCanPlayerInit: update,
109
+ fps: fps,
110
+ fpsDelay: fpsDelay,
107
111
  customTimeLine: /*#__PURE__*/React.createElement(React.Fragment, null)
108
112
  }))));
109
113
  }
@@ -6,5 +6,5 @@ import './index.less';
6
6
  * @param param0
7
7
  * @returns
8
8
  */
9
- declare function RecordPlayer({ list, children, queryRecord, onIndexChange, onClose, onCloseAll, download, snapshot, defaultScreen, screenChange, defaultSelectIndex, oneWinExtTools, allWinExtTools, ...options }: IRecordPlayerProps): JSX.Element;
9
+ declare function RecordPlayer({ list, children, queryRecord, onIndexChange, onClose, onCloseAll, download, snapshot, defaultScreen, screenChange, defaultSelectIndex, oneWinExtTools, allWinExtTools, fpsDelay, fps, ...options }: IRecordPlayerProps): JSX.Element;
10
10
  export default RecordPlayer;
@@ -39,6 +39,7 @@ import useRecordList from './useRecordList';
39
39
  import useVideoFit from './useVideoFit';
40
40
  import DisableMark from '../DisableMark';
41
41
  import "./index.css";
42
+ import { cloneDeep } from 'lodash-es';
42
43
  var defaultState = {
43
44
  screenNum: 4,
44
45
  selectIndex: 0,
@@ -71,9 +72,11 @@ function RecordPlayer(_a) {
71
72
  defaultSelectIndex = _a.defaultSelectIndex,
72
73
  oneWinExtTools = _a.oneWinExtTools,
73
74
  allWinExtTools = _a.allWinExtTools,
74
- options = __rest(_a, ["list", "children", "queryRecord", "onIndexChange", "onClose", "onCloseAll", "download", "snapshot", "defaultScreen", "screenChange", "defaultSelectIndex", "oneWinExtTools", "allWinExtTools"]);
75
+ fpsDelay = _a.fpsDelay,
76
+ fps = _a.fps,
77
+ options = __rest(_a, ["list", "children", "queryRecord", "onIndexChange", "onClose", "onCloseAll", "download", "snapshot", "defaultScreen", "screenChange", "defaultSelectIndex", "oneWinExtTools", "allWinExtTools", "fpsDelay", "fps"]);
75
78
 
76
- var _useState = useState(Object.assign(Object.assign({}, defaultState), {
79
+ var _useState = useState(Object.assign(Object.assign({}, cloneDeep(defaultState)), {
77
80
  screenNum: defaultScreen !== null && defaultScreen !== void 0 ? defaultScreen : defaultState.screenNum
78
81
  })),
79
82
  _useState2 = _slicedToArray(_useState, 2),
@@ -129,10 +132,8 @@ function RecordPlayer(_a) {
129
132
  return recordList[state.selectIndex] || {};
130
133
  }, [state.selectIndex, recordList]);
131
134
  var timeBegin = useMemo(function () {
132
- var _a;
133
-
134
- return (_a = state.currentTimes[state.selectIndex]) !== null && _a !== void 0 ? _a : segmentItem.date;
135
- }, [segmentItem.date, state.currentTimes, state.selectIndex]);
135
+ return segmentItem.date;
136
+ }, [segmentItem.date]);
136
137
  /**
137
138
  * @desc 用户缓存接收list的变化。
138
139
  */
@@ -403,7 +404,9 @@ function RecordPlayer(_a) {
403
404
  width: screenType.width,
404
405
  height: screenType.height
405
406
  },
406
- mode: (_d = item.mode) !== null && _d !== void 0 ? _d : state.modes[index]
407
+ mode: (_d = item.mode) !== null && _d !== void 0 ? _d : state.modes[index],
408
+ fps: fps,
409
+ fpsDelay: fpsDelay
407
410
  })) : /*#__PURE__*/React.createElement(FrontendPlayerWithExt, Object.assign({}, item, {
408
411
  className: state.selectIndex === index ? 'player-current-index' : '',
409
412
  segments: ((_e = recordList[index]) === null || _e === void 0 ? void 0 : _e.segments) || [],
@@ -24,7 +24,7 @@ function SegmentTimeLine(_ref) {
24
24
  }).valueOf();
25
25
  }, [begin]);
26
26
  useTimeSlider(ref, {
27
- begin: time - timeMode / 2 * 3600 * 1000,
27
+ begin: time,
28
28
  currentTime: time,
29
29
  onTimeChange: run,
30
30
  segments: segments,
@@ -28,7 +28,7 @@ import RecordPlayer from './Record';
28
28
  import moment from 'moment';
29
29
  import Service from '../Service';
30
30
  import { completionSegments } from './utils';
31
- var token = "eyJhbGciOiJIUzI1NiJ9.eyJvcmdhbml6YXRpb25JZCI6IjEwMDEwMTAwMDQ0NSIsImV4dCI6MTY2MzkyNzM5NjQzMCwidWlkIjoiMTAxMDAwMDAwNjk5IiwidmFsaWRTdGF0ZSI6MTA0NDA2LCJyb2xlSWQiOlsxMDAwMDAxMTA1MTgsMTAwMDAwMTEwNzI4XSwidmFsaWRUaW1lIjoxNzA0MzgzOTk5MDAwLCJvcHRDZW50ZXJJZCI6IjEwMDEwMDAwMDIzMyIsInVzZXJUeXBlIjoxMDA3MDQsImlhdCI6MTY2MzY2ODE5NjQzMH0.bJbtN-QjTUGGSIJRfR1ycjhtGt6UCEsrS29CYN-AAfw";
31
+ var token = "eyJhbGciOiJIUzI1NiJ9.eyJvcmdhbml6YXRpb25JZCI6IjEwMDEwMTAwMDQ0NSIsImV4dCI6MTY2NTc0ODU1OTg5MSwidWlkIjoiMTAxMDAwMDAwNjk5IiwidmFsaWRTdGF0ZSI6MTA0NDA2LCJyb2xlSWQiOlsxMDAwMDAxMTA1MTgsMTAwMDAwMTEwNzI4XSwidmFsaWRUaW1lIjoxNzA0MzgzOTk5MDAwLCJvcHRDZW50ZXJJZCI6IjEwMDEwMDAwMDIzMyIsInVzZXJUeXBlIjoxMDA3MDQsImlhdCI6MTY2NTQ4OTM1OTg5MX0.zxxxxoaKjyO6CJhi2cs06gTOtjdLgPA9UI7zAQ0zzss";
32
32
  var cids = ['538509097', '539172446'];
33
33
 
34
34
  var query = function query(_ref) {
@@ -77,6 +77,9 @@ export interface IRecordPlayerProps {
77
77
  * 全局窗口工具条,右侧
78
78
  */
79
79
  allWinExtTools?: JSX.Element;
80
+
81
+ fpsDelay?: number;
82
+ fps?: number;
80
83
  }
81
84
 
82
85
  export interface IRecordPlayerState {
@@ -17,8 +17,8 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
17
17
 
18
18
  import moment from 'moment';
19
19
  import { useEffect, useMemo, useRef, useState } from 'react';
20
- var hours = [1, 6, 12, 24];
21
- var currentColor = '#FF000A';
20
+ var hours = [1, 6, 12, 24]; // const currentColor = '#FF000A';
21
+
22
22
  var normalLineColor = '#ffffff';
23
23
  var hoverLineColor = '#319BFF';
24
24
  var minPerStep = [1, 2, 5, 10, 15, 20, 30, 60, 120, 180, 240, 360, 720, 1440];
@@ -237,32 +237,20 @@ function useTimeSlider(canvasRef, _ref2) {
237
237
  * 绘制当前刻度
238
238
  * @returns
239
239
  */
240
+ // const drawCurrentLine = () => {
241
+ // const { currentTime, begin, hoursPer } = state;
242
+ // const time = currentTime;
243
+ // const range = [begin, currentTime + hoursPer * 3600 * 1000];
244
+ // if (time < range[0] || time > range[1]) {
245
+ // return;
246
+ // }
247
+ // const ms_current = time - begin;
248
+ // const px_per_ms = width / (hoursPer * 60 * 60 * 1000); // px/ms
249
+ // const left = px_per_ms * ms_current;
250
+ // drawText(ctx, { fillStyle: '#ffffff', font: '12px Arial', x: left - 64, y: 14, text: formartTimestemp(time) });
251
+ // drawLine(ctx, left, 20, left, height, currentColor, 2); //中间当前点线
252
+ // };
240
253
 
241
-
242
- var drawCurrentLine = function drawCurrentLine() {
243
- var currentTime = state.currentTime,
244
- begin = state.begin,
245
- hoursPer = state.hoursPer;
246
- var time = currentTime;
247
- var range = [begin, currentTime + hoursPer * 3600 * 1000];
248
-
249
- if (time < range[0] || time > range[1]) {
250
- return;
251
- }
252
-
253
- var ms_current = time - begin;
254
- var px_per_ms = width / (hoursPer * 60 * 60 * 1000); // px/ms
255
-
256
- var left = px_per_ms * ms_current;
257
- drawText(ctx, {
258
- fillStyle: '#ffffff',
259
- font: '12px Arial',
260
- x: left - 64,
261
- y: 14,
262
- text: formartTimestemp(time)
263
- });
264
- drawLine(ctx, left, 20, left, height, currentColor, 2); //中间当前点线
265
- };
266
254
  /**
267
255
  * 绘制提示时间
268
256
  */
@@ -303,15 +291,16 @@ function useTimeSlider(canvasRef, _ref2) {
303
291
  if (canvas) {
304
292
  clearCanvas();
305
293
  drawOverlay();
306
- drawScale();
307
- drawCurrentLine();
294
+ drawScale(); // drawCurrentLine();
295
+
308
296
  state.hover.time && drawHoverLine();
309
297
  } // eslint-disable-next-line react-hooks/exhaustive-deps
310
298
 
311
299
  }, [canvas, state.begin, state.currentTime, state.hoursPer, segments, state.hover]);
312
300
 
313
301
  _useUpdateEffect(function () {
314
- return update({
302
+ console.log(begin);
303
+ update({
315
304
  begin: begin
316
305
  });
317
306
  }, [begin]);
@@ -320,13 +309,8 @@ function useTimeSlider(canvasRef, _ref2) {
320
309
  return update({
321
310
  hoursPer: hoursPer
322
311
  });
323
- }, [hoursPer]);
312
+ }, [hoursPer]); // useUpdateEffect(() => update({ currentTime }), [currentTime]);
324
313
 
325
- _useUpdateEffect(function () {
326
- return update({
327
- currentTime: currentTime
328
- });
329
- }, [currentTime]);
330
314
  /**
331
315
  * 触发绘制范围单位(hour)
332
316
  */
@@ -456,14 +440,9 @@ function useTimeSlider(canvasRef, _ref2) {
456
440
  return new_current >= v.beginTime && new_current < v.endTime;
457
441
  }); // 当前片段没有录像的时候
458
442
 
459
- var outTimeline = segmentItem && !segmentItem.url;
460
- var new_begin = new_current - state.hoursPer * 60 * 60 * 1000 / 2;
461
- setState(function (old) {
462
- return Object.assign(Object.assign({}, old), {
463
- begin: new_begin,
464
- current: new_current
465
- });
466
- });
443
+ var outTimeline = segmentItem && !segmentItem.url; // const new_begin = new_current - (state.hoursPer * 60 * 60 * 1000) / 2;
444
+ // setState((old) => ({ ...old, begin: new_begin, current: new_current }));
445
+ // setState((old) => ({ ...old, begin: new_begin, current: new_current }));
467
446
 
468
447
  _nextTick(function () {
469
448
  return onTimeChange === null || onTimeChange === void 0 ? void 0 : onTimeChange(new_current, outTimeline);
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "private": false,
3
3
  "name": "@cloud-app-dev/vidc",
4
4
  "description": "Video Image Data Componennts",
5
- "version": "3.0.35",
5
+ "version": "3.0.37",
6
6
  "scripts": {
7
7
  "start": "dumi dev",
8
8
  "docs:build": "dumi build",