@video-supply/dahua-player 0.1.0

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 (119) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/LICENSE +1 -0
  3. package/README.md +192 -0
  4. package/README.zh-CN.md +202 -0
  5. package/dist/bin/copy-assets.cjs +51 -0
  6. package/dist/bin/copy-assets.cjs.map +1 -0
  7. package/dist/index.cjs +1447 -0
  8. package/dist/index.cjs.map +1 -0
  9. package/dist/index.d.cts +157 -0
  10. package/dist/index.d.ts +157 -0
  11. package/dist/index.js +1418 -0
  12. package/dist/index.js.map +1 -0
  13. package/package.json +55 -0
  14. package/wsplayer-gov/Version.xml +4 -0
  15. package/wsplayer-gov/WSPlayer/PlaySDKInterface.js +1 -0
  16. package/wsplayer-gov/WSPlayer/WSPlayer.js +1 -0
  17. package/wsplayer-gov/WSPlayer/audioTalkWorker.js +1 -0
  18. package/wsplayer-gov/WSPlayer/commonThread/libH264Enc.js +21 -0
  19. package/wsplayer-gov/WSPlayer/commonThread/libH264Enc.wasm +0 -0
  20. package/wsplayer-gov/WSPlayer/commonThread/libIVSDrawer.js +21 -0
  21. package/wsplayer-gov/WSPlayer/commonThread/libIVSDrawer.wasm +0 -0
  22. package/wsplayer-gov/WSPlayer/commonThread/libRenderEngine.js +21 -0
  23. package/wsplayer-gov/WSPlayer/commonThread/libRenderEngine.wasm +0 -0
  24. package/wsplayer-gov/WSPlayer/commonThread/libmavasp_litepacket.data +50 -0
  25. package/wsplayer-gov/WSPlayer/commonThread/libmavasp_litepacket.js +21 -0
  26. package/wsplayer-gov/WSPlayer/commonThread/libmavasp_litepacket.wasm +0 -0
  27. package/wsplayer-gov/WSPlayer/icon/RecordHover.svg +13 -0
  28. package/wsplayer-gov/WSPlayer/icon/RecordNormal.svg +13 -0
  29. package/wsplayer-gov/WSPlayer/icon/Recording.svg +15 -0
  30. package/wsplayer-gov/WSPlayer/icon/arrow-b.svg +9 -0
  31. package/wsplayer-gov/WSPlayer/icon/arrow-l.svg +9 -0
  32. package/wsplayer-gov/WSPlayer/icon/arrow-lb.svg +10 -0
  33. package/wsplayer-gov/WSPlayer/icon/arrow-lt.svg +10 -0
  34. package/wsplayer-gov/WSPlayer/icon/arrow-r.svg +9 -0
  35. package/wsplayer-gov/WSPlayer/icon/arrow-rb.svg +10 -0
  36. package/wsplayer-gov/WSPlayer/icon/arrow-rt.svg +10 -0
  37. package/wsplayer-gov/WSPlayer/icon/arrow-t.svg +9 -0
  38. package/wsplayer-gov/WSPlayer/icon/close-all-hover.svg +18 -0
  39. package/wsplayer-gov/WSPlayer/icon/close-all.svg +18 -0
  40. package/wsplayer-gov/WSPlayer/icon/close.svg +16 -0
  41. package/wsplayer-gov/WSPlayer/icon/close_hover.svg +16 -0
  42. package/wsplayer-gov/WSPlayer/icon/default.png +0 -0
  43. package/wsplayer-gov/WSPlayer/icon/draw-triangle_off.svg +14 -0
  44. package/wsplayer-gov/WSPlayer/icon/draw-triangle_off_hover.svg +14 -0
  45. package/wsplayer-gov/WSPlayer/icon/draw-triangle_on.svg +15 -0
  46. package/wsplayer-gov/WSPlayer/icon/draw-triangle_on_hover.svg +15 -0
  47. package/wsplayer-gov/WSPlayer/icon/fullscreen-hover.svg +13 -0
  48. package/wsplayer-gov/WSPlayer/icon/fullscreen.svg +13 -0
  49. package/wsplayer-gov/WSPlayer/icon/more.svg +13 -0
  50. package/wsplayer-gov/WSPlayer/icon/play-h.png +0 -0
  51. package/wsplayer-gov/WSPlayer/icon/play-n.png +0 -0
  52. package/wsplayer-gov/WSPlayer/icon/play-p.png +0 -0
  53. package/wsplayer-gov/WSPlayer/icon/ptz-icon1.svg +4 -0
  54. package/wsplayer-gov/WSPlayer/icon/ptz-icon2.svg +13 -0
  55. package/wsplayer-gov/WSPlayer/icon/ptz-icon3.svg +10 -0
  56. package/wsplayer-gov/WSPlayer/icon/ptz-icon4.svg +10 -0
  57. package/wsplayer-gov/WSPlayer/icon/ptz-icon5.svg +12 -0
  58. package/wsplayer-gov/WSPlayer/icon/ptz-icon6.svg +14 -0
  59. package/wsplayer-gov/WSPlayer/icon/ptz-select-hover.svg +3 -0
  60. package/wsplayer-gov/WSPlayer/icon/ptz-select.svg +3 -0
  61. package/wsplayer-gov/WSPlayer/icon/record_pause.svg +5 -0
  62. package/wsplayer-gov/WSPlayer/icon/record_play.svg +5 -0
  63. package/wsplayer-gov/WSPlayer/icon/screen_1.svg +11 -0
  64. package/wsplayer-gov/WSPlayer/icon/screen_16.svg +18 -0
  65. package/wsplayer-gov/WSPlayer/icon/screen_16_hover.svg +18 -0
  66. package/wsplayer-gov/WSPlayer/icon/screen_1_hover.svg +11 -0
  67. package/wsplayer-gov/WSPlayer/icon/screen_2.svg +18 -0
  68. package/wsplayer-gov/WSPlayer/icon/screen_25.svg +19 -0
  69. package/wsplayer-gov/WSPlayer/icon/screen_25_hover.svg +19 -0
  70. package/wsplayer-gov/WSPlayer/icon/screen_2_hover.svg +18 -0
  71. package/wsplayer-gov/WSPlayer/icon/screen_3.svg +13 -0
  72. package/wsplayer-gov/WSPlayer/icon/screen_3_hover.svg +13 -0
  73. package/wsplayer-gov/WSPlayer/icon/screen_4.svg +12 -0
  74. package/wsplayer-gov/WSPlayer/icon/screen_4_hover.svg +12 -0
  75. package/wsplayer-gov/WSPlayer/icon/screen_6.svg +16 -0
  76. package/wsplayer-gov/WSPlayer/icon/screen_6_hover.svg +16 -0
  77. package/wsplayer-gov/WSPlayer/icon/screen_8.svg +18 -0
  78. package/wsplayer-gov/WSPlayer/icon/screen_8_hover.svg +18 -0
  79. package/wsplayer-gov/WSPlayer/icon/screen_9.svg +17 -0
  80. package/wsplayer-gov/WSPlayer/icon/screen_9_hover.svg +17 -0
  81. package/wsplayer-gov/WSPlayer/icon/screen_custom_division.svg +9 -0
  82. package/wsplayer-gov/WSPlayer/icon/screen_custom_division_hover.svg +9 -0
  83. package/wsplayer-gov/WSPlayer/icon/screen_custom_division_merge.svg +3 -0
  84. package/wsplayer-gov/WSPlayer/icon/screen_custom_division_split.svg +6 -0
  85. package/wsplayer-gov/WSPlayer/icon/screen_more.svg +15 -0
  86. package/wsplayer-gov/WSPlayer/icon/snapshot.svg +38 -0
  87. package/wsplayer-gov/WSPlayer/icon/snapshot_hover.svg +38 -0
  88. package/wsplayer-gov/WSPlayer/icon/speed_left.svg +15 -0
  89. package/wsplayer-gov/WSPlayer/icon/speed_right.svg +15 -0
  90. package/wsplayer-gov/WSPlayer/icon/spread.png +0 -0
  91. package/wsplayer-gov/WSPlayer/icon/talk-off-hover.svg +11 -0
  92. package/wsplayer-gov/WSPlayer/icon/talk-off.svg +11 -0
  93. package/wsplayer-gov/WSPlayer/icon/talk-on.svg +9 -0
  94. package/wsplayer-gov/WSPlayer/icon/voice-have.svg +43 -0
  95. package/wsplayer-gov/WSPlayer/icon/voice-have_hover.svg +43 -0
  96. package/wsplayer-gov/WSPlayer/icon/voice-null.svg +38 -0
  97. package/wsplayer-gov/WSPlayer/icon/voice-null_hover.svg +38 -0
  98. package/wsplayer-gov/WSPlayer/icon/ws-ctrl-ellipsis-hover.svg +14 -0
  99. package/wsplayer-gov/WSPlayer/icon/ws-ctrl-ellipsis.svg +14 -0
  100. package/wsplayer-gov/WSPlayer/locale/lang/en_US.js +123 -0
  101. package/wsplayer-gov/WSPlayer/locale/lang/zh_CN.js +124 -0
  102. package/wsplayer-gov/WSPlayer/locale/localProvider.js +7 -0
  103. package/wsplayer-gov/WSPlayer/locale/locale.js +34 -0
  104. package/wsplayer-gov/WSPlayer/multiThread/libStreamClient.js +21 -0
  105. package/wsplayer-gov/WSPlayer/multiThread/libStreamClient.wasm +0 -0
  106. package/wsplayer-gov/WSPlayer/multiThread/libStreamClient.worker.js +1 -0
  107. package/wsplayer-gov/WSPlayer/multiThread/libplay.data +0 -0
  108. package/wsplayer-gov/WSPlayer/multiThread/libplay.js +1 -0
  109. package/wsplayer-gov/WSPlayer/multiThread/libplay.wasm +0 -0
  110. package/wsplayer-gov/WSPlayer/multiThread/libplay.worker.js +1 -0
  111. package/wsplayer-gov/WSPlayer/player.css +1098 -0
  112. package/wsplayer-gov/WSPlayer/singleThread/VideoDecodeWorker.js +1245 -0
  113. package/wsplayer-gov/WSPlayer/singleThread/libStreamClient.js +21 -0
  114. package/wsplayer-gov/WSPlayer/singleThread/libStreamClient.wasm +0 -0
  115. package/wsplayer-gov/WSPlayer/singleThread/libplay.data +0 -0
  116. package/wsplayer-gov/WSPlayer/singleThread/libplay.js +1 -0
  117. package/wsplayer-gov/WSPlayer/singleThread/libplay.wasm +0 -0
  118. package/wsplayer-gov/WSPlayer/window.division.css +80 -0
  119. package/wsplayer-gov/wsplayer.min.js +6 -0
