ezuikit-flv 1.0.3-alpha.2 → 1.0.3-alpha.4
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/decoder.js +2 -2
- package/index.js +5 -5
- package/package.json +3 -2
- package/types/index.d.ts +5 -7
- package/types/services/api.d.ts +2 -0
- package/types/services/index.d.ts +172 -0
- package/types/utils/debug.d.ts +1 -1
- package/types/utils/formatDateTIme.d.ts +9 -1
- package/types/utils/uuid.d.ts +1 -0
- package/types/services/HttpUtil.d.ts +0 -19
- package/types/services/getAddress.d.ts +0 -22
- package/types/services/getLocalVideoUnifyQuery.d.ts +0 -15
- package/types/services/getVideoQuality.d.ts +0 -38
- package/types/services/setVideoLevel.d.ts +0 -5
- package/types/stream/websocketLoader.d.ts +0 -18
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ezuikit-flv",
|
|
3
|
-
"version": "1.0.3-alpha.
|
|
3
|
+
"version": "1.0.3-alpha.4",
|
|
4
4
|
"main": "./index.js",
|
|
5
5
|
"types": "./types",
|
|
6
6
|
"author": "Ezviz-OpenBiz",
|
|
@@ -20,7 +20,8 @@
|
|
|
20
20
|
"browser-tool": "1.0.5",
|
|
21
21
|
"eventemitter3": "^5.0.1",
|
|
22
22
|
"recordrtc": "5.6.2",
|
|
23
|
-
"screenfull": "5.1.0"
|
|
23
|
+
"screenfull": "5.1.0",
|
|
24
|
+
"js-md5": "0.8.3"
|
|
24
25
|
},
|
|
25
26
|
"bugs": {
|
|
26
27
|
"url": "https://github.com/Ezviz-OpenBiz/EZUIKit-flv/issues"
|
package/types/index.d.ts
CHANGED
|
@@ -77,7 +77,8 @@ declare class EzuikitFlv extends EventEmitter<string | symbol, any> {
|
|
|
77
77
|
constructor(options: FlvOptions);
|
|
78
78
|
event: EventEmitter<string | symbol, any>;
|
|
79
79
|
urlInfo: {};
|
|
80
|
-
|
|
80
|
+
/** @type {Services} */
|
|
81
|
+
services: Services;
|
|
81
82
|
_opt: FlvOptions;
|
|
82
83
|
$container: any;
|
|
83
84
|
_loadingTimeoutReplayTimes: number;
|
|
@@ -98,6 +99,7 @@ declare class EzuikitFlv extends EventEmitter<string | symbol, any> {
|
|
|
98
99
|
* @private
|
|
99
100
|
*/
|
|
100
101
|
private _httpServices;
|
|
102
|
+
_currentPlayDate: string;
|
|
101
103
|
/**
|
|
102
104
|
* @description 自定义设置清晰度列表, 仅对萤石设备预览生效, 需要第一次 definitionListChange 事件监听后调用, 不然会被接口覆盖
|
|
103
105
|
* @param {VideoLevel} list
|
|
@@ -135,12 +137,7 @@ declare class EzuikitFlv extends EventEmitter<string | symbol, any> {
|
|
|
135
137
|
*/
|
|
136
138
|
private _getNewPlaybackPlayUrl;
|
|
137
139
|
/**
|
|
138
|
-
* @description
|
|
139
|
-
* @param {stirng} time seekTime YYYYMMDDhhmmss
|
|
140
|
-
*/
|
|
141
|
-
seek(seekTime: any): Promise<void>;
|
|
142
|
-
/**
|
|
143
|
-
* @description 是否是回放
|
|
140
|
+
* @description 是否是萤石开放平台回放
|
|
144
141
|
* @param {string} url
|
|
145
142
|
* @private
|
|
146
143
|
* @since @1.0.3
|
|
@@ -406,5 +403,6 @@ declare class EzuikitFlv extends EventEmitter<string | symbol, any> {
|
|
|
406
403
|
getVersion(): string;
|
|
407
404
|
}
|
|
408
405
|
import EventEmitter from 'eventemitter3';
|
|
406
|
+
import Services from './services';
|
|
409
407
|
import Events from './utils/events';
|
|
410
408
|
import Player from './player';
|
package/types/services/api.d.ts
CHANGED
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* videoLevel 清晰度枚举
|
|
3
|
+
*/
|
|
4
|
+
export const QUALITY_ENUM: {
|
|
5
|
+
0: string;
|
|
6
|
+
1: string;
|
|
7
|
+
2: string;
|
|
8
|
+
3: string;
|
|
9
|
+
4: string;
|
|
10
|
+
5: string;
|
|
11
|
+
6: string;
|
|
12
|
+
};
|
|
13
|
+
export const DEFAULT_QUALITY: {
|
|
14
|
+
/**
|
|
15
|
+
* 0: 流畅
|
|
16
|
+
* 1: 标清
|
|
17
|
+
* 2: 高清
|
|
18
|
+
* 3: 超清
|
|
19
|
+
* 4: 极清
|
|
20
|
+
* 5: 3K
|
|
21
|
+
* 6: 4K
|
|
22
|
+
*/
|
|
23
|
+
videoLevel: number;
|
|
24
|
+
name: string;
|
|
25
|
+
streamTypeIn: number;
|
|
26
|
+
/** 用来区分清晰度是否是默认值还是接口返回的 */
|
|
27
|
+
type: string;
|
|
28
|
+
}[];
|
|
29
|
+
export default Services;
|
|
30
|
+
/**
|
|
31
|
+
* @description http请求
|
|
32
|
+
*/
|
|
33
|
+
declare class Services {
|
|
34
|
+
constructor(player: any, options: any);
|
|
35
|
+
_player: any;
|
|
36
|
+
baseURL: any;
|
|
37
|
+
accessToken: any;
|
|
38
|
+
deviceSerial: any;
|
|
39
|
+
channelNo: any;
|
|
40
|
+
appName: any;
|
|
41
|
+
v: any;
|
|
42
|
+
/**
|
|
43
|
+
* @description 请求
|
|
44
|
+
* @param {string} url 请求地址
|
|
45
|
+
* @param object} opions 请求参数
|
|
46
|
+
* @returns {Promise}
|
|
47
|
+
*/
|
|
48
|
+
fetch(url: string, options?: {}): Promise<any>;
|
|
49
|
+
/**
|
|
50
|
+
* @description get请求
|
|
51
|
+
* @param {string} url 请求地址
|
|
52
|
+
*/
|
|
53
|
+
get(url: string, options?: {}): Promise<any>;
|
|
54
|
+
/**
|
|
55
|
+
* @description post请求
|
|
56
|
+
* @param {string} url 请求地址
|
|
57
|
+
*/
|
|
58
|
+
post(url: string, options?: {}): Promise<any>;
|
|
59
|
+
/**
|
|
60
|
+
* @description 获取设备视频质量查询接口 https://open.ys7.com/help/3922
|
|
61
|
+
* @param {string | number} videoLevel 设备视频清晰度等级 0-流畅 1-均衡 2-高清 3-超清 4 5 6
|
|
62
|
+
*/
|
|
63
|
+
setVideoLevelService(videoLevel: string | number): Promise<any>;
|
|
64
|
+
/**
|
|
65
|
+
* @description 获取查询设备本地录像 (开始结束时间必须在同一天, 有时区问题) https://open.ys7.com/help/3922
|
|
66
|
+
* @param {Object} params
|
|
67
|
+
* @param {string | number} params.startTime 开始时间 (毫秒)
|
|
68
|
+
* @param {string | number} params.endTime 结束时间(毫秒)
|
|
69
|
+
* @param {(string | number)=} params.pageSize 每页个数 默认200, 最大200, 超出自动遍历下一页
|
|
70
|
+
*
|
|
71
|
+
* @returns {Array<{"startTime": number,"endTime": number,"type": string, "size":number }>}
|
|
72
|
+
*/
|
|
73
|
+
getLocalVideoUnifyQueryService(params: {
|
|
74
|
+
startTime: string | number;
|
|
75
|
+
endTime: string | number;
|
|
76
|
+
pageSize?: (string | number) | undefined;
|
|
77
|
+
}): Array<{
|
|
78
|
+
"startTime": number;
|
|
79
|
+
"endTime": number;
|
|
80
|
+
"type": string;
|
|
81
|
+
"size": number;
|
|
82
|
+
}>;
|
|
83
|
+
/**
|
|
84
|
+
* @description 获取设备视频质量查询接口 https://open.ys7.com/help/3922
|
|
85
|
+
*
|
|
86
|
+
* @returns {Array<{"streamTypeIn": 1 | 2,"videoLevel": 0 | 1 | 2 | 3 | 4 | 5 |6, name: string }>}
|
|
87
|
+
*/
|
|
88
|
+
getVideoQualityService(): Array<{
|
|
89
|
+
"streamTypeIn": 1 | 2;
|
|
90
|
+
"videoLevel": 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
91
|
+
name: string;
|
|
92
|
+
}>;
|
|
93
|
+
/**
|
|
94
|
+
* @description 获取播放地址 https://open.ys7.com/help/1414
|
|
95
|
+
* @param {Object} params 获取地址参数
|
|
96
|
+
* @param {number=} params.expireTime 过期时长,单位秒;针对hls/rtmp/flv设置有效期,相对时间;30秒-720天
|
|
97
|
+
* @param {number=} params.type 地址的类型,1-预览,2-本地录像回放,3-云存储录像回放,非必选,默认为1;回放仅支持rtmp、ezopen、flv协议
|
|
98
|
+
* @param {number=} params.quality 视频清晰度,1-高清(主码流)、2-流畅(子码流)
|
|
99
|
+
* @param {string=} params.startTime 本地录像/云存储录像回放开始时间,云存储开始结束时间必须在同一天,示例:2019-12-01 00:00:00
|
|
100
|
+
* @param {string=} params.stopTime 本地录像/云存储录像回放结束时间,云存储开始结束时间必须在同一天,示例:2019-12-01 23:59:59
|
|
101
|
+
* @param {number=} params.playbackSpeed 回放倍速。倍速为 -1( 支持的最大倍速)、0.5、1、2、4、8、16; 仅支持protocol为4-flv 且 type为2-本地录像回放( 部分设备可能不支持16倍速) 或者 3-云存储录像回放
|
|
102
|
+
* @returns {Promise<string>}
|
|
103
|
+
*/
|
|
104
|
+
getPlayAddressService(params?: {
|
|
105
|
+
expireTime?: number | undefined;
|
|
106
|
+
type?: number | undefined;
|
|
107
|
+
quality?: number | undefined;
|
|
108
|
+
startTime?: string | undefined;
|
|
109
|
+
stopTime?: string | undefined;
|
|
110
|
+
playbackSpeed?: number | undefined;
|
|
111
|
+
}): Promise<string>;
|
|
112
|
+
/**
|
|
113
|
+
* @description 获取本地录像回放播放地址 https://open.ys7.com/help/1414
|
|
114
|
+
* @param {Object} params 获取地址参数
|
|
115
|
+
* @param {number=} params.expireTime 过期时长,单位秒;针对hls/rtmp/flv设置有效期,相对时间;30秒-720天
|
|
116
|
+
* @param {number=} params.quality 视频清晰度,1-高清(主码流)、2-流畅(子码流)
|
|
117
|
+
* @param {string=} params.startTime 本地录像/云存储录像回放开始时间,云存储开始结束时间必须在同一天,示例:2019-12-01 00:00:00
|
|
118
|
+
* @param {string=} params.stopTime 本地录像/云存储录像回放结束时间,云存储开始结束时间必须在同一天,示例:2019-12-01 23:59:59
|
|
119
|
+
* @param {number=} params.playbackSpeed 回放倍速。倍速为 -1( 支持的最大倍速)、0.5、1、2、4、8、16; 仅支持protocol为4-flv 且 type为2-本地录像回放( 部分设备可能不支持16倍速) 或者 3-云存储录像回放
|
|
120
|
+
* @returns {Promise<string>}
|
|
121
|
+
*/
|
|
122
|
+
getRecordAddressService(params?: {
|
|
123
|
+
expireTime?: number | undefined;
|
|
124
|
+
quality?: number | undefined;
|
|
125
|
+
startTime?: string | undefined;
|
|
126
|
+
stopTime?: string | undefined;
|
|
127
|
+
playbackSpeed?: number | undefined;
|
|
128
|
+
}): Promise<string>;
|
|
129
|
+
/**
|
|
130
|
+
* @description 获取直播地址 https://open.ys7.com/help/1414
|
|
131
|
+
* @param {Object} params 获取地址参数
|
|
132
|
+
* @param {number=} params.expireTime 过期时长,单位秒;针对hls/rtmp/flv设置有效期,相对时间;30秒-720天
|
|
133
|
+
* @param {1 | 2} params.quality 视频清晰度,1-高清(主码流)、2-流畅(子码流)
|
|
134
|
+
* @returns {Promise<string>}
|
|
135
|
+
* @returns
|
|
136
|
+
*/
|
|
137
|
+
getLiveAddressService(params?: {
|
|
138
|
+
expireTime?: number | undefined;
|
|
139
|
+
quality: 1 | 2;
|
|
140
|
+
}): Promise<string>;
|
|
141
|
+
/**
|
|
142
|
+
* @description
|
|
143
|
+
* @param {Object} params 获取地址参数
|
|
144
|
+
* @param {number=} params.expireTime 过期时长,单位秒;针对hls/rtmp/flv设置有效期,相对时间;30秒-720天
|
|
145
|
+
* @param {number=} params.quality 视频清晰度,1-高清(主码流)、2-流畅(子码流)
|
|
146
|
+
* @param {number=} params.playbackSpeed 回放倍速。倍速为 -1( 支持的最大倍速)、0.5、1、2、4、8、16; 仅支持protocol为4-flv 且 type为2-本地录像回放( 部分设备可能不支持16倍速) 或者 3-云存储录像回放
|
|
147
|
+
* @returns {Promise<string>}
|
|
148
|
+
*/
|
|
149
|
+
getCDNPlayAddressService(url: any, body?: {}): Promise<string>;
|
|
150
|
+
/**
|
|
151
|
+
* @description 获取CDN直播地址 (有效期时间是当天 00:00:00 - 23:59:59)
|
|
152
|
+
* @param {Object} body
|
|
153
|
+
* @param {1 | 2} body.quality 视频清晰度,1-高清(默认)、2-流畅
|
|
154
|
+
*/
|
|
155
|
+
getCDNLiveAddressService(body: {
|
|
156
|
+
quality: 1 | 2;
|
|
157
|
+
}): Promise<string>;
|
|
158
|
+
/**
|
|
159
|
+
* @description 获取CDN直播地址 (有效期时间是当天 00:00:00 - 23:59:59)
|
|
160
|
+
* @param {Object} body
|
|
161
|
+
* @param {1 | 2} body.quality 视频清晰度,1-高清(默认)、2-流畅
|
|
162
|
+
* @param {1 | 2} body.type 1-本地录像回放,2-云存储录像回放 默认1
|
|
163
|
+
* @param {string} body.startTime 录制片段开始时间,例如:2024-01-01 09:10:56,开始时间和结束时间跨度最多7天
|
|
164
|
+
* @param {string} body.stopTime 录制片段结束时间,例如:2024-01-01 09:10:56,开始时间和结束时间跨度最多7天,结束时间不能小于等于当前时间,结束时间必须在30天内
|
|
165
|
+
*/
|
|
166
|
+
getCDNRecordAddressService(body: {
|
|
167
|
+
quality: 1 | 2;
|
|
168
|
+
type: 1 | 2;
|
|
169
|
+
startTime: string;
|
|
170
|
+
stopTime: string;
|
|
171
|
+
}): Promise<string>;
|
|
172
|
+
}
|
package/types/utils/debug.d.ts
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @description 格式化 YYYYMMDDhhmmss 为 Date
|
|
3
3
|
* @param {string} dateTimeString YYYYMMDDhhmmss
|
|
4
|
+
* @param {string} splice 分割符
|
|
4
5
|
* @returns {Date}
|
|
5
6
|
*/
|
|
6
|
-
export function formatStringDateToDate(dateTimeString: string): Date;
|
|
7
|
+
export function formatStringDateToDate(dateTimeString: string, splice?: string): Date;
|
|
8
|
+
/**
|
|
9
|
+
* @description 格式化 YYYYMMDDhhmmss 为 Date
|
|
10
|
+
* @param {string} dateTimeString YYYYMMDDhhmmss
|
|
11
|
+
* @param {string} splice 分割符
|
|
12
|
+
* @returns {Date}
|
|
13
|
+
*/
|
|
14
|
+
export function formatStringDateToString(dateTimeString: string, splice?: string): Date;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function uuid(len: any, radix: any): string;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export default HttpUtil;
|
|
2
|
-
declare class HttpUtil {
|
|
3
|
-
static defaults: {
|
|
4
|
-
baseURL: string;
|
|
5
|
-
accessToken: string;
|
|
6
|
-
deviceSerial: string;
|
|
7
|
-
channelNo: string;
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
*
|
|
11
|
-
* @param {string} url 请求地址
|
|
12
|
-
*/
|
|
13
|
-
static get(url: string, options?: {}): Promise<Response>;
|
|
14
|
-
/**
|
|
15
|
-
*
|
|
16
|
-
* @param {string} url 请求地址
|
|
17
|
-
*/
|
|
18
|
-
static post(url: string, options?: {}): Promise<Response>;
|
|
19
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description 获取播放地址 https://open.ys7.com/help/1414
|
|
3
|
-
* @param {Obejct} params
|
|
4
|
-
* @param {number=} params.expireTime 过期时长,单位秒;针对hls/rtmp/flv设置有效期,相对时间;30秒-720天
|
|
5
|
-
* @param {number=} params.type 地址的类型,1-预览,2-本地录像回放,3-云存储录像回放,非必选,默认为1;回放仅支持rtmp、ezopen、flv协议
|
|
6
|
-
* @param {number=} params.quality 视频清晰度,1-高清(主码流)、2-流畅(子码流)
|
|
7
|
-
* @param {string=} params.startTime 本地录像/云存储录像回放开始时间,云存储开始结束时间必须在同一天,示例:2019-12-01 00:00:00
|
|
8
|
-
* @param {string=} params.stopTime 本地录像/云存储录像回放结束时间,云存储开始结束时间必须在同一天,示例:2019-12-01 23:59:59
|
|
9
|
-
* @param {number=} params.playbackSpeed 回放倍速。倍速为 -1( 支持的最大倍速)、0.5、1、2、4、8、16; 仅支持protocol为4-flv 且 type为2-本地录像回放( 部分设备可能不支持16倍速) 或者 3-云存储录像回放
|
|
10
|
-
*
|
|
11
|
-
*/
|
|
12
|
-
export function getAddressService(params?: Obejct): Promise<any>;
|
|
13
|
-
export function getPlaybackAddressService(params?: {}): Promise<any>;
|
|
14
|
-
/**
|
|
15
|
-
* @description 获取直播地址
|
|
16
|
-
* @param {{quality: 1 | 2, expireTime: number}} params
|
|
17
|
-
* @returns
|
|
18
|
-
*/
|
|
19
|
-
export function getLiveAddressService(params?: {
|
|
20
|
-
quality: 1 | 2;
|
|
21
|
-
expireTime: number;
|
|
22
|
-
}): Promise<any>;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description 获取查询设备本地录像 (开始结束时间必须在同一天) https://open.ys7.com/help/3922
|
|
3
|
-
* @param {Obejct} params
|
|
4
|
-
* @param {string | number} params.startTime 开始时间 (毫秒)
|
|
5
|
-
* @param {string | number} params.endTime 结束时间(毫秒)
|
|
6
|
-
* @param {(string | number)=} params.pageSize 每页个数 默认200, 最大200, 超出自动遍历下一页
|
|
7
|
-
*
|
|
8
|
-
* @returns {Array<{"startTime": number,"endTime": number,"type": string, "size":number }>}
|
|
9
|
-
*/
|
|
10
|
-
export function getLocalVideoUnifyQueryService(player: any, params: Obejct): Array<{
|
|
11
|
-
"startTime": number;
|
|
12
|
-
"endTime": number;
|
|
13
|
-
"type": string;
|
|
14
|
-
"size": number;
|
|
15
|
-
}>;
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description 获取设备视频质量查询接口 https://open.ys7.com/help/3922
|
|
3
|
-
*
|
|
4
|
-
* @returns {Array<{"streamTypeIn": 1 | 2,"videoLevel": 0 | 1 | 2 | 3 | 4 | 5 |6, name: string }>}
|
|
5
|
-
*/
|
|
6
|
-
export function getVideoQualityService(player: any): Array<{
|
|
7
|
-
"streamTypeIn": 1 | 2;
|
|
8
|
-
"videoLevel": 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
9
|
-
name: string;
|
|
10
|
-
}>;
|
|
11
|
-
/**
|
|
12
|
-
* videoLevel 清晰度枚举
|
|
13
|
-
*/
|
|
14
|
-
export const QUALITY_ENUM: {
|
|
15
|
-
0: string;
|
|
16
|
-
1: string;
|
|
17
|
-
2: string;
|
|
18
|
-
3: string;
|
|
19
|
-
4: string;
|
|
20
|
-
5: string;
|
|
21
|
-
6: string;
|
|
22
|
-
};
|
|
23
|
-
export const DEFAULT_QUALITY: {
|
|
24
|
-
/**
|
|
25
|
-
* 0: 流畅
|
|
26
|
-
* 1: 标清
|
|
27
|
-
* 2: 高清
|
|
28
|
-
* 3: 超清
|
|
29
|
-
* 4: 极清
|
|
30
|
-
* 5: 3K
|
|
31
|
-
* 6: 4K
|
|
32
|
-
*/
|
|
33
|
-
videoLevel: number;
|
|
34
|
-
name: string;
|
|
35
|
-
streamTypeIn: number;
|
|
36
|
-
/** 用来区分清晰度是否是默认值还是接口返回的 */
|
|
37
|
-
type: string;
|
|
38
|
-
}[];
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export default class WebsocketLoader extends Emitter {
|
|
2
|
-
constructor(player: any);
|
|
3
|
-
player: any;
|
|
4
|
-
socket: WebSocket;
|
|
5
|
-
socketStatus: string;
|
|
6
|
-
wsUrl: any;
|
|
7
|
-
streamRate: (size: any) => void;
|
|
8
|
-
destroy(): void;
|
|
9
|
-
_createWebSocket(): void;
|
|
10
|
-
_handleMessage(message: any): void;
|
|
11
|
-
/**
|
|
12
|
-
*
|
|
13
|
-
* @param url
|
|
14
|
-
* @param options
|
|
15
|
-
*/
|
|
16
|
-
fetchStream(url: any, options: any): void;
|
|
17
|
-
}
|
|
18
|
-
import Emitter from '../utils/emitter';
|