ezuikit-js 0.6.1 → 0.6.3

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.
Files changed (96) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +45 -6
  3. package/demos/base-demo/base.html +117 -0
  4. package/demos/base-demo/ezuikit.js +8898 -6443
  5. package/demos/base-demo/ezuikit_static/v6/v1/css/theme.css +121 -0
  6. package/demos/base-demo/ezuikit_static/v6/v1/js/AudioRenderer.js +225 -0
  7. package/demos/base-demo/ezuikit_static/v6/v1/js/SuperRender_10.js +395 -0
  8. package/demos/base-demo/ezuikit_static/v6/v1/js/SystemTransform.js +22 -0
  9. package/demos/base-demo/ezuikit_static/v6/v1/js/SystemTransform.js.mem +0 -0
  10. package/demos/base-demo/ezuikit_static/v6/v1/js/jsPluginV1-1.0.0.min.js +26 -0
  11. package/demos/base-demo/ezuikit_static/v6/v1/js/playctrl/AudioRenderer.js +225 -0
  12. package/demos/base-demo/ezuikit_static/v6/v1/js/playctrl/DecodeWorker.js +618 -0
  13. package/demos/base-demo/ezuikit_static/v6/v1/js/playctrl/Decoder.js +1 -0
  14. package/demos/base-demo/ezuikit_static/v6/v1/js/playctrl/JSPlaySDKInterface.js +2052 -0
  15. package/demos/base-demo/ezuikit_static/v6/v1/js/playctrl/SuperRender_10.js +396 -0
  16. package/demos/base-demo/ezuikit_static/v6/v1/js/playctrl/SuperRender_20.js +1 -0
  17. package/demos/base-demo/ezuikit_static/v6/v1/js/transform/SystemTransform.js +22 -0
  18. package/demos/base-demo/ezuikit_static/v6/v1/js/transform/SystemTransform.js.mem +0 -0
  19. package/demos/base-demo/ezuikit_static/v6/v1/js/transform/systemTransform-worker.min.js +1 -0
  20. package/demos/base-demo/ezuikit_static/v6/v1/js/tts-v4.js +346 -0
  21. package/demos/base-demo/ezuikit_static/v6/v1/rec/datepicker.js +1522 -0
  22. package/demos/base-demo/ezuikit_static/v6/v1/rec/datepicker.min.css +36 -0
  23. package/demos/base-demo/ezuikit_static/v6/v1/rec/datepicker.zh-CN.js +19 -0
  24. package/demos/base-demo/ezuikit_static/v6/v1/rec/jquery.min.js +2 -0
  25. package/demos/base-demo/ezuikit_static/v6/v1/speed/speed.css +144 -0
  26. package/demos/base-demo/ezuikit_static/v6/v1/talk/adapeter.js +5497 -0
  27. package/demos/base-demo/ezuikit_static/v6/v1/talk/janus.js +3507 -0
  28. package/demos/base-demo/ezuikit_static/v6/v1/talk/tts-v4.js +346 -0
  29. package/demos/base-demo/ezuikit_static/v6/v2/css/theme.css +121 -0
  30. package/demos/base-demo/ezuikit_static/v6/v2/js/Decoder.js +9195 -0
  31. package/demos/base-demo/ezuikit_static/v6/v2/js/Decoder.wasm +0 -0
  32. package/demos/base-demo/ezuikit_static/v6/v2/js/jsPluginV2-2.0.1.min.js +5443 -0
  33. package/demos/base-demo/ezuikit_static/v6/v2/rec/datepicker.js +1522 -0
  34. package/demos/base-demo/ezuikit_static/v6/v2/rec/datepicker.min.css +36 -0
  35. package/demos/base-demo/ezuikit_static/v6/v2/rec/datepicker.zh-CN.js +19 -0
  36. package/demos/base-demo/ezuikit_static/v6/v2/rec/jquery.min.js +2 -0
  37. package/demos/base-demo/ezuikit_static/v6/v2/speed/speed.css +144 -0
  38. package/demos/base-demo/ezuikit_static/v6/v2/talk/adapeter.js +5497 -0
  39. package/demos/base-demo/ezuikit_static/v6/v2/talk/janus.js +3507 -0
  40. package/demos/base-demo/ezuikit_static/v6/v2/talk/tts-v4.js +343 -0
  41. package/demos/base-demo/hls.html +23 -23
  42. package/demos/base-demo/index.html +10 -3
  43. package/demos/base-demo/localDecoder.html +118 -0
  44. package/demos/base-demo/mobileLive.html +117 -0
  45. package/demos/base-demo/mobileRec.html +116 -0
  46. package/demos/base-demo/multi.html +129 -0
  47. package/demos/base-demo/pcLive.html +117 -0
  48. package/demos/base-demo/pcRec.html +116 -0
  49. package/demos/base-demo/template.html +124 -0
  50. package/demos/base-demo/themeData.html +232 -0
  51. package/demos/nginx-demo/contrib/README +21 -21
  52. package/demos/nginx-demo/contrib/unicode2nginx/koi-utf +131 -131
  53. package/demos/nginx-demo/contrib/unicode2nginx/unicode-to-nginx.pl +48 -48
  54. package/demos/nginx-demo/contrib/unicode2nginx/win-utf +130 -130
  55. package/demos/nginx-demo/contrib/vim/ftdetect/nginx.vim +4 -4
  56. package/demos/nginx-demo/contrib/vim/ftplugin/nginx.vim +1 -1
  57. package/demos/nginx-demo/contrib/vim/indent/nginx.vim +11 -11
  58. package/demos/nginx-demo/contrib/vim/syntax/nginx.vim +2268 -2268
  59. package/demos/nginx-demo/docs/CHANGES +8115 -8115
  60. package/demos/nginx-demo/docs/CHANGES.ru +8252 -8252
  61. package/demos/nginx-demo/docs/LICENSE +26 -26
  62. package/demos/nginx-demo/docs/OpenSSL.LICENSE +127 -127
  63. package/demos/nginx-demo/docs/PCRE.LICENCE +93 -93
  64. package/demos/nginx-demo/docs/README +3 -3
  65. package/demos/nginx-demo/docs/zlib.LICENSE +20 -20
  66. package/demos/nginx-demo/html/50x.html +21 -21
  67. package/demos/nginx-demo/html/ezuikit5/ezuikit.js +9050 -6449
  68. package/demos/nginx-demo/html/ezuikit5/index.html +10 -3
  69. package/demos/nginx-demo/html/index.html +16 -16
  70. package/demos/react-demo/package-lock.json +63 -3
  71. package/demos/react-demo/package.json +36 -141
  72. package/demos/react-demo/src/App.js +72 -12
  73. package/demos/vue-demo/README.md +24 -0
  74. package/demos/vue-demo/babel.config.js +5 -0
  75. package/demos/vue-demo/package-lock.json +11638 -0
  76. package/demos/vue-demo/package.json +43 -0
  77. package/demos/vue-demo/public/favicon.ico +0 -0
  78. package/demos/vue-demo/public/index.html +17 -0
  79. package/demos/vue-demo/src/App.vue +27 -0
  80. package/demos/vue-demo/src/assets/logo.png +0 -0
  81. package/demos/vue-demo/src/components/EZUIKitJs.vue +115 -0
  82. package/demos/vue-demo/src/main.js +8 -0
  83. package/ezuikit.js +8898 -6443
  84. package/package.json +1 -1
  85. package/demos/react-demo/config/env.js +0 -101
  86. package/demos/react-demo/config/getHttpsConfig.js +0 -66
  87. package/demos/react-demo/config/jest/cssTransform.js +0 -14
  88. package/demos/react-demo/config/jest/fileTransform.js +0 -40
  89. package/demos/react-demo/config/modules.js +0 -141
  90. package/demos/react-demo/config/paths.js +0 -72
  91. package/demos/react-demo/config/pnpTs.js +0 -35
  92. package/demos/react-demo/config/webpack.config.js +0 -669
  93. package/demos/react-demo/config/webpackDevServer.config.js +0 -134
  94. package/demos/react-demo/scripts/build.js +0 -211
  95. package/demos/react-demo/scripts/start.js +0 -166
  96. package/demos/react-demo/scripts/test.js +0 -53
