@vtx/player 1.9.9 → 1.10.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.
Files changed (86) hide show
  1. package/lib/api/index.d.ts +2 -0
  2. package/lib/api/index.js +7 -1
  3. package/lib/api/index.js.map +1 -1
  4. package/lib/api/types.d.ts +5 -0
  5. package/lib/bd/PlayerManager.d.ts +1 -0
  6. package/lib/bd/PlayerManager.js +13 -0
  7. package/lib/bd/PlayerManager.js.map +1 -1
  8. package/lib/bill-player/index.js +5 -3
  9. package/lib/bill-player/index.js.map +1 -1
  10. package/lib/controls/index.d.ts +3 -4
  11. package/lib/controls/index.js +6 -5
  12. package/lib/controls/index.js.map +1 -1
  13. package/lib/history-control-v2/components/grid-item/index.js +29 -1
  14. package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
  15. package/lib/history-control-v2/components/panel/index.js +47 -13
  16. package/lib/history-control-v2/components/panel/index.js.map +1 -1
  17. package/lib/history-control-v2/interface.d.ts +2 -0
  18. package/lib/history-control-v2/utils.d.ts +1 -0
  19. package/lib/history-control-v2/utils.js +18 -4
  20. package/lib/history-control-v2/utils.js.map +1 -1
  21. package/lib/history-player/index.d.ts +4 -2
  22. package/lib/history-player/index.js +147 -45
  23. package/lib/history-player/index.js.map +1 -1
  24. package/lib/index.d.ts +0 -1
  25. package/lib/index.js +0 -7
  26. package/lib/index.js.map +1 -1
  27. package/lib/live-channel-player/index.js +3 -3
  28. package/lib/live-channel-player/index.js.map +1 -1
  29. package/lib/live-player/index.d.ts +1 -2
  30. package/lib/live-player/index.js +62 -6
  31. package/lib/live-player/index.js.map +1 -1
  32. package/lib/player/BdPlayer.d.ts +110 -0
  33. package/lib/player/BdPlayer.js +242 -0
  34. package/lib/player/BdPlayer.js.map +1 -0
  35. package/lib/player/FlvPlayer.d.ts +112 -0
  36. package/lib/player/FlvPlayer.js +210 -0
  37. package/lib/player/FlvPlayer.js.map +1 -0
  38. package/lib/player/H264Player.d.ts +109 -0
  39. package/lib/player/H264Player.js +218 -0
  40. package/lib/player/H264Player.js.map +1 -0
  41. package/lib/player/HkcarwsPlayer.d.ts +124 -0
  42. package/lib/player/HkcarwsPlayer.js +390 -0
  43. package/lib/player/HkcarwsPlayer.js.map +1 -0
  44. package/lib/player/HkwsPlayer.d.ts +124 -0
  45. package/lib/player/HkwsPlayer.js +376 -0
  46. package/lib/player/HkwsPlayer.js.map +1 -0
  47. package/lib/player/HlsPlayer.d.ts +115 -0
  48. package/lib/player/HlsPlayer.js +212 -0
  49. package/lib/player/HlsPlayer.js.map +1 -0
  50. package/lib/player/IccwsPlayer.d.ts +113 -0
  51. package/lib/player/IccwsPlayer.js +249 -0
  52. package/lib/player/IccwsPlayer.js.map +1 -0
  53. package/lib/player/IframePlayer.d.ts +60 -0
  54. package/lib/player/IframePlayer.js +45 -0
  55. package/lib/player/IframePlayer.js.map +1 -0
  56. package/lib/player/Mp4Player.d.ts +110 -0
  57. package/lib/player/Mp4Player.js +215 -0
  58. package/lib/player/Mp4Player.js.map +1 -0
  59. package/lib/player/RslPlayer.d.ts +112 -0
  60. package/lib/player/RslPlayer.js +230 -0
  61. package/lib/player/RslPlayer.js.map +1 -0
  62. package/lib/player/VtxHlsPlayer.d.ts +116 -0
  63. package/lib/player/VtxHlsPlayer.js +222 -0
  64. package/lib/player/VtxHlsPlayer.js.map +1 -0
  65. package/lib/player/VtxwhepPlayer.d.ts +110 -0
  66. package/lib/player/VtxwhepPlayer.js +223 -0
  67. package/lib/player/VtxwhepPlayer.js.map +1 -0
  68. package/lib/player/VtxwsPlayer.d.ts +114 -0
  69. package/lib/player/VtxwsPlayer.js +264 -0
  70. package/lib/player/VtxwsPlayer.js.map +1 -0
  71. package/lib/player/WebrtcPlayer.d.ts +109 -0
  72. package/lib/player/WebrtcPlayer.js +219 -0
  73. package/lib/player/WebrtcPlayer.js.map +1 -0
  74. package/lib/player/WfsPlayer.d.ts +109 -0
  75. package/lib/player/WfsPlayer.js +219 -0
  76. package/lib/player/WfsPlayer.js.map +1 -0
  77. package/lib/player/index.d.ts +16 -125
  78. package/lib/player/index.js +103 -836
  79. package/lib/player/index.js.map +1 -1
  80. package/lib/player/indexOld.d.ts +127 -0
  81. package/lib/player/indexOld.js +871 -0
  82. package/lib/player/indexOld.js.map +1 -0
  83. package/lib/utils/index.d.ts +7 -2
  84. package/lib/utils/index.js +24 -1
  85. package/lib/utils/index.js.map +1 -1
  86. package/package.json +1 -1
