@rongcloud/plugin-rtc 5.4.2 → 5.4.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.
- package/dist/async-task-queue.d.ts +9 -0
- package/dist/core/Invoker.d.ts +46 -0
- package/dist/core/PolarisReporter.d.ts +35 -0
- package/dist/core/RCAudienceClient.d.ts +89 -0
- package/dist/core/RCMediaStreamCapture.d.ts +124 -0
- package/dist/core/RCRTCClient.d.ts +126 -0
- package/dist/core/Store.d.ts +80 -0
- package/dist/core/command/BaseCommand.d.ts +22 -0
- package/dist/core/command/EnabelInnerCDNCommand.d.ts +16 -0
- package/dist/core/command/ExchangeCommand.d.ts +18 -0
- package/dist/core/command/ExchangeWithPushOtherRoomCommand.d.ts +22 -0
- package/dist/core/command/JoinRoomCommand.d.ts +26 -0
- package/dist/core/command/LeaveOtherRoomCommand.d.ts +30 -0
- package/dist/core/command/LocalTrackMuteCommand.d.ts +10 -0
- package/dist/core/command/MCUConfigFlushCommand.d.ts +18 -0
- package/dist/core/command/OnRemoteUserUnpubCommand.d.ts +13 -0
- package/dist/core/command/OnSignalReconnectedCommand.d.ts +38 -0
- package/dist/core/command/ParseRemoteResCommand.d.ts +38 -0
- package/dist/core/command/ParseUserStateCommand.d.ts +57 -0
- package/dist/core/command/PubCommand.d.ts +34 -0
- package/dist/core/command/RTCIdentityChangeCommand.d.ts +17 -0
- package/dist/core/command/RetryExchangeCommand.d.ts +18 -0
- package/dist/core/command/SubCommand.d.ts +21 -0
- package/dist/core/command/UnpubCommand.d.ts +20 -0
- package/dist/core/command/UnpubPrevCommand.d.ts +6 -0
- package/dist/core/command/UnsubCommand.d.ts +20 -0
- package/dist/core/command/UpdateSubListCommand.d.ts +28 -0
- package/dist/core/command/helper.d.ts +20 -0
- package/dist/core/constants.d.ts +2 -0
- package/dist/core/enums/BackgroundPictureFillMode.d.ts +14 -0
- package/dist/core/enums/MixLayoutMode.d.ts +18 -0
- package/dist/core/enums/MixVideoRenderMode.d.ts +14 -0
- package/dist/core/enums/RCBitrate.d.ts +48 -0
- package/dist/core/enums/RCFrameRate.d.ts +7 -0
- package/dist/core/enums/RCInnerCDNBroadcast.d.ts +5 -0
- package/dist/core/enums/RCInnerCDNModel.d.ts +5 -0
- package/dist/core/enums/RCInnerCDNPullIsHttps.d.ts +5 -0
- package/dist/core/enums/RCInnerCDNPullKind.d.ts +6 -0
- package/dist/core/enums/RCInnerCDNPushMode.d.ts +5 -0
- package/dist/core/enums/RCKickType.d.ts +11 -0
- package/dist/core/enums/RCLivingType.d.ts +14 -0
- package/dist/core/enums/RCLoggerTag.d.ts +629 -0
- package/dist/core/enums/RCMediaType.d.ts +18 -0
- package/dist/core/enums/RCMixInputFilterMode.d.ts +35 -0
- package/dist/core/enums/RCRTCCode.d.ts +86 -0
- package/dist/core/enums/RCRTCLiveRole.d.ts +14 -0
- package/dist/core/enums/RCRTCPingResult.d.ts +5 -0
- package/dist/core/enums/RCRTCResolution.d.ts +102 -0
- package/dist/core/enums/RCResolution.d.ts +16 -0
- package/dist/core/enums/inner/PolarisRole.d.ts +14 -0
- package/dist/core/enums/inner/R2Action.d.ts +14 -0
- package/dist/core/enums/inner/R2Status.d.ts +11 -0
- package/dist/core/enums/inner/RCRTCMessageType.d.ts +66 -0
- package/dist/core/enums/inner/RCStreamType.d.ts +14 -0
- package/dist/core/enums/inner/TrackState.d.ts +14 -0
- package/dist/core/interfaces.d.ts +912 -0
- package/dist/core/room/Pinger.d.ts +35 -0
- package/dist/core/room/RCAbstractRoom.d.ts +327 -0
- package/dist/core/room/RCAudienceLivingRoom.d.ts +321 -0
- package/dist/core/room/RCAudioLevelReport.d.ts +16 -0
- package/dist/core/room/RCLivingPKHandler.d.ts +164 -0
- package/dist/core/room/RCLivingRoom.d.ts +108 -0
- package/dist/core/room/RCLocalMediaStream.d.ts +8 -0
- package/dist/core/room/RCMCUConfigBuilder.d.ts +211 -0
- package/dist/core/room/RCRTCRoom.d.ts +15 -0
- package/dist/core/service/RCMediaService.d.ts +96 -0
- package/dist/core/service/helper.d.ts +8 -0
- package/dist/core/service/index.d.ts +6 -0
- package/dist/core/service/interface.d.ts +323 -0
- package/dist/core/service/mcu-interface.d.ts +293 -0
- package/dist/core/tracks/RCLocalTrack.d.ts +121 -0
- package/dist/core/tracks/RCRemoteTrack.d.ts +23 -0
- package/dist/core/tracks/RCTrack.d.ts +91 -0
- package/dist/core/webrtc/RCRTCPeerCManager.d.ts +159 -0
- package/dist/core/webrtc/RCRTCPeerConnection.d.ts +110 -0
- package/dist/core/webrtc/helper.d.ts +26 -0
- package/dist/core/webrtc/sdp/ASdpBuilder.d.ts +98 -0
- package/dist/core/webrtc/sdp/ASdpStrategy.d.ts +48 -0
- package/dist/core/webrtc/sdp/PlanBSdpBuilder.d.ts +20 -0
- package/dist/core/webrtc/sdp/PlanBStrategy.d.ts +26 -0
- package/dist/core/webrtc/sdp/UnifiedPlanSdpBuilder.d.ts +11 -0
- package/dist/core/webrtc/sdp/UnifiedPlanStrategy.d.ts +21 -0
- package/dist/core/webrtc/stat-parser/AbstractStatParser.d.ts +117 -0
- package/dist/core/webrtc/stat-parser/ChromeStatParser.d.ts +14 -0
- package/dist/core/webrtc/stat-parser/FirefoxStatParser.d.ts +14 -0
- package/dist/core/webrtc/stat-parser/IStatParser.d.ts +24 -0
- package/dist/core/webrtc/stat-parser/SafariStatParser.d.ts +14 -0
- package/dist/device.d.ts +6 -0
- package/dist/helper.d.ts +189 -0
- package/dist/index.d.ts +193 -155
- package/dist/index.esm.js +2 -2
- package/dist/index.js +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/logger.d.ts +4 -0
- package/package.json +3 -3
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
import { RTCMode } from '@rongcloud/engine';
|
|
2
|
+
import { RCRTCCode } from '../enums/RCRTCCode';
|
|
3
|
+
import { RCMediaType } from '../enums/RCMediaType';
|
|
4
|
+
import { RCStreamType } from '../enums/inner/RCStreamType';
|
|
5
|
+
import { IResource } from '../interfaces';
|
|
6
|
+
import { IOfferInfo } from '../webrtc/sdp/ASdpStrategy';
|
|
7
|
+
import { RCInnerCDNPushMode } from '../enums/RCInnerCDNPushMode';
|
|
8
|
+
import { RCInnerCDNBroadcast } from '../enums/RCInnerCDNBroadcast';
|
|
9
|
+
/**
|
|
10
|
+
* 与 MediaServer 交互所需的 Request Header 信息
|
|
11
|
+
*/
|
|
12
|
+
export interface IRTCReqHeader {
|
|
13
|
+
/**
|
|
14
|
+
* RTC Token
|
|
15
|
+
* @todo 有效期问题处理
|
|
16
|
+
*/
|
|
17
|
+
Token: string;
|
|
18
|
+
/**
|
|
19
|
+
* 房间 Id
|
|
20
|
+
*/
|
|
21
|
+
RoomId: string;
|
|
22
|
+
/**
|
|
23
|
+
* 用户 Id
|
|
24
|
+
*/
|
|
25
|
+
UserId: string;
|
|
26
|
+
/**
|
|
27
|
+
* 仅在直播模式下需要
|
|
28
|
+
*/
|
|
29
|
+
RoomType?: RTCMode;
|
|
30
|
+
/**
|
|
31
|
+
* 开发者的 AppKey
|
|
32
|
+
*/
|
|
33
|
+
'App-Key': string;
|
|
34
|
+
/**
|
|
35
|
+
* signal 会话 session id
|
|
36
|
+
*/
|
|
37
|
+
'Session-Id'?: string;
|
|
38
|
+
/**
|
|
39
|
+
* peerConnection Id
|
|
40
|
+
*/
|
|
41
|
+
'Peer-Connection-Id'?: string;
|
|
42
|
+
/**
|
|
43
|
+
* client-session-id 标识一个端用户进入房间后的唯一标识
|
|
44
|
+
*/
|
|
45
|
+
'Client-Session-Id'?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface IMCUReqHeaders {
|
|
48
|
+
'App-Key': string;
|
|
49
|
+
Token: string;
|
|
50
|
+
RoomId: string;
|
|
51
|
+
UserId: string;
|
|
52
|
+
SessionId: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* exchange 接口中 pushOtherRooms 字段接口
|
|
56
|
+
*/
|
|
57
|
+
export interface IPushOtherRooms {
|
|
58
|
+
/**
|
|
59
|
+
* 房间 Id
|
|
60
|
+
*/
|
|
61
|
+
roomId: string;
|
|
62
|
+
/**
|
|
63
|
+
* 是否默认合流
|
|
64
|
+
*/
|
|
65
|
+
autoMix: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* 房间 Id 对应的 SessionId
|
|
68
|
+
*/
|
|
69
|
+
sessionId: string;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* exchange 接口的请求体结构
|
|
73
|
+
*/
|
|
74
|
+
export interface IExchangeReqBody {
|
|
75
|
+
/**
|
|
76
|
+
* local description
|
|
77
|
+
*/
|
|
78
|
+
sdp: IOfferInfo;
|
|
79
|
+
/**
|
|
80
|
+
* 订阅列表
|
|
81
|
+
*/
|
|
82
|
+
subscribeList: {
|
|
83
|
+
/**
|
|
84
|
+
* 流资源 uri
|
|
85
|
+
*/
|
|
86
|
+
uri: string;
|
|
87
|
+
/**
|
|
88
|
+
* 大小流订阅,`1` 为大流,`2` 为小流,默认使用大流
|
|
89
|
+
*/
|
|
90
|
+
simulcast: RCStreamType;
|
|
91
|
+
/**
|
|
92
|
+
* 分辨率信息
|
|
93
|
+
*/
|
|
94
|
+
resolution: string;
|
|
95
|
+
}[];
|
|
96
|
+
/**
|
|
97
|
+
* 透传参数,一般用于传递参数给其他服务,如 MCU/Record 等,MediaServer 仅透传不处理
|
|
98
|
+
* @example `{"resolutionInfo":[{"trackId":"021ad6e8-a50c-479c-96c8-5f3f09d2352d","simulcast":1,"resolution":"640x480"}]}`
|
|
99
|
+
*/
|
|
100
|
+
extend: string;
|
|
101
|
+
/**
|
|
102
|
+
* 跨房间连麦时其他房间的推流信息
|
|
103
|
+
*/
|
|
104
|
+
pushOtherRooms?: IPushOtherRooms[];
|
|
105
|
+
/**
|
|
106
|
+
* server 根据网络动态切换大小流开关,默认为 `false`
|
|
107
|
+
*/
|
|
108
|
+
switchstream: boolean;
|
|
109
|
+
}
|
|
110
|
+
export interface ILiveUrls {
|
|
111
|
+
/**
|
|
112
|
+
* MCU 服务地址,直播模式中用于向 MCU 服务提交 CDN 及合流配置
|
|
113
|
+
*/
|
|
114
|
+
configUrl: string;
|
|
115
|
+
/**
|
|
116
|
+
* 观众端订阅地址,由业务层分发
|
|
117
|
+
*/
|
|
118
|
+
liveUrl: string;
|
|
119
|
+
/**
|
|
120
|
+
* 自动推 CDN 模式下,发布资源后返回的 CDN 信息
|
|
121
|
+
*/
|
|
122
|
+
pull_url?: string;
|
|
123
|
+
}
|
|
124
|
+
export interface IRTCResponse {
|
|
125
|
+
/**
|
|
126
|
+
* 请求响应码,只有在 resultCode 值为 `10000` 时才为正常响应
|
|
127
|
+
*/
|
|
128
|
+
resultCode: RCRTCCode;
|
|
129
|
+
/**
|
|
130
|
+
* 与 resultCode 相应的可读性文字信息
|
|
131
|
+
*/
|
|
132
|
+
message: string;
|
|
133
|
+
/**
|
|
134
|
+
* 客户端发送的 Request-Id
|
|
135
|
+
*/
|
|
136
|
+
'Request-Id': string;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* /exchange 响应结果
|
|
140
|
+
*/
|
|
141
|
+
export interface IExchangeResponse extends IRTCResponse {
|
|
142
|
+
/**
|
|
143
|
+
* 数据中心地址,当存在此值时,后续所有请求发送到该地址。该地址不携带协议头,故需要补全 `https://` 协议头
|
|
144
|
+
*/
|
|
145
|
+
clusterId: string;
|
|
146
|
+
/**
|
|
147
|
+
* 发布的资源列表
|
|
148
|
+
*/
|
|
149
|
+
publishList: IResource[];
|
|
150
|
+
/**
|
|
151
|
+
* @deprecated 目前并未使用,服务器返回值为 ''
|
|
152
|
+
*/
|
|
153
|
+
roomId: '';
|
|
154
|
+
/**
|
|
155
|
+
* 远端 SDP 数据
|
|
156
|
+
*/
|
|
157
|
+
sdp: {
|
|
158
|
+
type: 'answer';
|
|
159
|
+
sdp: string;
|
|
160
|
+
};
|
|
161
|
+
/**
|
|
162
|
+
* 直播模式推流数据,仅在直播模式有值
|
|
163
|
+
*/
|
|
164
|
+
urls?: ILiveUrls;
|
|
165
|
+
/**
|
|
166
|
+
* 跨房间连麦响应数据
|
|
167
|
+
*/
|
|
168
|
+
otherRoomsRes?: {
|
|
169
|
+
[roomId: string]: ILiveUrls;
|
|
170
|
+
};
|
|
171
|
+
/**
|
|
172
|
+
* 直播 mcu 资源
|
|
173
|
+
* 主播发布为具体资源,会议模式为空数组
|
|
174
|
+
*/
|
|
175
|
+
mcuPublishList?: IResource[];
|
|
176
|
+
/**
|
|
177
|
+
* 订阅成功的资源
|
|
178
|
+
*/
|
|
179
|
+
subscribedList?: {
|
|
180
|
+
mediaType: RCMediaType.AUDIO_ONLY | RCMediaType.VIDEO_ONLY;
|
|
181
|
+
msid: string;
|
|
182
|
+
userId: string;
|
|
183
|
+
simulcast?: RCStreamType;
|
|
184
|
+
}[];
|
|
185
|
+
}
|
|
186
|
+
export interface ICallEngine3 {
|
|
187
|
+
engineType: 3;
|
|
188
|
+
vendorKey: string;
|
|
189
|
+
signKey: string;
|
|
190
|
+
blinkSnifferServer: string;
|
|
191
|
+
blinkCMPServer: string;
|
|
192
|
+
}
|
|
193
|
+
export interface ICallEngine4 {
|
|
194
|
+
engineType: 4;
|
|
195
|
+
/**
|
|
196
|
+
* 房间所有人发布的最大流数量总上限,当前未启用
|
|
197
|
+
*/
|
|
198
|
+
maxStreamCount?: number;
|
|
199
|
+
mediaServer: string;
|
|
200
|
+
backupMediaServer?: string[];
|
|
201
|
+
/**
|
|
202
|
+
* 到 mediaServer 的请求超时时限,默认 10,有效值 10 - 30。单位:秒
|
|
203
|
+
*/
|
|
204
|
+
timeOut?: number;
|
|
205
|
+
}
|
|
206
|
+
export interface IBroadcastSubReqBody {
|
|
207
|
+
/**
|
|
208
|
+
* 客户端 offer
|
|
209
|
+
*/
|
|
210
|
+
sdp: {
|
|
211
|
+
type: 'offer';
|
|
212
|
+
sdp: string;
|
|
213
|
+
};
|
|
214
|
+
/**
|
|
215
|
+
* 直播信息
|
|
216
|
+
*/
|
|
217
|
+
liveUrl?: string;
|
|
218
|
+
/**
|
|
219
|
+
* 订阅的资源类型,默认为 `RCMediaType.AUDIO_VIDEO`
|
|
220
|
+
*/
|
|
221
|
+
mediaType?: RCMediaType;
|
|
222
|
+
/**
|
|
223
|
+
* 订阅大/小流,默认订阅大流
|
|
224
|
+
*/
|
|
225
|
+
simulcast?: RCStreamType;
|
|
226
|
+
/**
|
|
227
|
+
* 允许 server 根据网络状况动态切换大小流,默认为 false
|
|
228
|
+
*/
|
|
229
|
+
switchstream: boolean;
|
|
230
|
+
/**
|
|
231
|
+
* 订阅列表
|
|
232
|
+
*/
|
|
233
|
+
subscribeList?: {
|
|
234
|
+
/**
|
|
235
|
+
* 流资源 uri
|
|
236
|
+
*/
|
|
237
|
+
uri: string;
|
|
238
|
+
/**
|
|
239
|
+
* 大小流订阅,`1` 为大流,`2` 为小流,默认使用大流
|
|
240
|
+
*/
|
|
241
|
+
simulcast: RCStreamType;
|
|
242
|
+
/**
|
|
243
|
+
* 分辨率信息
|
|
244
|
+
*/
|
|
245
|
+
resolution: string;
|
|
246
|
+
}[];
|
|
247
|
+
/**
|
|
248
|
+
* 是否采用新版本模式,加入房间
|
|
249
|
+
*/
|
|
250
|
+
newVersionFlag?: boolean;
|
|
251
|
+
}
|
|
252
|
+
export interface IBroadcastSubRespBody extends IRTCResponse {
|
|
253
|
+
/**
|
|
254
|
+
* 已订阅的资源列表
|
|
255
|
+
*/
|
|
256
|
+
subscribedList: IResource[];
|
|
257
|
+
/**
|
|
258
|
+
* 远端 SDP
|
|
259
|
+
*/
|
|
260
|
+
sdp: {
|
|
261
|
+
type: 'answer';
|
|
262
|
+
sdp: string;
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* 获取 CDN 资源拉流地址请求 headers
|
|
267
|
+
*/
|
|
268
|
+
export interface ICDNPlayUrlReqHeaders extends IMCUReqHeaders {
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* 获取 CDN 拉流地址的请求参数
|
|
272
|
+
*/
|
|
273
|
+
export interface ICDNPlayUrlReq {
|
|
274
|
+
w?: number;
|
|
275
|
+
h?: number;
|
|
276
|
+
fps?: number;
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* 获取 CDN 资源拉流地址响应
|
|
280
|
+
*/
|
|
281
|
+
export interface ICDNPlayUrlResponse extends IRTCResponse {
|
|
282
|
+
data: {
|
|
283
|
+
fps: number;
|
|
284
|
+
h: number;
|
|
285
|
+
'pull_url': string;
|
|
286
|
+
w: number;
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* cdn_uris 里面包含的字段
|
|
291
|
+
*/
|
|
292
|
+
export interface ICDNUris {
|
|
293
|
+
/**
|
|
294
|
+
* 是否扩散
|
|
295
|
+
*/
|
|
296
|
+
broadcast: RCInnerCDNBroadcast;
|
|
297
|
+
/**
|
|
298
|
+
* 拉流资源的宽度
|
|
299
|
+
*/
|
|
300
|
+
w?: number;
|
|
301
|
+
/**
|
|
302
|
+
* 拉流资源的高度
|
|
303
|
+
*/
|
|
304
|
+
h?: number;
|
|
305
|
+
/**
|
|
306
|
+
* 帧率
|
|
307
|
+
*/
|
|
308
|
+
fps?: number;
|
|
309
|
+
/**
|
|
310
|
+
* 获取拉流地址的 url
|
|
311
|
+
*/
|
|
312
|
+
url: string;
|
|
313
|
+
/**
|
|
314
|
+
* 开启、停用 CDN
|
|
315
|
+
*/
|
|
316
|
+
enableInnerCDN?: boolean;
|
|
317
|
+
/**
|
|
318
|
+
* 推送模式,手动 or 自动
|
|
319
|
+
*/
|
|
320
|
+
'push_mode': RCInnerCDNPushMode;
|
|
321
|
+
'pull_safe': boolean;
|
|
322
|
+
}
|
|
323
|
+
//# sourceMappingURL=interface.d.ts.map
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
import { MixLayoutMode } from '../enums/MixLayoutMode';
|
|
2
|
+
import { MixVideoRenderMode } from '../enums/MixVideoRenderMode';
|
|
3
|
+
import { RCInnerCDNModel } from '../enums/RCInnerCDNModel';
|
|
4
|
+
import { RCMixInputFilterMode } from '../enums/RCMixInputFilterMode';
|
|
5
|
+
/**
|
|
6
|
+
* 合流后的 video 输出编码配置,包含分辨率、帧率、码率配置项
|
|
7
|
+
*/
|
|
8
|
+
export interface IMCUOutputVideoAttrs {
|
|
9
|
+
/**
|
|
10
|
+
* 视频分辨率宽度
|
|
11
|
+
*/
|
|
12
|
+
width?: number;
|
|
13
|
+
/**
|
|
14
|
+
* 视频分辨率高度
|
|
15
|
+
*/
|
|
16
|
+
height?: number;
|
|
17
|
+
/**
|
|
18
|
+
* 帧率
|
|
19
|
+
*/
|
|
20
|
+
fps?: number;
|
|
21
|
+
/**
|
|
22
|
+
* 码率
|
|
23
|
+
*/
|
|
24
|
+
bitrate?: number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* 合并入 MCU 的音频流
|
|
28
|
+
*/
|
|
29
|
+
export interface IMCUInputAudio {
|
|
30
|
+
user_id: string;
|
|
31
|
+
stream_id: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 自定义布局中的单一视频流布局
|
|
35
|
+
*/
|
|
36
|
+
export interface IMCUInputVideoLayout {
|
|
37
|
+
user_id: string;
|
|
38
|
+
stream_id: string;
|
|
39
|
+
x: number;
|
|
40
|
+
y: number;
|
|
41
|
+
width: number;
|
|
42
|
+
height: number;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* 图片配置,用于水印、视频流背景图
|
|
46
|
+
*/
|
|
47
|
+
export interface IPictureAttrs {
|
|
48
|
+
/**
|
|
49
|
+
* 资源下载地址,需包含协议
|
|
50
|
+
*/
|
|
51
|
+
uri: string;
|
|
52
|
+
/**
|
|
53
|
+
* 相对于整体画布的起始位置 x 坐标
|
|
54
|
+
*/
|
|
55
|
+
x: number;
|
|
56
|
+
/**
|
|
57
|
+
* 相对于整体画布的起始位置 y 坐标
|
|
58
|
+
*/
|
|
59
|
+
y: number;
|
|
60
|
+
/**
|
|
61
|
+
* 相对于整体画布的宽(百分比),有效值 `0.0` - `1.0`
|
|
62
|
+
*/
|
|
63
|
+
w: number;
|
|
64
|
+
/**
|
|
65
|
+
* 相对于整体画布的高(百分比),有效值 `0.0` - `1.0`
|
|
66
|
+
*/
|
|
67
|
+
h: number;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* 合流后的 Video 输出配置,包含背景图、背景色、大小流编码等配置项
|
|
71
|
+
*/
|
|
72
|
+
export interface IMCUOutputVideoConfig {
|
|
73
|
+
/**
|
|
74
|
+
* 标准流输出定义
|
|
75
|
+
*/
|
|
76
|
+
normal?: IMCUOutputVideoAttrs;
|
|
77
|
+
/**
|
|
78
|
+
* 小流输出定义
|
|
79
|
+
*/
|
|
80
|
+
tiny?: IMCUOutputVideoAttrs;
|
|
81
|
+
exparams?: {
|
|
82
|
+
/**
|
|
83
|
+
* 合流布局时,对视频流的填充方式
|
|
84
|
+
*/
|
|
85
|
+
renderMode: MixVideoRenderMode;
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* 背景色,如 `'0xf1a2c3'`
|
|
89
|
+
*/
|
|
90
|
+
backgroundColor?: string;
|
|
91
|
+
/**
|
|
92
|
+
* 背景图
|
|
93
|
+
*/
|
|
94
|
+
backgroundPicture?: {
|
|
95
|
+
/**
|
|
96
|
+
* 填充模式:
|
|
97
|
+
* 1. 按比例裁剪
|
|
98
|
+
* 2. 不裁剪,按比例压缩
|
|
99
|
+
*/
|
|
100
|
+
fillMode: 1 | 2;
|
|
101
|
+
/**
|
|
102
|
+
* 资源列表
|
|
103
|
+
*/
|
|
104
|
+
picture: IPictureAttrs[];
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* 合流后的媒体输出定义
|
|
109
|
+
*/
|
|
110
|
+
export interface IMCUOutputConfig {
|
|
111
|
+
/**
|
|
112
|
+
* 输出视频配置
|
|
113
|
+
*/
|
|
114
|
+
video: IMCUOutputVideoConfig;
|
|
115
|
+
/**
|
|
116
|
+
* 输出音频配置
|
|
117
|
+
*/
|
|
118
|
+
audio?: {
|
|
119
|
+
/**
|
|
120
|
+
* 音频码率
|
|
121
|
+
*/
|
|
122
|
+
bitrate: number;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* CDN 推流地址列表
|
|
126
|
+
*/
|
|
127
|
+
cdn?: {
|
|
128
|
+
/**
|
|
129
|
+
* 推流地址,如:`'rtmp://xxxx'`
|
|
130
|
+
*/
|
|
131
|
+
pushurl: string;
|
|
132
|
+
}[];
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* 时间戳参数,用于水印
|
|
136
|
+
*/
|
|
137
|
+
export interface ITimestampAttrs {
|
|
138
|
+
/**
|
|
139
|
+
* 时区
|
|
140
|
+
*/
|
|
141
|
+
timezone: number;
|
|
142
|
+
/**
|
|
143
|
+
* 字体像素大小
|
|
144
|
+
*/
|
|
145
|
+
fontSize: number;
|
|
146
|
+
/**
|
|
147
|
+
* 字体颜色
|
|
148
|
+
*/
|
|
149
|
+
color: 'black' | 'white';
|
|
150
|
+
/**
|
|
151
|
+
* 透明度,有效值 `0.0` 至 `1.0`
|
|
152
|
+
*/
|
|
153
|
+
alpha: number;
|
|
154
|
+
/**
|
|
155
|
+
* 相较于整体画布的 x 坐标(百分比),有效值 `0.0` 至 `1.0`
|
|
156
|
+
*/
|
|
157
|
+
x: number;
|
|
158
|
+
/**
|
|
159
|
+
* 相较于整体画布的 y 坐标(百分比),有效值 `0.0` 至 `1.0`
|
|
160
|
+
*/
|
|
161
|
+
y: number;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* 文本参数,用于水印
|
|
165
|
+
*/
|
|
166
|
+
export interface ITextAttrs {
|
|
167
|
+
/**
|
|
168
|
+
* 文字内容
|
|
169
|
+
*/
|
|
170
|
+
content: string;
|
|
171
|
+
/**
|
|
172
|
+
* 文字像素
|
|
173
|
+
*/
|
|
174
|
+
fontSize: number;
|
|
175
|
+
/**
|
|
176
|
+
* 文字颜色
|
|
177
|
+
*/
|
|
178
|
+
color: 'black' | 'white';
|
|
179
|
+
/**
|
|
180
|
+
* 透明度,有效值 `0.0` 至 `1.0`
|
|
181
|
+
*/
|
|
182
|
+
alpha: number;
|
|
183
|
+
/**
|
|
184
|
+
* 相较于整体画布的 x 坐标(百分比),有效值 `0.0` 至 `1.0`
|
|
185
|
+
*/
|
|
186
|
+
x: number;
|
|
187
|
+
/**
|
|
188
|
+
* 相较于整体画布的 y 坐标(百分比),有效值 `0.0` 至 `1.0`
|
|
189
|
+
*/
|
|
190
|
+
y: number;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* 屏幕水印配置
|
|
194
|
+
*/
|
|
195
|
+
export interface IWaterMarkConfig {
|
|
196
|
+
/**
|
|
197
|
+
* 时间戳水印配置
|
|
198
|
+
*/
|
|
199
|
+
timestamp?: ITimestampAttrs;
|
|
200
|
+
/**
|
|
201
|
+
* 图片水印配置
|
|
202
|
+
*/
|
|
203
|
+
picture?: IPictureAttrs[];
|
|
204
|
+
/**
|
|
205
|
+
* 文字水印配置
|
|
206
|
+
*/
|
|
207
|
+
text: ITextAttrs[];
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* 合流前的单一视频流水印配置
|
|
211
|
+
*【客户端仅提供图片水印设置】
|
|
212
|
+
*/
|
|
213
|
+
export interface IMCUSignalScreenWaterMarkConfig {
|
|
214
|
+
/**
|
|
215
|
+
* 媒体流的 msid
|
|
216
|
+
*/
|
|
217
|
+
streamId: string;
|
|
218
|
+
picture: IPictureAttrs[];
|
|
219
|
+
}
|
|
220
|
+
export interface IMCUWaterMarkConfig {
|
|
221
|
+
enable: 'on' | 'off';
|
|
222
|
+
/**
|
|
223
|
+
* 合流后的屏幕水印配置
|
|
224
|
+
*【客户端暂不提供合流水印设置】
|
|
225
|
+
*/
|
|
226
|
+
/**
|
|
227
|
+
* 合流前的单人视频流水印配置
|
|
228
|
+
*/
|
|
229
|
+
singleScreen: IMCUSignalScreenWaterMarkConfig[];
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* 发布到服务器的 MCU 配置数据
|
|
233
|
+
*/
|
|
234
|
+
export interface IMCUConfig {
|
|
235
|
+
/**
|
|
236
|
+
* 为向后兼容,当前为常量 1
|
|
237
|
+
*/
|
|
238
|
+
version: 2;
|
|
239
|
+
/**
|
|
240
|
+
* 布局模式,在只配置推流 CDN 时,该值不存在
|
|
241
|
+
*/
|
|
242
|
+
mode: MixLayoutMode;
|
|
243
|
+
/**
|
|
244
|
+
* 渲染到主位置上的流 Id,当该值为空时,输出到主位置的流按发布时间顺序优先选择最早发布的流
|
|
245
|
+
*/
|
|
246
|
+
host_stream_id?: string;
|
|
247
|
+
/**
|
|
248
|
+
* 自定义布局输入定义,只有在 mode 值为 `MixLayoutMode.CUSTOMIZE` 时需传值
|
|
249
|
+
*/
|
|
250
|
+
input?: {
|
|
251
|
+
video?: IMCUInputVideoLayout[];
|
|
252
|
+
audio?: IMCUInputAudio[];
|
|
253
|
+
};
|
|
254
|
+
/**
|
|
255
|
+
* 合流后的媒体输出配置
|
|
256
|
+
*/
|
|
257
|
+
output?: IMCUOutputConfig;
|
|
258
|
+
/**
|
|
259
|
+
* 水印配置
|
|
260
|
+
*/
|
|
261
|
+
waterMark?: IMCUWaterMarkConfig;
|
|
262
|
+
/**
|
|
263
|
+
* MCU 拉流配置,决定 MCU 从 MediaServer 拉流的方式
|
|
264
|
+
*/
|
|
265
|
+
inputFilterMode?: RCMixInputFilterMode;
|
|
266
|
+
/**
|
|
267
|
+
* MCU 混入列表中房间内的资源
|
|
268
|
+
*/
|
|
269
|
+
mixRooms?: string[];
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* 设置开启、停用内置 CDN 数据
|
|
273
|
+
*/
|
|
274
|
+
export interface ISetEnableCDN {
|
|
275
|
+
version: 2;
|
|
276
|
+
output: {
|
|
277
|
+
/**
|
|
278
|
+
* 手动开启/停用内置 CDN
|
|
279
|
+
*/
|
|
280
|
+
inCDNModel: RCInnerCDNModel;
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* 业务层传入的 input video 数据
|
|
285
|
+
*/
|
|
286
|
+
export interface ICustomInputVideo {
|
|
287
|
+
trackId: string;
|
|
288
|
+
x: number;
|
|
289
|
+
y: number;
|
|
290
|
+
width: number;
|
|
291
|
+
height: number;
|
|
292
|
+
}
|
|
293
|
+
//# sourceMappingURL=mcu-interface.d.ts.map
|