ezuikit-js 8.0.6-beta.2 → 8.0.8-beta.1

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