@@ -0,0 +1,264 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _config = _interopRequireDefault(require("../config"));
8
+ var _utils = require("../utils");
9
+ var _moment = _interopRequireDefault(require("moment"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
12
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
13
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; o("next", 0), o("throw", 1), o("return", 2); } }, _regeneratorDefine2(e, r, n, t); }
14
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
15
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
16
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
17
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
18
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
19
+ var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
20
+ function adopt(value) {
21
+ return value instanceof P ? value : new P(function (resolve) {
22
+ resolve(value);
23
+ });
24
+ }
25
+ return new (P || (P = Promise))(function (resolve, reject) {
26
+ function fulfilled(value) {
27
+ try {
28
+ step(generator.next(value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ }
33
+ function rejected(value) {
34
+ try {
35
+ step(generator["throw"](value));
36
+ } catch (e) {
37
+ reject(e);
38
+ }
39
+ }
40
+ function step(result) {
41
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
42
+ }
43
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
44
+ });
45
+ };
46
+ /**
47
+ * 视频播放核心类
48
+ */
49
+ var Player = /*#__PURE__*/function () {
50
+ function Player(params) {
51
+ _classCallCheck(this, Player);
52
+ this.player = null;
53
+ /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */
54
+ var url = params.url,
55
+ originalUrl = params.originalUrl,
56
+ channelNum = params.channelNum,
57
+ deviceCode = params.deviceCode,
58
+ _params$enableAgent = params.enableAgent,
59
+ enableAgent = _params$enableAgent === void 0 ? false : _params$enableAgent,
60
+ container = params.container,
61
+ _params$live = params.live,
62
+ live = _params$live === void 0 ? true : _params$live,
63
+ type = params.type,
64
+ streamType = params.streamType,
65
+ reload = params.reload,
66
+ onClose = params.onClose;
67
+ this.reload = reload;
68
+ this.onClose = onClose;
69
+ var playerParams = (0, _utils.getPlayerParams)(type, url, enableAgent, live);
70
+ this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值,1.1.2之后默认都传type
71
+ this.url = playerParams.url;
72
+ this.originalUrl = originalUrl;
73
+ this.channelNum = channelNum;
74
+ this.deviceCode = deviceCode || '';
75
+ this.streamType = streamType || '0'; // 默认主码流
76
+ this.enableAgent = enableAgent;
77
+ var video = document.createElement('video'); // 生成video元素
78
+ video.className = 'vtx-player-video';
79
+ video.muted = true; //设置静音
80
+ this.video = video;
81
+ var $container = document.getElementById(container.id);
82
+ this.player = new window.Jessibuca({
83
+ container: $container,
84
+ videoBuffer: 3,
85
+ timeout: 10,
86
+ isResize: false,
87
+ isFlv: true,
88
+ decoder: "".concat(_config["default"].visPlugin, "/jessibuca/decoder.js"),
89
+ useMSE: true,
90
+ debug: false,
91
+ hasAudio: false,
92
+ useWCS: false,
93
+ autoWasm: true,
94
+ isNotMute: true //是否开启声音
95
+ });
96
+ }
97
+ /** 播放 */
98
+ return _createClass(Player, [{
99
+ key: "play",
100
+ value: function play() {
101
+ var player = this.player;
102
+ player.play(this.url);
103
+ var onClose = this.onClose;
104
+ var reload = this.reload;
105
+ var index = 0;
106
+ player.on('stats', function (s) {
107
+ if ((s === null || s === void 0 ? void 0 : s.buf) < 0 && s.fps < 10 || !s.vbps) {
108
+ index++;
109
+ } else {
110
+ index = 0;
111
+ }
112
+ // 超过5秒无数据,则认为播放失败,则重连
113
+ if (index > 4) {
114
+ index = 0;
115
+ console.log(s, 'stats > 4');
116
+ reload && reload();
117
+ }
118
+ });
119
+ player.on('timeout', function (err) {
120
+ console.log(err, 'timeout');
121
+ reload && reload();
122
+ });
123
+ // 当play()的时候,如果没有数据返回,则回调
124
+ player.on('loadingTimeout', function () {
125
+ console.log('当play的时候,没有数据返回,reload');
126
+ reload && reload();
127
+ });
128
+ // 当播放过程中,如果超过timeout之后没有数据渲染,则抛出异常。
129
+ player.on('delayTimeout', function () {
130
+ console.log('超过timeout之后没有数据渲染,reload');
131
+ reload && reload();
132
+ });
133
+ player.on('error', function (error) {
134
+ console.log('自定义error:', error);
135
+ if (error === 'streamEnd') {
136
+ reload && reload();
137
+ }
138
+ if (error === 'websocketError') {
139
+ onClose && onClose();
140
+ }
141
+ });
142
+ return Promise.resolve();
143
+ }
144
+ /** 回放 */
145
+ }, {
146
+ key: "playBack",
147
+ value: function playBack() {
148
+ return this.play();
149
+ }
150
+ /** 销毁 */
151
+ }, {
152
+ key: "destroy",
153
+ value: function destroy() {
154
+ if (!this.player) return;
155
+ var player = this.player;
156
+ player.destroy();
157
+ }
158
+ /** 截图 */
159
+ }, {
160
+ key: "capture",
161
+ value: function capture() {
162
+ var captureName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '视频截图';
163
+ var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
164
+ var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
165
+ var name = captureName;
166
+ if (time) name += "-".concat((0, _moment["default"])().format('YYYYMMDDHHmmss'));
167
+ var player = this.player;
168
+ if (player) {
169
+ var fileBlob = player.screenshot(name, 'blob');
170
+ callback && callback(URL.createObjectURL(fileBlob));
171
+ }
172
+ }
173
+ /** 尺寸重置 */
174
+ }, {
175
+ key: "resize",
176
+ value: function resize() {
177
+ //
178
+ }
179
+ /**
180
+ * 设置音量
181
+ * @param value
182
+ */
183
+ }, {
184
+ key: "setVolume",
185
+ value: function setVolume() {
186
+ //
187
+ }
188
+ /**
189
+ * 设置播放速度
190
+ * @param speed
191
+ */
192
+ }, {
193
+ key: "setSpeed",
194
+ value: function setSpeed(speed) {
195
+ this.video.playbackRate = speed;
196
+ }
197
+ /**
198
+ * 时间更新事件
199
+ * @param callback 回调函数
200
+ */
201
+ }, {
202
+ key: "onTimeUpdate",
203
+ value: function onTimeUpdate(callback) {
204
+ var player = this.player;
205
+ player.on('stats', function (s) {
206
+ // ts 单位是毫秒,当前时间戳
207
+ callback((s.ts || 0) / 1000, 1);
208
+ });
209
+ }
210
+ /** 跳转到 */
211
+ }, {
212
+ key: "seekTo",
213
+ value: function seekTo() {
214
+ return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee() {
215
+ return _regenerator().w(function (_context) {
216
+ while (1) switch (_context.n) {
217
+ case 0:
218
+ return _context.a(2, Promise.resolve());
219
+ }
220
+ }, _callee);
221
+ }));
222
+ }
223
+ /**
224
+ * 暂停播放
225
+ * @param callback 回调函数
226
+ */
227
+ }, {
228
+ key: "pause",
229
+ value: function pause(callback) {
230
+ var player = this.player;
231
+ player.pause();
232
+ callback && callback();
233
+ }
234
+ /**
235
+ * 恢复播放
236
+ * @param callback 回调函数
237
+ */
238
+ }, {
239
+ key: "resume",
240
+ value: function resume(callback) {
241
+ callback && callback();
242
+ }
243
+ /**
244
+ * 开始对讲
245
+ * @param url 对讲地址
246
+ */
247
+ }, {
248
+ key: "startTalk",
249
+ value: function startTalk() {
250
+ return Promise.reject();
251
+ }
252
+ /**
253
+ * 开始对讲
254
+ * @param state 状态
255
+ */
256
+ }, {
257
+ key: "stopTalk",
258
+ value: function stopTalk() {
259
+ return Promise.reject();
260
+ }
261
+ }]);
262
+ }();
263
+ var _default = exports["default"] = Player;
264
+ //# sourceMappingURL=VtxwsPlayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VtxwsPlayer.js","names":["_config","_interopRequireDefault","require","_utils","_moment","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_regenerator","t","r","n","toStringTag","i","c","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","enumerable","configurable","writable","_invoke","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_toPrimitive","toPrimitive","String","Number","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","next","rejected","result","then","apply","Player","params","player","url","originalUrl","channelNum","deviceCode","_params$enableAgent","enableAgent","container","_params$live","live","type","streamType","reload","onClose","playerParams","getPlayerParams","video","document","createElement","className","muted","$container","getElementById","id","window","Jessibuca","videoBuffer","timeout","isResize","isFlv","decoder","concat","CONFIG","visPlugin","useMSE","debug","hasAudio","useWCS","autoWasm","isNotMute","play","index","on","s","buf","fps","vbps","console","log","err","error","playBack","destroy","capture","captureName","arguments","undefined","callback","time","name","moment","format","fileBlob","screenshot","URL","createObjectURL","resize","setVolume","setSpeed","speed","playbackRate","onTimeUpdate","ts","seekTo","_callee","_context","pause","resume","startTalk","stopTalk","_default","exports"],"sources":["player/VtxwsPlayer.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport CONFIG from '../config';\nimport { getPlayerParams } from '../utils';\nimport moment from 'moment';\n/**\n * 视频播放核心类\n */\nclass Player {\n constructor(params) {\n this.player = null;\n /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */\n const { url, originalUrl, channelNum, deviceCode, enableAgent = false, container, live = true, type, streamType, reload, onClose, } = params;\n this.reload = reload;\n this.onClose = onClose;\n const playerParams = getPlayerParams(type, url, enableAgent, live);\n this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值,1.1.2之后默认都传type\n this.url = playerParams.url;\n this.originalUrl = originalUrl;\n this.channelNum = channelNum;\n this.deviceCode = deviceCode || '';\n this.streamType = streamType || '0'; // 默认主码流\n this.enableAgent = enableAgent;\n const video = document.createElement('video'); // 生成video元素\n video.className = 'vtx-player-video';\n video.muted = true; //设置静音\n this.video = video;\n const $container = document.getElementById(container.id);\n this.player = new window.Jessibuca({\n container: $container,\n videoBuffer: 3,\n timeout: 10,\n isResize: false,\n isFlv: true,\n decoder: `${CONFIG.visPlugin}/jessibuca/decoder.js`,\n useMSE: true,\n debug: false,\n hasAudio: false,\n useWCS: false,\n autoWasm: true,\n isNotMute: true, //是否开启声音\n });\n }\n /** 播放 */\n play() {\n const player = this.player;\n player.play(this.url);\n const onClose = this.onClose;\n const reload = this.reload;\n let index = 0;\n player.on('stats', function (s) {\n if (((s === null || s === void 0 ? void 0 : s.buf) < 0 && s.fps < 10) || !s.vbps) {\n index++;\n }\n else {\n index = 0;\n }\n // 超过5秒无数据,则认为播放失败,则重连\n if (index > 4) {\n index = 0;\n console.log(s, 'stats > 4');\n reload && reload();\n }\n });\n player.on('timeout', function (err) {\n console.log(err, 'timeout');\n reload && reload();\n });\n // 当play()的时候,如果没有数据返回,则回调\n player.on('loadingTimeout', function () {\n console.log('当play的时候,没有数据返回,reload');\n reload && reload();\n });\n // 当播放过程中,如果超过timeout之后没有数据渲染,则抛出异常。\n player.on('delayTimeout', function () {\n console.log('超过timeout之后没有数据渲染,reload');\n reload && reload();\n });\n player.on('error', function (error) {\n console.log('自定义error:', error);\n if (error === 'streamEnd') {\n reload && reload();\n }\n if (error === 'websocketError') {\n onClose && onClose();\n }\n });\n return Promise.resolve();\n }\n /** 回放 */\n playBack() {\n return this.play();\n }\n /** 销毁 */\n destroy() {\n if (!this.player)\n return;\n const player = this.player;\n player.destroy();\n }\n /** 截图 */\n capture(captureName = '视频截图', callback = null, time = true) {\n let name = captureName;\n if (time)\n name += `-${moment().format('YYYYMMDDHHmmss')}`;\n const player = this.player;\n if (player) {\n const fileBlob = player.screenshot(name, 'blob');\n callback && callback(URL.createObjectURL(fileBlob));\n }\n }\n /** 尺寸重置 */\n resize() {\n //\n }\n /**\n * 设置音量\n * @param value\n */\n setVolume() {\n //\n }\n /**\n * 设置播放速度\n * @param speed\n */\n setSpeed(speed) {\n this.video.playbackRate = speed;\n }\n /**\n * 时间更新事件\n * @param callback 回调函数\n */\n onTimeUpdate(callback) {\n const player = this.player;\n player.on('stats', function (s) {\n // ts 单位是毫秒,当前时间戳\n callback((s.ts || 0) / 1000, 1);\n });\n }\n /** 跳转到 */\n seekTo() {\n return __awaiter(this, void 0, void 0, function* () {\n // vtx_ws\n return Promise.resolve();\n });\n }\n /**\n * 暂停播放\n * @param callback 回调函数\n */\n pause(callback) {\n const player = this.player;\n player.pause();\n callback && callback();\n }\n /**\n * 恢复播放\n * @param callback 回调函数\n */\n resume(callback) {\n callback && callback();\n }\n /**\n * 开始对讲\n * @param url 对讲地址\n */\n startTalk() {\n return Promise.reject();\n }\n /**\n * 开始对讲\n * @param state 状态\n */\n stopTalk() {\n return Promise.reject();\n }\n}\nexport default Player;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,109 @@
1
+ import moment from 'moment';
2
+ /** 视频流格式 */
3
+ export type VideoType = 'webrtc' | string;
4
+ interface ConstructorParams {
5
+ url?: string;
6
+ originalUrl?: string;
7
+ /** 设备id */
8
+ deviceId?: string;
9
+ /** 服务器地址 */
10
+ deviceIp?: string;
11
+ /** 服务器端口 */
12
+ devicePort?: string;
13
+ /** 服务器用户名 */
14
+ userName?: string;
15
+ /** 服务器密码 */
16
+ password?: string;
17
+ /** 主/子码流 */
18
+ streamType?: '0' | '1';
19
+ /** 通道号 */
20
+ channelNum?: string;
21
+ /** 设备Code */
22
+ deviceCode?: string;
23
+ /**是否开启代理 */
24
+ enableAgent?: boolean;
25
+ /** 渲染容器 */
26
+ container?: HTMLDivElement;
27
+ /** 是否直播,flv.js需要 */
28
+ live?: boolean;
29
+ /** 视频流格式 */
30
+ type?: VideoType;
31
+ /** 开始时间,历史回放需要 */
32
+ startTime?: moment.MomentInput;
33
+ /** 结束时间,历史回放需要 */
34
+ endTime?: moment.MomentInput;
35
+ reload?: () => void;
36
+ onClose?: () => void;
37
+ }
38
+ /**
39
+ * 视频播放核心类
40
+ */
41
+ declare class Player {
42
+ /** 视频地址 */
43
+ url: string;
44
+ originalUrl: string;
45
+ /** 通道号 */
46
+ channelNum: string;
47
+ /** 设备Code */
48
+ deviceCode: string;
49
+ /** 主/子码流 */
50
+ streamType: '0' | '1';
51
+ /** 视频流格式 */
52
+ type: VideoType;
53
+ /** 是否使用代理播放 */
54
+ enableAgent: boolean;
55
+ /** 海康视频断流重新加载 */
56
+ reload: () => void;
57
+ onClose: () => void;
58
+ private player;
59
+ private video;
60
+ constructor(params: ConstructorParams);
61
+ /** 播放 */
62
+ play(): Promise<void>;
63
+ /** 回放 */
64
+ playBack(): Promise<void>;
65
+ /** 销毁 */
66
+ destroy(): void;
67
+ /** 截图 */
68
+ capture(captureName?: string, callback?: any, time?: boolean): void;
69
+ /** 尺寸重置 */
70
+ resize(): void;
71
+ /**
72
+ * 设置音量
73
+ * @param value
74
+ */
75
+ setVolume(value: number): void;
76
+ /**
77
+ * 设置播放速度
78
+ * @param speed
79
+ */
80
+ setSpeed(speed: 0.5 | 1 | 2 | 4 | 8): void;
81
+ /**
82
+ * 时间更新事件
83
+ * @param callback 回调函数
84
+ */
85
+ onTimeUpdate(callback: (currentTime: number, speed: number) => void): void;
86
+ /** 跳转到 */
87
+ seekTo(time: number): Promise<void>;
88
+ /**
89
+ * 暂停播放
90
+ * @param callback 回调函数
91
+ */
92
+ pause(callback?: () => void): void;
93
+ /**
94
+ * 恢复播放
95
+ * @param callback 回调函数
96
+ */
97
+ resume(callback?: () => void): void;
98
+ /**
99
+ * 开始对讲
100
+ * @param url 对讲地址
101
+ */
102
+ startTalk(): Promise<never>;
103
+ /**
104
+ * 开始对讲
105
+ * @param state 状态
106
+ */
107
+ stopTalk(): Promise<never>;
108
+ }
109
+ export default Player;
@@ -0,0 +1,219 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _utils = require("../utils");
8
+ var _PlayerManager = _interopRequireDefault(require("../webrtc/PlayerManager"));
9
+ var _moment = _interopRequireDefault(require("moment"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
12
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
13
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; o("next", 0), o("throw", 1), o("return", 2); } }, _regeneratorDefine2(e, r, n, t); }
14
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
15
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
16
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
17
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
18
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
19
+ var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
20
+ function adopt(value) {
21
+ return value instanceof P ? value : new P(function (resolve) {
22
+ resolve(value);
23
+ });
24
+ }
25
+ return new (P || (P = Promise))(function (resolve, reject) {
26
+ function fulfilled(value) {
27
+ try {
28
+ step(generator.next(value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ }
33
+ function rejected(value) {
34
+ try {
35
+ step(generator["throw"](value));
36
+ } catch (e) {
37
+ reject(e);
38
+ }
39
+ }
40
+ function step(result) {
41
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
42
+ }
43
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
44
+ });
45
+ };
46
+ /**
47
+ * 视频播放核心类
48
+ */
49
+ var Player = /*#__PURE__*/function () {
50
+ function Player(params) {
51
+ _classCallCheck(this, Player);
52
+ var _a;
53
+ this.player = null;
54
+ /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */
55
+ var url = params.url,
56
+ originalUrl = params.originalUrl,
57
+ channelNum = params.channelNum,
58
+ deviceCode = params.deviceCode,
59
+ _params$enableAgent = params.enableAgent,
60
+ enableAgent = _params$enableAgent === void 0 ? false : _params$enableAgent,
61
+ container = params.container,
62
+ _params$live = params.live,
63
+ live = _params$live === void 0 ? true : _params$live,
64
+ type = params.type,
65
+ streamType = params.streamType,
66
+ reload = params.reload,
67
+ onClose = params.onClose;
68
+ this.reload = reload;
69
+ this.onClose = onClose;
70
+ var playerParams = (0, _utils.getPlayerParams)(type, url, enableAgent, live);
71
+ this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值,1.1.2之后默认都传type
72
+ this.url = playerParams.url;
73
+ this.originalUrl = originalUrl;
74
+ this.channelNum = channelNum;
75
+ this.deviceCode = deviceCode || '';
76
+ this.streamType = streamType || '0'; // 默认主码流
77
+ this.enableAgent = enableAgent;
78
+ var video = document.createElement('video'); // 生成video元素
79
+ video.className = 'vtx-player-video';
80
+ video.muted = true; //设置静音
81
+ this.video = video;
82
+ var dd = document.getElementById(container.id);
83
+ ((_a = dd === null || dd === void 0 ? void 0 : dd.children) === null || _a === void 0 ? void 0 : _a.length) > 0 && dd.removeChild(dd.firstChild);
84
+ video.autoplay = true;
85
+ var id = "".concat(container.id, "_").concat(Date.now());
86
+ video.id = id;
87
+ container.appendChild(video);
88
+ this.player = new _PlayerManager["default"]({
89
+ el: id,
90
+ url: this.url,
91
+ type: live
92
+ });
93
+ }
94
+ /** 播放 */
95
+ return _createClass(Player, [{
96
+ key: "play",
97
+ value: function play() {
98
+ var player = this.player;
99
+ player.play();
100
+ return Promise.resolve();
101
+ }
102
+ /** 回放 */
103
+ }, {
104
+ key: "playBack",
105
+ value: function playBack() {
106
+ return this.play();
107
+ }
108
+ /** 销毁 */
109
+ }, {
110
+ key: "destroy",
111
+ value: function destroy() {
112
+ if (!this.player) return;
113
+ var player = this.player;
114
+ player.close();
115
+ }
116
+ /** 截图 */
117
+ }, {
118
+ key: "capture",
119
+ value: function capture() {
120
+ var captureName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '视频截图';
121
+ var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
122
+ var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
123
+ var name = captureName;
124
+ if (time) name += "-".concat((0, _moment["default"])().format('YYYYMMDDHHmmss'));
125
+ (0, _utils.Capture)(this.video, name, callback);
126
+ }
127
+ /** 尺寸重置 */
128
+ }, {
129
+ key: "resize",
130
+ value: function resize() {
131
+ //
132
+ }
133
+ /**
134
+ * 设置音量
135
+ * @param value
136
+ */
137
+ }, {
138
+ key: "setVolume",
139
+ value: function setVolume(value) {
140
+ this.video.volume = value / 100;
141
+ }
142
+ /**
143
+ * 设置播放速度
144
+ * @param speed
145
+ */
146
+ }, {
147
+ key: "setSpeed",
148
+ value: function setSpeed(speed) {
149
+ this.video.playbackRate = speed;
150
+ }
151
+ /**
152
+ * 时间更新事件
153
+ * @param callback 回调函数
154
+ */
155
+ }, {
156
+ key: "onTimeUpdate",
157
+ value: function onTimeUpdate(callback) {
158
+ var _this = this;
159
+ this.video.addEventListener('timeupdate', function () {
160
+ var currentTime = _this.video.currentTime;
161
+ callback(currentTime, _this.video.playbackRate);
162
+ });
163
+ }
164
+ /** 跳转到 */
165
+ }, {
166
+ key: "seekTo",
167
+ value: function seekTo(time) {
168
+ return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee() {
169
+ return _regenerator().w(function (_context) {
170
+ while (1) switch (_context.n) {
171
+ case 0:
172
+ this.video.currentTime = time;
173
+ return _context.a(2, Promise.resolve());
174
+ }
175
+ }, _callee, this);
176
+ }));
177
+ }
178
+ /**
179
+ * 暂停播放
180
+ * @param callback 回调函数
181
+ */
182
+ }, {
183
+ key: "pause",
184
+ value: function pause(callback) {
185
+ this.video.pause();
186
+ callback && callback();
187
+ }
188
+ /**
189
+ * 恢复播放
190
+ * @param callback 回调函数
191
+ */
192
+ }, {
193
+ key: "resume",
194
+ value: function resume(callback) {
195
+ this.video.play();
196
+ callback && callback();
197
+ }
198
+ /**
199
+ * 开始对讲
200
+ * @param url 对讲地址
201
+ */
202
+ }, {
203
+ key: "startTalk",
204
+ value: function startTalk() {
205
+ return Promise.reject();
206
+ }
207
+ /**
208
+ * 开始对讲
209
+ * @param state 状态
210
+ */
211
+ }, {
212
+ key: "stopTalk",
213
+ value: function stopTalk() {
214
+ return Promise.reject();
215
+ }
216
+ }]);
217
+ }();
218
+ var _default = exports["default"] = Player;
219
+ //# sourceMappingURL=WebrtcPlayer.js.map