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 +58 -2
- package/README.md +103 -33
- package/ezuikit.js +130 -3
- package/ezuikit_static/rec/datepicker.en-US.js +19 -0
- package/ezuikit_static/rec/datepicker.js +42 -41
- package/ezuikit_static/rec/jquery.min.js +1 -1
- package/ezuikit_static/talk/tts-v4.js +343 -343
- package/package.json +7 -13
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,62 @@
|
|
|
1
|
-
## v8.0.0-alpha.0
|
|
2
1
|
|
|
3
|
-
|
|
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
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+

|
|
7
|
+
|
|
8
|
+
|
|
3
9
|
> 轻应用npm版本,降低接入难度,适配自定义UI,适配主流框架
|
|
4
10
|
|
|
5
11
|
> 低延时预览,云存储回放,SD卡回放
|
|
@@ -11,7 +17,15 @@
|
|
|
11
17
|
### 获取ezuikit-js
|
|
12
18
|
|
|
13
19
|
```
|
|
14
|
-
|
|
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/
|
|
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/
|
|
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/
|
|
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
|
-
|
|
98
|
+
> [开启多线程方式1](https://open.ys7.com/help/384)(https://open.ys7.com/help/384)
|
|
71
99
|
|
|
72
|
-
|
|
100
|
+
> [开启多线程方式2](https://open.ys7.com/help/385)(https://open.ys7.com/help/385)
|
|
73
101
|
|
|
74
102
|
2. 视频解码库默认从开放平台远程拉取,你可以将解码库放到本地或者你的服务内,可以提升加载解码库速度。
|
|
75
103
|
|
|
76
|
-
|
|
104
|
+
> <b>使用本地解码库提升加载速度</b> 开发者需要自己设置静态资源文件地址, 参考 `staticPath`的配置
|
|
77
105
|
|
|
78
106
|
### 使用示例
|
|
79
107
|
> 1. 快速创建视频播放页面
|
|
80
108
|
|
|
81
|
-
    <b>基本使用:</b> <a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/
|
|
109
|
+
    <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="
|
|
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
|
-
> 如果使用
|
|
543
|
+
> 如果使用vue2,可参考demos => [vue-demo](https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/tree/master/demos/vue-demo)
|
|
474
544
|
|
|
475
|
-
> 如果使用
|
|
545
|
+
> 如果使用vue3,可参考demos => [vue3-demo](https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/tree/master/demos/vue3-demo)
|