package/CHANGELOG.md CHANGED
@@ -1,3 +1,35 @@
1
+ v 0.6.3
2
+
3
+ [feta]支持模板内回放时间轴自定义设置拖动防抖间隔
4
+
5
+ [feta]支持模板内网页全屏状态下调用日历切换日期
6
+
7
+ [fix]修复单线程模式下,设备断网视频未保留最后一帧问题
8
+
9
+ [fix]修复模板内使用电子放大开启中切换设备未重置问题
10
+
11
+
12
+ v 0.6.2
13
+
14
+ [feta] 支持用户通过开启谷歌实验室特性启动多线程解码
15
+
16
+ [feta] 支持用户在开放平台控制台(https://open.ys7.com/console/ezuikit/template.html)创建,修改,删除,查询多个模板
17
+
18
+ [feta] 优化模板内高清/标清切换缓慢问题。
19
+
20
+ [feta] 支持切换主题
21
+
22
+ [feta] 支持根据主题ID自定义主题
23
+
24
+ [feta] 新增pc端电子放大,移动端双指缩放功能
25
+
26
+ [feta] 新增倍速回放功能
27
+
28
+
29
+ v 0.6.1
30
+
31
+ [feta] 支持本地配置解码库,解决远程拉取缓慢问题。
32
+
1
33
  v 0.6.0
2
34
 
3
35
  [fix]兼容低版本火狐浏览器播放视频
package/README.md CHANGED
@@ -62,6 +62,18 @@ import EZUIKit from 'ezuikit-js';
62
62
 
63
63
  你可以通过以下地址获取到测试accessToken <a href="https://open.ys7.com/jssdk/ezopen/demo/token" target="_blank">获取测试accessToken</a> 用来播放上述测试播放地址。
64
64
 
65
+ #### 最佳实践tips
66
+
67
+ 1. 我们在v0.6.2及以上版本持用户通过开启谷歌实验室特性启动多线程解码,多线程模式将大大提升解码效率,降低解码内存消耗。
68
+
69
+ >>[开启多线程方式1](https://open.ys7.com/help/384) (https://open.ys7.com/help/384)
70
+
71
+ >>[开启多线程方式2](https://open.ys7.com/help/385)(https://open.ys7.com/help/385)
72
+
73
+ 2. 视频解码库默认从开放平台远程拉取,你可以将解码库放到本地或者你的服务内,可以提升加载解码库速度。
74
+
75
+ >> <b>使用本地解码库提升加载速度</b> <a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/localDecoder.html" target="_blank">本地解码库示例</a>
76
+
65
77
  ### 使用示例
66
78
  <b>基本使用:</b> <a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/base.html" target="_blank">基本使用示例</a>
67
79
 
@@ -106,7 +118,7 @@ ezopen://open.ys7.com/${设备序列号}/{通道号}.rec?begin=yyyyMMddhhmmss
106
118
  初始化参数 url值为:<br/>
107
119
  ezopen://open.ys7.com/${设备序列号}/{通道号}.cloud.rec?begin=yyyyMMddhhmmss
108
120
  视频ezopen协议播放地址 详见:<a href="http://open.ys7.com/doc/zh/readme/ezopen.html" target="_blank">ezopen协议</a> </td><td>Y</td></tr>
109
- <tr><td>audio</td><td>int</td><td>是否默认开启声音 1:打开(默认) 0:关闭 </td><td>N</td></tr>
121
+ <tr><td>audio</td><td>boolean</td><td>是否默认开启声音 true:打开(默认) false:关闭 </td><td>N</td></tr>
110
122
  <tr><td>width</td><td>int</td><td>视频宽度,默认值为容器容器DOM宽度 </td><td>Y</td></tr>
111
123
  <tr><td>height</td><td>int</td><td>视频高度,默认值为容器容器DOM高度</td><td>Y</td></tr>
112
124
  <tr><td>template</td><td>String</td><td>
@@ -125,10 +137,7 @@ ezopen://open.ys7.com/${设备序列号}/{通道号}.cloud.rec?begin=yyyyMMddhhm
125
137
  <tr><td>pcRec</td><td> *固定模板 按钮列表,颜色,底部头部背景色固定, 可用于pc端回放,如需<br />修改按钮配置,头部底部背景色,可参考 {{自定义themeId}},或者使用themeData<br />本地配置*</td></tr>
126
138
  <tr><td>mobileLive</td><td> *固定模板 按钮列表,颜色,底部头部背景色固定,可用于移动端预<br />览,如需修改按钮配置,头部底部背景色,可参考 {{自定义themeId}},或者使用themeData<br />本地配置*</td></tr>
127
139
  <tr><td>mobileRec</td><td>*固定模板 按钮列表,颜色,底部头部背景色固定, 可用于移动端回放,<br />如需修改按钮配置,头部底部背景色,可参考 {{自定义themeId}},或者使用themeData<br />本地配置*</td></tr>
128
- <tr><td>{{自定义themeId}}</td><td>(建议使用)开放平台提供了查询账号下主题列表,增加主题<br />,修改主题,删除主题接口。<br />你可以通过调用开放平台提供的接口自定义创建多个主题,根据主题Id动<br />态渲染头部,底部样式,按钮隐藏显示,排布及按钮样式<br />
129
- <a href="https://resource.eziot.com/group2/M00/00/79/CtwQFmI8d_mAC8-eAAA1PBGvsds71.json" target="_blank">接口示例下载(请导入postman查看示例)</a>
130
- </td></tr>
131
- <tr><td>theme</td><td>自定义主题,<a href="https://open.ys7.com/console/ezopenIframe.html" target="_blank">开放平台控制台配置</a><br />(v0.3.0版本及以上支持,建议使用 自定义themeId,或者使用themeData本地<br />配置);</td></tr>
140
+ <tr><td>自定义themeId</td><td>自定义主题,<a href="https://open.ys7.com/console/ezuikit/template.html" target="_blank">开放平台控制台配置</a><br />(v0.6.2版本及以上支持,建议使用 自定义themeId,或者使用themeData本地<br />配置);</td></tr>
132
141
  </table>
133
142
 
134
143
  </td></tr>
@@ -223,6 +232,13 @@ themeData将主题数据本地化,设置本地数据,需要删除template参
223
232
  "memo": "对讲按钮",
224
233
  "isrender": 1
225
234
  },
235
+ {
236
+ "iconId": "zoom",
237
+ "part": "left",
238
+ "defaultActive": 0,
239
+ "memo": "电子放大",
240
+ "isrender": 1
241
+ },
226
242
  {
227
243
  "iconId": "hd",
228
244
  "part": "right",
@@ -252,7 +268,6 @@ themeData将主题数据本地化,设置本地数据,需要删除template参
252
268
  </td><td>N</td></tr>
253
269
  <tr><td>plugin</td><td>String</td><td>按需加载插件,可选值: talk:对讲,示例:plugin:["talk"] </td><td>N</td></tr>
254
270
  <tr><td>handleSuccess</td><td>function</td><td>自动播放成功回调</td><td>N</td></tr>
255
- <tr><td>poster</td><td>String</td><td>视频默认封面 版本号> v0.4.6 </td><td>N</td></tr>
256
271
  </table>
257
272
 
258
273
 
@@ -379,6 +394,29 @@ options参数说明
379
394
  |begin| String | type类型为回放有效,开始时间 格式为“YYYYMMDDHHmmss” |N|
380
395
  |end| String | type类型为回放有效,结束时间 格式为 “YYYYMMDDHHmmss” |N|
381
396
 
397
+
398
+
399
+
400
+ #### 切换模板主题
401
+ > 可用于在播放中切换模板主题,同切换播放地址一起调用
402
+
403
+ ```
404
+ player.Theme.changeTheme(template)
405
+ .then(()=>{
406
+ console.log("切换成功")
407
+ });
408
+
409
+ // 预览切回放场景示例
410
+ player.changePlayUrl({type:"rec"});
411
+ player.Theme.changeTheme("pcRec");
412
+
413
+ ```
414
+ template参数说明
415
+
416
+ |参数名|类型|描述|是否必选|
417
+ |:--|:--|:--|:--|
418
+ |type| String| 模板名称,详见初始化参数template| Y|
419
+
382
420
  #### 设置封面
383
421
 
384
422
  >你可以在初始化时,通过参数poster设置默认封面
@@ -392,6 +430,7 @@ options参数说明
392
430
  ```
393
431
 
394
432
  #### 开启电子放大
433
+ >建议使用模板,模板中的电子放大功能更全
395
434
 
396
435
  ```
397
436
  // 方式1
@@ -0,0 +1,117 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
7
+ <title>Document</title>
8
+ <script src="./ezuikit.js"></script>
9
+ </head>
10
+
11
+ <body>
12
+ <div className="demo">
13
+ <h2>视频模式使用示例:</h2>
14
+ <div id="video-container" style="width:600px;">
15
+ </div>
16
+ <div>
17
+ <button onClick="play()">play</button>
18
+ <button onClick="stop()">stop</button>
19
+ <button onClick="getOSDTime()">getOSDTime</button>
20
+ <button onClick="getOSDTime2()">getOSDTime2</button>
21
+ <button onClick="capturePicture()">capturePicture</button>
22
+ <button onClick="openSound()">openSound</button>
23
+ <button onClick="closeSound()">closeSound</button>
24
+ <button onClick="startSave()">startSave</button>
25
+ <button onClick="stopSave()">stopSave</button>
26
+ <button onClick="ezopenStartTalk()">开始对讲</button>
27
+ <button onClick="ezopenStopTalk()">结束对讲</button>
28
+ <button onClick="fullScreen()">全屏</button>
29
+ </div>
30
+ <p style="font-style: italic;">播放多个视频,可初始化多个实例,参考:/demos/base-demo/multi-demo</p>
31
+ </div>
32
+ <script>
33
+ var playr;
34
+ fetch('https://open.ys7.com/jssdk/ezopen/demo/token')
35
+ .then(response => response.json())
36
+ .then(res => {
37
+ var accessToken = res.data.accessToken;
38
+ playr = new EZUIKit.EZUIKitPlayer({
39
+ id: 'video-container', // 视频容器ID
40
+ accessToken: accessToken,
41
+ url: 'ezopen://open.ys7.com/G39444019/1.live',
42
+ template: 'simple', // simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版; theme-可配置主题;
43
+ plugin: ['talk'], // 加载插件,talk-对讲
44
+ width: 600,
45
+ height: 400,
46
+ });
47
+ });
48
+ function fullScreen() {
49
+ var playPromise = playr.fullScreen();
50
+ playPromise.then((data) => {
51
+ console.log("promise 获取 数据", data)
52
+ })
53
+ }
54
+ function play() {
55
+ var playPromise = playr.play();
56
+ playPromise.then((data) => {
57
+ console.log("promise 获取 数据", data)
58
+ })
59
+ }
60
+ function stop() {
61
+ var stopPromise = playr.stop();
62
+ stopPromise.then((data) => {
63
+ console.log("promise 获取 数据", data)
64
+ })
65
+ }
66
+ function getOSDTime() {
67
+ var getOSDTimePromise = playr.getOSDTime();
68
+ getOSDTimePromise.then((data) => {
69
+ console.log("promise 获取 数据", data)
70
+ })
71
+ }
72
+ function getOSDTime2() {
73
+ var getOSDTimePromise = playr2.getOSDTime();
74
+ getOSDTimePromise.then((data) => {
75
+ console.log("promise 获取 数据", data)
76
+ })
77
+ }
78
+ function capturePicture() {
79
+ var capturePicturePromise = playr.capturePicture();
80
+ capturePicturePromise.then((data) => {
81
+ console.log("promise 获取 数据", data)
82
+ })
83
+ }
84
+ function openSound() {
85
+ var openSoundPromise = playr.openSound();
86
+ openSoundPromise.then((data) => {
87
+ console.log("promise 获取 数据", data)
88
+ })
89
+ }
90
+ function closeSound() {
91
+ var closeSoundPromise = playr.closeSound();
92
+ closeSoundPromise.then((data) => {
93
+ console.log("promise 获取 数据", data)
94
+ })
95
+ }
96
+ function startSave() {
97
+ var startSavePromise = playr.startSave();
98
+ startSavePromise.then((data) => {
99
+ console.log("promise 获取 数据", data)
100
+ })
101
+ }
102
+ function stopSave() {
103
+ var stopSavePromise = playr.stopSave();
104
+ stopSavePromise.then((data) => {
105
+ console.log("promise 获取 数据", data)
106
+ })
107
+ }
108
+ function ezopenStartTalk() {
109
+ playr.startTalk();
110
+ }
111
+ function ezopenStopTalk() {
112
+ playr.stopTalk();
113
+ }
114
+ </script>
115
+ </body>
116
+
117
+ </html>