ezuikit-js 8.0.6-beta.2 → 8.0.6

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/CHANGELOG.md CHANGED
@@ -1,6 +1,21 @@
1
- ## v8.0.0-alpha.0
1
+ ## v8.0.1-beta.0
2
2
 
3
- [feat] 更新底层解码库
3
+ [feat] 回放支持seek
4
+ [feat] 云台控制支持8个方向,支持物理缩放、变焦
5
+
6
+ ## v8.0.0
7
+
8
+ [feat] 对底层播放器进行重构
9
+
10
+ [feat] 开始支持本地资源配置(staticPath)
11
+
12
+ [fix] 修复了一些已知问题
13
+
14
+ ## v7.7.10
15
+
16
+ [feat] 新增云录制回放支持 (暂时仅对内使用)
17
+
18
+ [fix] 修复了一些已知问题
4
19
 
5
20
  ## v7.7.2 (2023-08-11)
6
21
 
package/README.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # [EZUIKit-JavaScript-npm][ezuikit-js]
2
2
 
3
+ ![Download](https://img.shields.io/npm/dm/ezuikit-js.svg)
4
+ ![Version](https://img.shields.io/npm/v/ezuikit-js.svg)
5
+ ![License](https://img.shields.io/npm/l/ezuikit-js.svg)
6
+
7
+
3
8
  > 轻应用npm版本,降低接入难度,适配自定义UI,适配主流框架
4
9
 
5
10
  > 低延时预览,云存储回放,SD卡回放
@@ -11,7 +16,15 @@
11
16
  ### 获取ezuikit-js
12
17
 
13
18
  ```
14
- $ npm install ezuikit-js
19
+ npm install ezuikit-js
20
+
21
+ # yarn
22
+
23
+ yarn add ezuikit-js
24
+
25
+ # pnpm
26
+
27
+ pnpm add ezuikit-js
15
28
  ```
16
29
  ### 引入ezuikit-js
17
30
 
@@ -20,12 +33,15 @@ import EZUIKit from 'ezuikit-js';
20
33
  ```
21
34
 
22
35
  #### 如果你使用原生方法,可以通过标签引用
36
+
23
37
  ```
38
+ <!-- umd -->
24
39
  <script src="./ezuikit.js"></script>
25
40
  ```
26
41
 
27
42
  ### 开始使用 - 初始化
28
- >基本使用
43
+
44
+ > 基本使用
29
45
 
30
46
  创建DOM
31
47
 
@@ -34,51 +50,62 @@ import EZUIKit from 'ezuikit-js';
34
50
  ```
35
51
 
36
52
  ## 播放器初始化
53
+
37
54
  ### 直播
38
- ```
55
+
56
+ ```js
39
57
  var player = new EZUIKit.EZUIKitPlayer({
40
58
  id: 'video-container', // 视频容器ID
41
59
  accessToken: 'at.3bvmj4ycamlgdwgw1ig1jruma0wpohl6-48zifyb39c-13t5am6-yukyi86mz',
42
- url: 'ezopen://open.ys7.com/AA2615287/1.live',
60
+ url: 'ezopen://open.ys7.com/G39444019/1.live',
43
61
  width: 600,
44
62
  height: 400,
63
+ handleError: (err) => {
64
+ if (err.type === "handleRunTimeInfoError" && err.data.nErrorCode === 5) {
65
+ // 加密设备密码错误
66
+ }
67
+ },
45
68
  })
46
69
  ```
70
+
47
71
  ### 回放
48
- ```
72
+
73
+ ```js
49
74
  var player = new EZUIKit.EZUIKitPlayer({
50
75
  id: 'video-container', // 视频容器ID
51
76
  width: 600,
52
77
  height: 400,
53
78
  accessToken: 'at.3bvmj4ycamlgdwgw1ig1jruma0wpohl6-48zifyb39c-13t5am6-yukyi86mz',
54
- url: 'ezopen://open.ys7.com/AA2615287/1.rec'
79
+ url: 'ezopen://open.ys7.com/G39444019/1.rec'
55
80
  })
56
81
  ```
57
82
  #### tips
83
+
58
84
  为方便开发者快速接入
59
85
 
60
86
  我们提供了测试accessToken,测试播放地址,并提供了几种常用场景使用示例。你可以通过使用示例,使用测试播放地址,测试accessToken,在你的应用快速接入。
61
87
 
62
- <b>测试播放地址:</b> ezopen://open.ys7.com/AA2615287/1.live
88
+ <b>测试播放地址:</b> ezopen://open.ys7.com/G39444019/1.live
63
89
 
64
- 你可以通过以下地址获取到测试accessToken <a href="https://open.ys7.com/jssdk/ezopen/demo/token" target="_blank">获取测试accessToken</a> 用来播放上述测试播放地址。
90
+ 你可以通过以下地址获取到测试accessToken <a href="https://open.ys7.com/jssdk/ezopen/demo/token" target="_blank">获取测试accessToken</a> 用来播放上述测试播放地址。
91
+ 当前设备有可能下线或被移除了, 如果自己有设备优先使用自己的设备进行测试。
65
92
 
66
93
  #### 最佳实践tips
67
94
 
68
95
  1. 我们在v0.6.2及以上版本持用户通过开启谷歌实验室特性启动多线程解码,多线程模式将大大提升解码效率,降低解码内存消耗。
69
96
 
70
- >>[开启多线程方式1](https://open.ys7.com/help/384) (https://open.ys7.com/help/384)
97
+ > [开启多线程方式1](https://open.ys7.com/help/384)(https://open.ys7.com/help/384)
71
98
 
72
- >>[开启多线程方式2](https://open.ys7.com/help/385)(https://open.ys7.com/help/385)
99
+ > [开启多线程方式2](https://open.ys7.com/help/385)(https://open.ys7.com/help/385)
73
100
 
74
101
  2. 视频解码库默认从开放平台远程拉取,你可以将解码库放到本地或者你的服务内,可以提升加载解码库速度。
75
102
 
76
- >> <b>使用本地解码库提升加载速度</b> <a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/localDecoder.html" target="_blank">本地解码库示例</a>
103
+ > <b>使用本地解码库提升加载速度</b> 开发者需要自己设置静态资源文件地址, 参考 `staticPath`的配置
77
104
 
78
105
  ### 使用示例
79
106
  > 1. 快速创建视频播放页面
80
107
 
81
- &emsp;&emsp;&emsp;&emsp;<b>基本使用:</b> <a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/base.html" target="_blank">基本使用示例</a>
108
+ &emsp;&emsp;&emsp;&emsp;<b>基本使用:</b> <a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/index.html" target="_blank">基本使用示例</a>
82
109
 
83
110
  > 2. 前往[开放平台轻应用模板管理页](https://open.ys7.com/console/ezuikit/template.html)创建一个主题,可以动态配置你的播放主题,控件,示例展示了获取一个主题后使用示例。
84
111
 
@@ -129,10 +156,11 @@ ezopen://open.ys7.com/${设备序列号}/{通道号}.rec?begin=yyyyMMddhhmmss
129
156
  ##### 云存储回放
130
157
  初始化参数 url值为:<br/>
131
158
  ezopen://open.ys7.com/${设备序列号}/{通道号}.cloud.rec?begin=yyyyMMddhhmmss
132
- 视频ezopen协议播放地址 详见:<a href="http://open.ys7.com/doc/zh/readme/ezopen.html" target="_blank">ezopen协议</a> </td><td>Y</td></tr>
159
+ 视频ezopen协议播放地址 详见:<a href="https://open.ys7.com/help/23" target="_blank">ezopen协议</a> </td><td>Y</td></tr>
133
160
  <tr><td>audio</td><td>boolean</td><td>是否默认开启声音 true:打开(默认) false:关闭 </td><td>N</td></tr>
134
161
  <tr><td>width</td><td>int</td><td>视频宽度,默认值为容器容器DOM宽度 </td><td>Y</td></tr>
135
162
  <tr><td>height</td><td>int</td><td>视频高度,默认值为容器容器DOM高度</td><td>Y</td></tr>
163
+ <tr><td>staticPath</td><td>string</td><td>设置静态资源地址, 自定义可以自行下载 `ezuikit_static`放置在自己的服务器下, 设置 {staticPath: "/ezuikit_static"} </td><td>N</td></tr>
136
164
  <tr><td>template</td><td>String</td><td>
137
165
 
138
166
 
@@ -282,16 +310,19 @@ themeData将主题数据本地化,设置本地数据,需要删除template参
282
310
  </td><td>N</td></tr>
283
311
  <tr><td>plugin</td><td>String</td><td>按需加载插件,可选值: talk:对讲,示例:plugin:["talk"] </td><td>N</td></tr>
284
312
  <tr><td>handleSuccess</td><td>function</td><td>自动播放成功回调</td><td>N</td></tr>
313
+ <tr><td>handleError</td><td>function</td><td>错误回调</td><td>N</td></tr>
285
314
  <tr><td>seekFrequency </td><td>function</td><td>为避免频繁拖动播放异常,可设置模板回放时间轴拖动防抖间隔,默认值为2000(2秒),可取2000(2秒),3000(3秒),4000(4秒),5000(5秒)</td><td>N</td></tr>
286
315
  </table>
287
316
 
288
317
 
289
318
  ### 方法调用
319
+
290
320
  > 同步方法(方式1)
291
321
  > 方法支持通过promise回调,可通过回调方式执行下一步动作(方式2)。
292
322
 
293
323
  #### 开始播放
294
- ```
324
+
325
+ ```js
295
326
  // 方式1
296
327
  player.play();
297
328
  // 方式2
@@ -300,9 +331,10 @@ themeData将主题数据本地化,设置本地数据,需要删除template参
300
331
  console.log("执行播放成功后其他动作");
301
332
  });
302
333
  ```
334
+
303
335
  #### 停止播放
304
336
 
305
- ```
337
+ ```js
306
338
  // 方式1
307
339
  player.stop();
308
340
  // 方式2
@@ -311,9 +343,10 @@ themeData将主题数据本地化,设置本地数据,需要删除template参
311
343
  console.log("执行停止成功后其他动作");
312
344
  });
313
345
  ```
346
+
314
347
  #### 开启声音
315
348
 
316
- ```
349
+ ```js
317
350
  // 方式1
318
351
  player.openSound();
319
352
  // 方式2
@@ -322,10 +355,12 @@ themeData将主题数据本地化,设置本地数据,需要删除template参
322
355
  console.log("执行开启声音成功后其他动作");
323
356
  });
324
357
  ```
358
+
325
359
  #### 开始录制
326
360
  > 因录制解码库加载限制,录制库加载需要3S秒左右,请保证录制时长需要大于5秒。
327
361
  > 录制文件需要使用播放器,播放器下载地址 <a href="https://service.ys7.com/downloadInfoSite/admin">播放器下载</a>
328
- ```
362
+
363
+ ```js
329
364
  // 方式1
330
365
  player.startSave("唯一文件名");
331
366
  // 方式2
@@ -336,7 +371,7 @@ themeData将主题数据本地化,设置本地数据,需要删除template参
336
371
  ```
337
372
  #### 停止录制并下载文件
338
373
 
339
- ```
374
+ ```js
340
375
  // 方式1
341
376
  player.stopSave();
342
377
  // 方式2
@@ -345,9 +380,10 @@ themeData将主题数据本地化,设置本地数据,需要删除template参
345
380
  console.log("执行停止录制成功后其他动作");
346
381
  });
347
382
  ```
383
+
348
384
  #### 抓图
349
385
 
350
- ```
386
+ ```js
351
387
  // 方式1 - 下载到本地
352
388
  player.capturePicture("文件名");
353
389
  // 方式2 - 返回base64格式
@@ -358,29 +394,31 @@ themeData将主题数据本地化,设置本地数据,需要删除template参
358
394
  ```
359
395
  #### 开始对讲
360
396
 
361
- ```
397
+ ```js
362
398
  player.startTalk();
363
399
  ```
364
400
 
365
401
  #### 结束对讲
366
402
 
367
- ```
403
+ ```js
368
404
  player.stopTalk();
369
405
  ```
370
406
 
371
407
  #### 全屏
372
408
 
373
- ```
409
+ ```js
374
410
  player.fullScreen();
375
411
  ```
412
+
376
413
  #### 取消全屏
377
414
 
378
- ```
415
+ ```js
379
416
  player.cancelFullScreen();
380
417
  ```
418
+
381
419
  #### 获取OSD时间
382
420
 
383
- ```
421
+ ```js
384
422
  player.getOSDTime()
385
423
  .then((time)=>{
386
424
  console.log("获取到的当前播放时间", time);
@@ -391,7 +429,7 @@ themeData将主题数据本地化,设置本地数据,需要删除template参
391
429
 
392
430
  > 可用于在播放中切换设备,切换播放参数,以及直播切换回放等。请注意,频繁切换可能导致异常,切换间隔至少需要1秒
393
431
 
394
- ```
432
+ ```js
395
433
  player.changePlayUrl(options)
396
434
  .then(()=>{
397
435
  console.log("切换成功")
@@ -414,10 +452,11 @@ options参数说明
414
452
 
415
453
 
416
454
 
417
- #### 切换模板主题
455
+ #### 切换模板主题
456
+
418
457
  > 可用于在播放中切换模板主题,请切换播放地址成功后调用
419
458
 
420
- ```
459
+ ```js
421
460
  player.Theme.changeTheme(template)
422
461
 
423
462
  // 预览切回放场景示例
@@ -429,6 +468,7 @@ options参数说明
429
468
 
430
469
 
431
470
  ```
471
+
432
472
  template参数说明
433
473
 
434
474
  |参数名|类型|描述|是否必选|
@@ -437,9 +477,10 @@ template参数说明
437
477
 
438
478
 
439
479
  #### 开启电子放大
480
+
440
481
  >建议使用模板,模板中的电子放大功能更全
441
482
 
442
- ```
483
+ ```js
443
484
  // 方式1
444
485
  player.enableZoom();
445
486
  // 方式2
@@ -448,9 +489,10 @@ template参数说明
448
489
  console.log("开启电子放大成功");
449
490
  });
450
491
  ```
492
+
451
493
  #### 关闭电子放大
452
494
 
453
- ```
495
+ ```js
454
496
  // 方式1
455
497
  player.closeZoom();
456
498
  // 方式2
@@ -462,14 +504,34 @@ template参数说明
462
504
 
463
505
  #### 重置画面宽高
464
506
 
465
- ```
507
+ ```js
466
508
  player.reSize(width, height);
467
509
  ```
468
510
 
511
+ #### 鱼眼矫正(软解 开启 [SharedArrayBuffer](https://open.ys7.com/help/1772?h=SharedArrayBuffer))
512
+
513
+ ```js
514
+ // {1, 0} 壁装鱼眼 不矫正
515
+ // {1, 1} 壁装360°全景
516
+ // {1, 2} 壁装4分屏
517
+ // {1, 4} 壁装广角
518
+ // {3, 0} 顶装鱼眼 不矫正
519
+ // {3, 1} 顶装360°全景
520
+ // {3, 4} 顶装4分屏
521
+ // {3, 5} 顶装柱状
522
+ // 顶装4分屏
523
+ player.setFECCorrectType({place: 3 , type:4}, "cavnas1,canvas2,canvas3") // cavnas1,canvas2,canvas3 是分屏是需要的
524
+ ```
525
+
469
526
  ### 使用示例
470
527
 
471
- > 如果使用原生js,可参考demos => base-demo
528
+ > 如果使用原生js,可参考demos => [base-demo](https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/tree/master/demos/base-demo)
529
+
530
+ > 如果使用react,可参考demos => [react-demo](https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/tree/master/demos/react-demo)
531
+
532
+ > 如果使用react + vite,可参考demos => [with-react-vite](https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/tree/master/demos/with-react-vite)
533
+
472
534
 
473
- > 如果使用react,可参考demos => react-demo
535
+ > 如果使用vue2,可参考demos => [vue-demo](https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/tree/master/demos/vue-demo)
474
536
 
475
- > 如果使用vue,可参考demos => vue-demo
537
+ > 如果使用vue3,可参考demos => [vue3-demo](https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/tree/master/demos/vue3-demo)