@@ -0,0 +1,1098 @@
1
+ .ws-player {
2
+ position: relative;
3
+ background-color: #1c2834;
4
+ display: flex;
5
+ justify-content: center;
6
+ flex-direction: column;
7
+ height: 100%;
8
+ }
9
+ .ws-player .player-wrapper {
10
+ width: 100%;
11
+ height: calc(100% - 60px);
12
+ overflow: hidden;
13
+ /* 位置通过定位实现 */
14
+ position: relative;
15
+ }
16
+ .ws-player .player-wrapper.nocontrol {
17
+ height: 100%;
18
+ }
19
+ .ws-player .wsplayer-item {
20
+ position: absolute;
21
+ display: flex;
22
+ align-items: center;
23
+ justify-content: center;
24
+ /*overflow: hidden;*/
25
+ }
26
+ .fullplayer .wsplayer-item{
27
+ position: absolute;
28
+ }
29
+ .ws-player .wsplayer-item.selected {
30
+ border: 1px solid #009cff;
31
+ transition: all cubic-bezier(0.19, 1, 0.22, 1) .3s;
32
+ }
33
+ .ws-player .wsplayer-item.unselected {
34
+ border: 1px solid #161A1E;
35
+ transition: all cubic-bezier(0.19, 1, 0.22, 1) .3s;
36
+ }
37
+ .ws-player.fullplayer .player-wrapper .wsplayer-item.selected {
38
+ width: calc(100% - 2px);
39
+ height: calc(100% - 2px);
40
+ }
41
+ .ws-player.fullplayer .player-wrapper .wsplayer-item.unselected {
42
+ display: none;
43
+ }
44
+ .ws-player .kind-stream-canvas {
45
+ width: 100%;
46
+ height: 100%;
47
+ position: absolute;
48
+ }
49
+ .ws-player .ws-full-content {
50
+ width: 100%;
51
+ height: 100%;
52
+ }
53
+ .ws-player .default-status {
54
+ position: absolute;
55
+ width: 100%;
56
+ height: 100%;
57
+ top: 0;
58
+ z-index: 10;
59
+ left: 0;
60
+ display: flex;
61
+ justify-content: center;
62
+ align-items: center;
63
+ user-select: none;
64
+ transition: 0.5s;
65
+ }
66
+ .ws-player .player-control {
67
+ position: absolute;
68
+ width: 100%;
69
+ background: rgba(0, 0, 0, .85);
70
+ visibility: hidden;
71
+ user-select: none;
72
+ }
73
+ .ws-player .top-control-bar {
74
+ display: flex;
75
+ justify-content: space-between;
76
+ align-items: center;
77
+ z-index: 35;
78
+ top: 0;
79
+ height: 40px;
80
+ color: #fff;
81
+ overflow-x: clip;
82
+ }
83
+
84
+ .ws-player .custom-division-container {
85
+ position: absolute;
86
+ top: 0;
87
+ left: 0;
88
+ width: 100%;
89
+ height: calc(100% - 64px);
90
+ z-index: 120;
91
+ }
92
+
93
+ .ws-player .record-control-bar {
94
+ display: none;
95
+ z-index: 20;
96
+ bottom: 0;
97
+ height: 39px;
98
+ visibility: visible;
99
+ color: #fff;
100
+ }
101
+ .ws-player .stream-info {
102
+ font-size: 12px;
103
+ height: 100%;
104
+ letter-spacing: 0;
105
+ line-height: 40px;
106
+ color: #fff;
107
+ white-space: nowrap;
108
+ }
109
+ .ws-player .record-control-right,
110
+ .ws-player .record-control-left {
111
+ height: 34px;
112
+ display: flex;
113
+ justify-content: center;
114
+ align-items: center;
115
+ }
116
+ .ws-player .record-control-left {
117
+ float: left;
118
+ }
119
+ .ws-player .record-control-right {
120
+ float: right;
121
+ }
122
+ .ws-player .wsplayer-progress-bar {
123
+ position: relative;
124
+ height: 5px;
125
+ margin: 0 10px;
126
+ cursor: pointer;
127
+ }
128
+ .ws-player .progress-bar_background {
129
+ position: absolute;
130
+ background: rgba(231, 231, 231, 0.3);
131
+ height: 100%;
132
+ width: 100%;
133
+ }
134
+ .ws-player .progress-bar_light {
135
+ position: absolute;
136
+ height: 100%;
137
+ background: #459DF5;
138
+ z-index: 2;
139
+ }
140
+ .ws-player .progress-bar_hover_light {
141
+ position: absolute;
142
+ cursor: pointer;
143
+ background: rgba(231, 231, 231, 0.7);
144
+ height: 100%;
145
+ }
146
+ .ws-player .error {
147
+ position: absolute;
148
+ top: 0;
149
+ left: 0;
150
+ z-index: 30;
151
+ width: 100%;
152
+ height: 100%;
153
+ display: flex;
154
+ justify-content: center;
155
+ align-items: center;
156
+ visibility: hidden;
157
+ user-select: none;
158
+ color: rgba(255,255,255, .8);
159
+ font-size: 30px;
160
+ }
161
+ .ws-player .play-pause-wrapper {
162
+ position: absolute;
163
+ top: 0;
164
+ left: 0;
165
+ z-index: 30;
166
+ width: 100%;
167
+ height: 100%;
168
+ visibility: hidden;
169
+ display: flex;
170
+ justify-content: center;
171
+ align-items: center;
172
+ background-color: rgba(0, 0, 0, .3);
173
+ }
174
+ .ws-player .center-play-icon {
175
+ width: 60px;
176
+ height: 60px;
177
+ background-image: url(./icon/play-n.png);
178
+ }
179
+ .ws-player .center-play-icon:hover {
180
+ background-image: url(./icon/play-h.png);
181
+ }
182
+ .ws-player .opt-icons {
183
+ display: flex;
184
+ margin-right: 10px;
185
+ justify-content: flex-end;
186
+ flex: 1;
187
+ }
188
+ .ws-player .opt-icon {
189
+ width: 20px;
190
+ height: 20px;
191
+ margin: 0 4px;
192
+ cursor: pointer;
193
+ }
194
+ .ws-player .ws-talking{
195
+ visibility: hidden;
196
+ position: absolute;
197
+ top: 40px;
198
+ left: 10px;
199
+ z-index: 10;
200
+ color: #27D05A;
201
+ font-size: 28px;
202
+ user-select: none;
203
+ }
204
+ .ws-player .draw-triangle-icon.off {
205
+ background-image: url(./icon/draw-triangle_off.svg);
206
+ }
207
+ .ws-player .draw-triangle-icon.off:hover {
208
+ background-image: url(./icon/draw-triangle_off_hover.svg);
209
+ }
210
+ .ws-player .draw-triangle-icon.on {
211
+ background-image: url(./icon/draw-triangle_on.svg);
212
+ }
213
+ .ws-player .draw-triangle-icon.on:hover {
214
+ background-image: url(./icon/draw-triangle_on_hover.svg);
215
+ }
216
+ .ws-player .talk-icon.off {
217
+ background-image: url(./icon/talk-off.svg);
218
+ }
219
+ .ws-player .talk-icon.off:hover {
220
+ background-image: url(./icon/talk-off-hover.svg);
221
+ }
222
+ .ws-player .talk-icon.on {
223
+ background-image: url(./icon/talk-on.svg);
224
+ }
225
+ .ws-player .audio-icon.off {
226
+ background-image: url(./icon/voice-null.svg);
227
+ }
228
+ .ws-player .audio-icon.off:hover {
229
+ background-image: url(./icon/voice-null_hover.svg);
230
+ }
231
+ .ws-player .audio-icon.on {
232
+ background-image: url(./icon/voice-have_hover.svg);
233
+ }
234
+
235
+ .ws-player .hidden-deep{
236
+ display: none !important;
237
+ }
238
+
239
+ /*.ws-player .audio-icon.on:hover {*/
240
+ /* background-image: url(./icon/voice-have_hover.svg);*/
241
+ /*}*/
242
+
243
+ .ws-player .capture-icon {
244
+ background-image: url(./icon/snapshot.svg);
245
+ }
246
+ .ws-player .capture-icon:hover {
247
+ background-image: url(./icon/snapshot_hover.svg);
248
+ }
249
+ .ws-player .close-icon {
250
+ background-image: url(./icon/close.svg);
251
+ }
252
+ .ws-player .close-icon:hover {
253
+ background-image: url(./icon/close_hover.svg);
254
+ }
255
+ .ws-player .record-icon {
256
+ background-image: url(./icon/RecordNormal.svg);
257
+ }
258
+ .ws-player .record-icon:hover {
259
+ background-image: url(./icon/RecordHover.svg);
260
+ }
261
+ .ws-player .record-icon.recording {
262
+ background-image: url(./icon/Recording.svg);
263
+ background-repeat: no-repeat;
264
+ background-size: 20px 20px;
265
+ }
266
+ .ws-player .more-icon {
267
+ background-image: url(./icon/more.svg);
268
+ }
269
+ .ws-player .ws-more{
270
+ position: relative;
271
+ }
272
+ .ws-player .opt-icons-vertical{
273
+ display: flex;
274
+ flex-direction: column;
275
+ position: absolute;
276
+ right: 0;
277
+ background: #000;
278
+ opacity: 0.9;
279
+ top: 30px;
280
+ visibility: hidden;
281
+ }
282
+
283
+ .ws-player .opt-icons-vertical > div{
284
+ width: 80px;
285
+ display: flex;
286
+ height: 32px;
287
+ align-items: center;
288
+ justify-content: center;
289
+ }
290
+
291
+ .ws-player .ws-control {
292
+ display: flex;
293
+ justify-content: space-between;
294
+ flex-shrink: 0;
295
+ align-items: center;
296
+ height: 60px;
297
+ width: 100%;
298
+ background: #121a23;
299
+ overflow-x: clip;
300
+ }
301
+ .ws-control .ws-select-self-adaption{
302
+ position: relative;
303
+ display: flex;
304
+ align-items: center;
305
+ justify-content: center;
306
+ width: 78px;
307
+ height: 32px;
308
+ z-index: 105;
309
+ border-radius: 4px;
310
+ border: solid 1px #565965;
311
+ cursor: pointer;
312
+ }
313
+ .ws-control .ws-select-self-adaption .ws-select-show{
314
+ display: flex;
315
+ color: #b2bac2;
316
+ user-select: none;
317
+ }
318
+ .ws-control .ws-select-self-adaption .ws-self-adaption-type{
319
+ position: absolute;
320
+ }
321
+ .ws-control .ws-select-self-adaption .ws-select-ul{
322
+ padding: 0;
323
+ width: 76px;
324
+ background: #2a2b37;
325
+ position: absolute;
326
+ bottom: 1px;
327
+ left: -38px;
328
+ z-index: 20;
329
+ }
330
+ .ws-control .ws-select-self-adaption .ws-select-ul .ws-select-type-item{
331
+ height: 32px;
332
+ line-height: 32px;
333
+ text-align: center;
334
+ cursor: pointer;
335
+ margin-top: 4px;
336
+ font-size: 14px;
337
+ list-style: none;
338
+ color: #b2bac2;
339
+ }
340
+ .ws-control .ws-select-self-adaption .ws-select-ul .ws-select-type-item:hover{
341
+ opacity: 0.7;
342
+ }
343
+ .ws-player .ws-record-control{
344
+ position: relative;
345
+ height: 60px;
346
+ cursor: pointer;
347
+ background-image: linear-gradient(0deg, #445160 0%, #1c2834 100%);
348
+ }
349
+ .ws-player .ws-timeline{
350
+ position: relative;
351
+ display: flex;
352
+ flex-direction: column;
353
+ width: 100%;
354
+ height: 100%;
355
+ z-index: 10;
356
+ }
357
+ .ws-player .ws-timeline-group{
358
+ width: 100%;
359
+ height: 8px;
360
+ display: flex;
361
+ justify-content: space-between;
362
+ word-wrap: initial;
363
+ }
364
+ .ws-player .ws-time-space{
365
+ height: 4px;
366
+ border-left: 1px solid #909aa5;
367
+ }
368
+ .ws-player .ws-time-space-long{
369
+ height: 8px;
370
+ }
371
+ .ws-player .ws-time-point{
372
+ color: #909aa5;
373
+ width: 0;
374
+ position: relative;
375
+ left: -20px;
376
+ top: 0;
377
+ }
378
+ .ws-player .ws-time-point:first-child{
379
+ left: 0;
380
+ }
381
+ .ws-player .ws-time-point:last-child{
382
+ left: -40px;
383
+ }
384
+ .ws-player #ws-cursor{
385
+ height: 40px;
386
+ border-left: 1px solid #FFF;
387
+ position: absolute;
388
+ top: 0;
389
+ z-index: 20;
390
+ }
391
+ .ws-player .ws-cursor-time{
392
+ position: relative;
393
+ }
394
+ .ws-player .ws-cursor-time span{
395
+ position: absolute;
396
+ top: 40px;
397
+ left: -32px;
398
+ color: #909aa5;
399
+ }
400
+ .ws-player #ws-record-time-box{
401
+ height: 22px;
402
+ border-left: 1px solid #FFF;
403
+ position: absolute;
404
+ top: 0;
405
+ z-index: 20;
406
+ }
407
+ .ws-player .ws-record-time{
408
+ position: relative;
409
+ color: #FFF;
410
+ }
411
+ .ws-player .ws-record-time span{
412
+ position: absolute;
413
+ top: 22px;
414
+ left: -32px;
415
+ }
416
+ .ws-player .ws-record-area{
417
+ position: absolute;
418
+ height: 100%;
419
+ width: 100%;
420
+ }
421
+ .ws-player .ws-ctrl-icon {
422
+ width: 21px;
423
+ height: 20px;
424
+ margin: 0 8px;
425
+ background-repeat: no-repeat;
426
+ background-position: center;
427
+ cursor: pointer;
428
+ }
429
+ .ws-player .ws-ctrl-btn-spread{
430
+ border-left: 1px solid #FFF;
431
+ margin: 0 8px;
432
+ height: 8px;
433
+ }
434
+ .ws-player .full-screen-icon {
435
+ margin-right: 16px;
436
+ background-image: url(./icon/fullscreen.svg);
437
+ }
438
+ .ws-player .full-screen-icon:hover {
439
+ background-image: url(./icon/fullscreen-hover.svg);
440
+ }
441
+ .ws-player .close-all-video {
442
+ background-image: url(./icon/close-all.svg);
443
+ }
444
+ .ws-player .close-all-video:hover {
445
+ background-image: url(./icon/close-all-hover.svg);
446
+ }
447
+ /* 一分屏 */
448
+ .ws-player .one-screen-icon {
449
+ background-image: url(./icon/screen_1.svg);
450
+ }
451
+ .ws-player .one-screen-icon.active {
452
+ background-image: url(./icon/screen_1_hover.svg);
453
+ }
454
+ .ws-player .one-screen-icon:hover {
455
+ background-image: url(./icon/screen_1_hover.svg);
456
+ }
457
+ /* 二分屏 */
458
+ .ws-player .two-screen-icon {
459
+ background-image: url(./icon/screen_2.svg);
460
+ }
461
+ .ws-player .two-screen-icon.active {
462
+ background-image: url(./icon/screen_2_hover.svg);
463
+ fill:#1c6bd6;
464
+ }
465
+ .ws-player .two-screen-icon:hover {
466
+ background-image: url(./icon/screen_2_hover.svg);
467
+ fill:#1c6bd6;
468
+ }
469
+
470
+ /* 三分屏 */
471
+ .ws-player .three-screen-icon {
472
+ background-image: url(./icon/screen_3.svg);
473
+ }
474
+ .ws-player .three-screen-icon.active {
475
+ background-image: url(./icon/screen_3_hover.svg);
476
+ }
477
+ .ws-player .three-screen-icon:hover {
478
+ background-image: url(./icon/screen_3_hover.svg);
479
+ }
480
+
481
+ /* 四分屏 */
482
+ .ws-player .four-screen-icon {
483
+ background-image: url(./icon/screen_4.svg);
484
+ }
485
+ .ws-player .four-screen-icon.active {
486
+ background-image: url(./icon/screen_4_hover.svg);
487
+ }
488
+ .ws-player .four-screen-icon:hover {
489
+ background-image: url(./icon/screen_4_hover.svg);
490
+ }
491
+
492
+ /* 六分屏 */
493
+ .ws-player .six-screen-icon {
494
+ background-image: url(./icon/screen_6.svg);
495
+ }
496
+ .ws-player .six-screen-icon.active {
497
+ background-image: url(./icon/screen_6_hover.svg);
498
+ }
499
+ .ws-player .six-screen-icon:hover {
500
+ background-image: url(./icon/screen_6_hover.svg);
501
+ }
502
+
503
+ /* 八分屏 */
504
+ .ws-player .eight-screen-icon {
505
+ background-image: url(./icon/screen_8.svg);
506
+ }
507
+ .ws-player .eight-screen-icon.active {
508
+ background-image: url(./icon/screen_8_hover.svg);
509
+ }
510
+ .ws-player .eight-screen-icon:hover {
511
+ background-image: url(./icon/screen_8_hover.svg);
512
+ }
513
+
514
+ /* 九分屏 */
515
+ .ws-player .nine-screen-icon {
516
+ background-image: url(./icon/screen_9.svg);
517
+ }
518
+ .ws-player .nine-screen-icon.active {
519
+ background-image: url(./icon/screen_9_hover.svg);
520
+ }
521
+ .ws-player .nine-screen-icon:hover {
522
+ background-image: url(./icon/screen_9_hover.svg);
523
+ }
524
+
525
+ /* 十六分屏 */
526
+ .ws-player .sixteen-screen-icon {
527
+ background-image: url(./icon/screen_16.svg);
528
+ }
529
+ .ws-player .sixteen-screen-icon.active {
530
+ background-image: url(./icon/screen_16_hover.svg);
531
+ }
532
+ .ws-player .sixteen-screen-icon:hover {
533
+ background-image: url(./icon/screen_16_hover.svg);
534
+ }
535
+
536
+ /* 二十五分屏 */
537
+ .ws-player .twenty-five-screen-icon {
538
+ background-image: url(./icon/screen_25.svg);
539
+ }
540
+ .ws-player .twenty-five-screen-icon.active {
541
+ background-image: url(./icon/screen_25_hover.svg);
542
+ }
543
+ .ws-player .twenty-five-screen-icon:hover {
544
+ background-image: url(./icon/screen_25_hover.svg);
545
+ }
546
+
547
+ /* 自定义分屏 */
548
+ .ws-player .custom-screen-icon {
549
+ background-image: url(./icon/screen_custom_division.svg)
550
+ }
551
+
552
+ .ws-player .custom-screen-icon:hover {
553
+ background-image: url(./icon/screen_custom_division_hover.svg)
554
+ }
555
+
556
+ /* 省略号 */
557
+ .ws-player .ws-ctrl-ellipsis {
558
+ position: absolute;
559
+ right: 0;
560
+ bottom: 20px;
561
+ width: 40px;
562
+ height: 20px;
563
+ background-color: #121a23;
564
+ background-image: url(./icon/ws-ctrl-ellipsis.svg);
565
+ background-repeat: no-repeat;
566
+ user-select: none;
567
+ }
568
+
569
+ .ws-player .ws-ctrl-ellipsis-list {
570
+ display: none;
571
+ position: relative;
572
+ color: #fff;
573
+ width: 130px;
574
+ height: 150px;
575
+ overflow-y: auto;
576
+ transform: translate(-75px, -170px);
577
+ z-index: 100;
578
+ }
579
+
580
+ .ws-player .ws-ctrl-ellipsis-list li:hover {
581
+ background-color: #a6acb3;
582
+ cursor: pointer;
583
+ }
584
+
585
+ .ws-player .ws-ctrl-ellipsis:hover {
586
+ background-image: url(./icon/ws-ctrl-ellipsis-hover.svg);
587
+ cursor: pointer;
588
+ }
589
+
590
+ .ws-player .ws-flex {
591
+ width: 100%;
592
+ display: flex;
593
+ align-items: center;
594
+ justify-content: center;
595
+ }
596
+
597
+ .ws-player .ws-flex-end {
598
+ width: 592px;
599
+ justify-content: flex-end;
600
+ }
601
+
602
+ .ws-player .ws-flex-left {
603
+ justify-content: flex-start;
604
+ }
605
+ .ws-player .ws-ctrl-record-icon {
606
+ width: 24px;
607
+ height: 24px;
608
+ border-radius: 100%;
609
+ margin: 0 8px;
610
+ background-repeat: no-repeat;
611
+ background-position: center;
612
+ cursor: pointer;
613
+ }
614
+ .ws-player .ws-record-speed-txt{
615
+ color: #b2bac2;
616
+ text-align: center;
617
+ margin: 0;
618
+ width: 40px;
619
+ }
620
+ .ws-player .ws-record-play {
621
+ background-image: url(./icon/record_play.svg);
622
+ }
623
+ .ws-player .ws-record-pause {
624
+ background-image: url(./icon/record_pause.svg);
625
+ }
626
+ .ws-player .ws-record-speed-sub {
627
+ background-image: url(./icon/speed_left.svg);
628
+ }
629
+ .ws-player .ws-record-speed-add {
630
+ background-image: url(./icon/speed_right.svg);
631
+ }
632
+
633
+ /* spinner 动画 */
634
+ @keyframes spinner-line-fade-more {
635
+ 0%, 100% {
636
+ opacity: 0; /* minimum opacity */
637
+ }
638
+ 1% {
639
+ opacity: 1;
640
+ }
641
+ }
642
+
643
+ @keyframes spinner-line-fade-quick {
644
+ 0%, 39%, 100% {
645
+ opacity: 0.25; /* minimum opacity */
646
+ }
647
+ 40% {
648
+ opacity: 1;
649
+ }
650
+ }
651
+
652
+ @keyframes spinner-line-fade-default {
653
+ 0%, 100% {
654
+ opacity: 0.22; /* minimum opacity */
655
+ }
656
+ 1% {
657
+ opacity: 1;
658
+ }
659
+ }
660
+
661
+ @keyframes spinner-line-shrink {
662
+ 0%, 25%, 100% {
663
+ /* minimum scale and opacity */
664
+ transform: scale(0.5);
665
+ opacity: 0.25;
666
+ }
667
+ 26% {
668
+ transform: scale(1);
669
+ opacity: 1;
670
+ }
671
+ }
672
+
673
+ .wsplayer-item .stream {
674
+ margin-left: 6px;
675
+ display: flex;
676
+ overflow-x: clip;
677
+ }
678
+
679
+ .wsplayer-item .stream-type .stream-type-select{
680
+ background: #1A78EA;
681
+ color: #FFF;
682
+ }
683
+
684
+ .wsplayer-item .stream-type .stream-type-item:last-child {
685
+ border-right: 0;
686
+ }
687
+
688
+ .wsplayer-item .select-container {
689
+ width: 80px;
690
+ margin-right: 8px;
691
+ position: relative;
692
+ user-select: none
693
+ }
694
+
695
+ .wsplayer-item .select-show {
696
+ width: 80px;
697
+ height: 40px;
698
+ line-height: 40px;
699
+ text-align: center;
700
+ background-color: rgba(0, 0, 0, .85);
701
+ color: #ffffff;
702
+ font-size: 14px;
703
+ box-sizing: border-box;
704
+ cursor: pointer;
705
+ display: flex;
706
+ justify-content: space-between;
707
+ align-items: center;
708
+ padding: 0 1px 0 8px;
709
+ }
710
+
711
+ .wsplayer-item .select-show .code-stream {
712
+ width: 51px;
713
+ overflow: hidden;
714
+ text-overflow: ellipsis;
715
+ white-space: nowrap;
716
+ }
717
+
718
+ .wsplayer-item .select-ul {
719
+ background-color: #2a2b37;
720
+ color: white;
721
+ width: 80px;
722
+ position: absolute;
723
+ left: 0;
724
+ top: 40px;
725
+ box-sizing: border-box;
726
+ }
727
+
728
+ .wsplayer-item .select-ul li {
729
+ height: 32px;
730
+ line-height: 32px;
731
+ text-align: center;
732
+ cursor: pointer;
733
+ margin-top: 4px;
734
+ font-size: 14px;
735
+ list-style: none;
736
+ padding: 0 5px;
737
+ overflow: hidden;
738
+ text-overflow: ellipsis;
739
+ white-space: nowrap;
740
+ }
741
+
742
+ .wsplayer-item .select-ul li:hover {
743
+ background-color: #3b414d;
744
+ }
745
+
746
+ .wsplayer-item .select-ul li:active {
747
+ background-color: #1c6bd6;
748
+ }
749
+
750
+ .wsplayer-item ul,
751
+ li {
752
+ list-style: none;
753
+ margin: 0;
754
+ padding: 0;
755
+ }
756
+
757
+ /**
758
+ 云台样式
759
+ */
760
+ .ws-pan-tilt-control{
761
+ display: flex;
762
+ flex-direction: column;
763
+ align-items: center;
764
+ width: 100%;
765
+ height: 100%;
766
+ justify-content: flex-end;
767
+ border: 1px solid #e9ebee;
768
+ padding-top: 10px;
769
+ position: relative;
770
+ }
771
+
772
+ .ws-pan-tilt-circle-wrapper{
773
+ flex: 1;
774
+ display: flex;
775
+ align-items: center;
776
+ }
777
+
778
+ .ws-pan-tilt-circle{
779
+ width: 180px;
780
+ height: 180px;
781
+ background-color: #f5f6f9;
782
+ border-radius: 50%;
783
+ position: relative;
784
+ overflow: hidden;
785
+ transform: rotate(-45deg);
786
+ }
787
+
788
+ .ws-pan-tilt-direction-item{
789
+ position: absolute;
790
+ width: 90px;
791
+ height: 90px;
792
+ transform-origin: 100% 100%;
793
+ transition: border 0.3s ease;
794
+ cursor: pointer;
795
+ user-select: none;
796
+ }
797
+
798
+ .ws-pan-tilt-direction-item:active{
799
+ background-image: linear-gradient(150deg, rgba(28, 121, 244, 0.2), rgba(255, 255, 255, 0));
800
+ }
801
+
802
+ .ws-pan-tilt-circle-rotate{
803
+ transform: rotate(45deg);
804
+ overflow: hidden;
805
+ }
806
+
807
+ .ws-pan-tilt-direction-item:nth-child(1){
808
+ transform: rotate(66deg) skew(45deg);
809
+ }
810
+ .ws-pan-tilt-direction-item:nth-child(1) img{
811
+ width: 16px;
812
+ position: absolute;
813
+ transform: skew(-45deg) rotate(-66deg) translate(-1px, -8px);
814
+ top: 55px;
815
+ left: 52px;
816
+ }
817
+ .ws-pan-tilt-direction-item:nth-child(2){
818
+ transform: rotate(111deg) skew(45deg);
819
+ }
820
+ .ws-pan-tilt-direction-item:nth-child(2) img{
821
+ width: 16px;
822
+ position: absolute;
823
+ transform: skew(-45deg) rotate(-111deg) translate(1px, 2px);
824
+ top: 55px;
825
+ left: 44px;
826
+ }
827
+ .ws-pan-tilt-direction-item:nth-child(3){
828
+ transform: rotate(156deg) skew(45deg);
829
+ }
830
+ .ws-pan-tilt-direction-item:nth-child(3) img{
831
+ width: 16px;
832
+ position: absolute;
833
+ transform: skew(-45deg) rotate(-156deg) translate(0px, 3px);
834
+ top: 55px;
835
+ left: 44px;
836
+ }
837
+ .ws-pan-tilt-direction-item:nth-child(4){
838
+ transform: rotate(-159deg) skew(45deg);
839
+ }
840
+ .ws-pan-tilt-direction-item:nth-child(4) img{
841
+ width: 16px;
842
+ position: absolute;
843
+ transform: skew(-45deg) rotate(159deg) translate(0px, 1px);
844
+ top: 55px;
845
+ left: 46px;
846
+ }
847
+ .ws-pan-tilt-direction-item:nth-child(5){
848
+ transform: rotate(-114deg) skew(45deg);
849
+ }
850
+ .ws-pan-tilt-direction-item:nth-child(5) img{
851
+ width: 16px;
852
+ position: absolute;
853
+ transform: skew(-45deg) rotate(114deg) translate(2px, -2px);
854
+ top: 51px;
855
+ left: 48px;
856
+ }
857
+ .ws-pan-tilt-direction-item:nth-child(6){
858
+ transform: rotate(-69deg) skew(45deg);
859
+ }
860
+ .ws-pan-tilt-direction-item:nth-child(6) img{
861
+ width: 16px;
862
+ position: absolute;
863
+ transform: skew(-45deg) rotate(69deg) translate(2px, 2px);
864
+ top: 52px;
865
+ left: 50px;
866
+ }
867
+ .ws-pan-tilt-direction-item:nth-child(7){
868
+ transform: rotate(-24deg) skew(45deg);
869
+ }
870
+ .ws-pan-tilt-direction-item:nth-child(7) img{
871
+ width: 16px;
872
+ position: absolute;
873
+ transform: skew(-45deg) rotate(24deg) translate(2px, 2px);
874
+ top: 50px;
875
+ left: 48px;
876
+ }
877
+ .ws-pan-tilt-direction-item:nth-child(8){
878
+ transform: rotate(21deg) skew(45deg);
879
+ }
880
+ .ws-pan-tilt-direction-item:nth-child(8) img{
881
+ width: 16px;
882
+ position: absolute;
883
+ transform: skew(-45deg) rotate(-21deg) translate(0px, 2px);
884
+ top: 52px;
885
+ left: 49px;
886
+ }
887
+ .ws-pan-tilt-inner-circle{
888
+ width: 80px;
889
+ height: 80px;
890
+ border-radius: 50%;
891
+ background-color: white;
892
+ position: absolute;
893
+ top: 28%;
894
+ left: 28%;
895
+ display: flex;
896
+ align-items: center;
897
+ justify-content: center;
898
+ }
899
+
900
+ .ws-pan-tilt-pzt-select{
901
+ cursor: pointer;
902
+ }
903
+
904
+ .ws-cloud-control-wrapper{
905
+ display: flex;
906
+ width: 100%;
907
+ height: 42px;
908
+ align-items: center;
909
+ justify-content: center;
910
+ border-top: 1px solid #e9ebee;
911
+ margin-top: 10px;
912
+ }
913
+
914
+ .ws-cloud-control-wrapper .ws-pan-tilt-control-item img{
915
+ width: 20px;
916
+ height: 20px;
917
+ cursor: pointer;
918
+ margin: 0 8px;
919
+ }
920
+
921
+ .ws-cloud-control-wrapper .cloud-control-separate{
922
+ border-left: 1px solid #e9ebee;
923
+ height: 20px;
924
+ }
925
+ .ws-pan-tilt-mask {
926
+ position: absolute;
927
+ z-index: 100;
928
+ cursor: not-allowed;
929
+ background-color: #ccc;
930
+ opacity: 0.4;
931
+ }
932
+ .ws-pan-tilt-mask-direction {
933
+ top: 0;
934
+ width: 100%;
935
+ height: calc(100% - 42px);
936
+ }
937
+ .ws-pan-tilt-mask-position{
938
+ width: 80px;
939
+ height: 80px;
940
+ border-radius: 100%;
941
+ top: calc((100% - 42px) / 2);
942
+ transform: translate(-50%, -50%);
943
+ left: 50%;
944
+ display: none;
945
+ }
946
+ .ws-pan-tilt-mask-zoom {
947
+ left: 0;
948
+ bottom: 0;
949
+ height: 42px;
950
+ width: calc(50% + 36px);
951
+ }
952
+ .ws-pan-tilt-mask-aperture {
953
+ right: 0;
954
+ bottom: 0;
955
+ height: 42px;
956
+ width: calc(50% - 36px);
957
+ }
958
+
959
+ .ws-select-show-option {
960
+ font-size: 14px;
961
+ }
962
+
963
+ .ws-custom-dom-style {
964
+ position: absolute;
965
+ width: 100%;
966
+ height: 100%;
967
+ }
968
+
969
+ .dom-item {
970
+ position: absolute;
971
+ box-sizing: border-box;
972
+ border: 1px solid #aaa;
973
+ background: #1c2834;
974
+ float: left;
975
+ display: flex;
976
+ justify-content: center;
977
+ align-items: center;
978
+ overflow: hidden;
979
+ }
980
+
981
+ .dom-item-split-btn {
982
+ width: 28px;
983
+ height: 28px;
984
+ background: url(./icon/screen_custom_division_split.svg) no-repeat;
985
+ }
986
+ .dom-item-split-btn:hover,
987
+ .dom-item-merge-btn:hover {
988
+ cursor: pointer;
989
+ }
990
+
991
+ .dom-item-merge-btn {
992
+ position: absolute;
993
+ right: 5px;
994
+ top: 5px;
995
+ width: 24px;
996
+ height: 24px;
997
+ background: url(./icon/screen_custom_division_merge.svg) no-repeat;
998
+ }
999
+
1000
+ .dom-item-flex {
1001
+ display: flex;
1002
+ box-sizing: border-box;
1003
+ border: 1px solid #aaa;
1004
+ background: #161a1e; float: left;
1005
+ justify-content: center;
1006
+ align-items: center;
1007
+ }
1008
+ .point-e-resize {
1009
+ position: absolute;
1010
+ z-index: 10;
1011
+ cursor: e-resize;
1012
+ }
1013
+ .point-n-resize {
1014
+ position: absolute;
1015
+ z-index: 10;
1016
+ cursor: n-resize;
1017
+ }
1018
+
1019
+ .window-division-bottom-container {
1020
+ height: 64px;
1021
+ background-color: #121a23;
1022
+ display: flex;
1023
+ flex-direction: row-reverse;
1024
+ align-items: center;
1025
+ }
1026
+
1027
+ .window-division-btn {
1028
+ margin-right: 8px;
1029
+ float: right;
1030
+ width: 60px;
1031
+ height: 32px;
1032
+ border-radius: 4px;
1033
+ border: 0;
1034
+ }
1035
+
1036
+ .window-division-btn-info {
1037
+ background-color: #ffffff;
1038
+ color: #445160;
1039
+ }
1040
+
1041
+ .window-division-btn-primary {
1042
+ background-color: #1c79f4;
1043
+ color: #fff;
1044
+ }
1045
+
1046
+ .window-division-btn:hover {
1047
+ cursor: pointer;
1048
+ }
1049
+ .ws-player .ws-record-control .ws-record-control-cursor {
1050
+ display: none;
1051
+ position: absolute;
1052
+ left: 0;
1053
+ top: 0;
1054
+ height: 100%;
1055
+ z-index: 101;
1056
+ pointer-events: none;
1057
+ -webkit-user-select:none;/*webkit浏览器*/
1058
+ -moz-user-select:none;/*火狐*/
1059
+ -ms-user-select:none;/*IE10*/
1060
+ user-select:none;
1061
+ }
1062
+
1063
+ @media (any-hover: hover) {
1064
+ .ws-player .ws-record-control:hover .ws-record-control-cursor {
1065
+ display: block;
1066
+ }
1067
+ }
1068
+
1069
+
1070
+ .ws-player .ws-record-control .ws-record-control-cursor::after {
1071
+ display: block;
1072
+ content: '';
1073
+ height: 100%;
1074
+ border-left: 2px dashed #4367D0;
1075
+ }
1076
+
1077
+ .ws-player .ws-record-control .ws-record-control-cursor .ws-record-control-cursor-text {
1078
+ position: absolute;
1079
+ top: -30px;
1080
+ left: 50%;
1081
+ white-space: nowrap;
1082
+ transform: translateX(-50%);
1083
+ padding: 0 8px;
1084
+ color: #fff;
1085
+ border-radius: 4px;
1086
+ background-color: #4367D0;
1087
+ }
1088
+ .ws-player .ws-record-control .ws-record-control-cursor .ws-record-control-cursor-text::after {
1089
+ position: absolute;
1090
+ left: 50%;
1091
+ top:calc(100% - 1px);
1092
+ transform: translateX(-50%);
1093
+ content: '';
1094
+ border-top: 5px solid #4367D0;
1095
+ border-left: 7px solid transparent;
1096
+ border-right: 7px solid transparent;
1097
+ }
1098
+