@rongcloud/plugin-rtc 5.4.7 → 5.5.2-alpha.2
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/index.d.ts +405 -34
- package/dist/index.esm.js +21612 -15
- package/dist/index.js +21641 -15
- package/dist/index.umd.js +21645 -15
- package/package.json +2 -5
- package/dist/async-task-queue.d.ts +0 -9
- package/dist/core/Invoker.d.ts +0 -54
- package/dist/core/PolarisReporter.d.ts +0 -35
- package/dist/core/RCAudienceClient.d.ts +0 -89
- package/dist/core/RCMediaStreamCapture.d.ts +0 -124
- package/dist/core/RCRTCClient.d.ts +0 -126
- package/dist/core/Store.d.ts +0 -84
- package/dist/core/command/AsyncCommand.d.ts +0 -55
- package/dist/core/command/AsyncSubscribeCommand.d.ts +0 -28
- package/dist/core/command/AsyncUnsubscribeCommand.d.ts +0 -28
- package/dist/core/command/AsyncUpdateSubscribeListCommand.d.ts +0 -25
- package/dist/core/command/BaseCommand.d.ts +0 -31
- package/dist/core/command/EnabelInnerCDNCommand.d.ts +0 -16
- package/dist/core/command/ExchangeCommand.d.ts +0 -18
- package/dist/core/command/ExchangeWithPushOtherRoomCommand.d.ts +0 -22
- package/dist/core/command/JoinRoomCommand.d.ts +0 -28
- package/dist/core/command/LeaveOtherRoomCommand.d.ts +0 -32
- package/dist/core/command/LocalTrackMuteCommand.d.ts +0 -18
- package/dist/core/command/MCUConfigFlushCommand.d.ts +0 -18
- package/dist/core/command/OnRemoteUserUnpubCommand.d.ts +0 -13
- package/dist/core/command/OnSignalReconnectedCommand.d.ts +0 -38
- package/dist/core/command/ParseRemoteResCommand.d.ts +0 -38
- package/dist/core/command/ParseUserStateCommand.d.ts +0 -57
- package/dist/core/command/PublishCommand.d.ts +0 -36
- package/dist/core/command/RTCIdentityChangeCommand.d.ts +0 -17
- package/dist/core/command/RetryExchangeCommand.d.ts +0 -18
- package/dist/core/command/SubscribeCommand.d.ts +0 -21
- package/dist/core/command/UnpublishCommand.d.ts +0 -22
- package/dist/core/command/UnpublishPrevCommand.d.ts +0 -11
- package/dist/core/command/UnsubscribeCommand.d.ts +0 -20
- package/dist/core/command/UpdateSubscribeListCommand.d.ts +0 -28
- package/dist/core/command/helper.d.ts +0 -20
- package/dist/core/constants.d.ts +0 -2
- package/dist/core/enums/BackgroundPictureFillMode.d.ts +0 -14
- package/dist/core/enums/MixLayoutMode.d.ts +0 -18
- package/dist/core/enums/MixVideoRenderMode.d.ts +0 -14
- package/dist/core/enums/RCBitrate.d.ts +0 -48
- package/dist/core/enums/RCCommandKind.d.ts +0 -12
- package/dist/core/enums/RCFrameRate.d.ts +0 -7
- package/dist/core/enums/RCInnerCDNBroadcast.d.ts +0 -5
- package/dist/core/enums/RCInnerCDNModel.d.ts +0 -5
- package/dist/core/enums/RCInnerCDNPullIsHttps.d.ts +0 -5
- package/dist/core/enums/RCInnerCDNPullKind.d.ts +0 -6
- package/dist/core/enums/RCInnerCDNPushMode.d.ts +0 -5
- package/dist/core/enums/RCKickType.d.ts +0 -11
- package/dist/core/enums/RCLinkedListPoint.d.ts +0 -6
- package/dist/core/enums/RCLivingType.d.ts +0 -14
- package/dist/core/enums/RCLoggerTag.d.ts +0 -641
- package/dist/core/enums/RCMediaType.d.ts +0 -18
- package/dist/core/enums/RCMixInputFilterMode.d.ts +0 -35
- package/dist/core/enums/RCRTCCode.d.ts +0 -90
- package/dist/core/enums/RCRTCLiveRole.d.ts +0 -14
- package/dist/core/enums/RCRTCPingResult.d.ts +0 -5
- package/dist/core/enums/RCRTCResolution.d.ts +0 -132
- package/dist/core/enums/RCResolution.d.ts +0 -21
- package/dist/core/enums/inner/PolarisRole.d.ts +0 -14
- package/dist/core/enums/inner/R2Action.d.ts +0 -14
- package/dist/core/enums/inner/R2Status.d.ts +0 -11
- package/dist/core/enums/inner/RCRTCMessageType.d.ts +0 -70
- package/dist/core/enums/inner/RCStreamType.d.ts +0 -14
- package/dist/core/enums/inner/TrackState.d.ts +0 -14
- package/dist/core/interfaces.d.ts +0 -931
- package/dist/core/room/Pinger.d.ts +0 -35
- package/dist/core/room/RCAbstractRoom.d.ts +0 -350
- package/dist/core/room/RCAudienceLivingRoom.d.ts +0 -329
- package/dist/core/room/RCAudioLevelReport.d.ts +0 -18
- package/dist/core/room/RCLivingPKHandler.d.ts +0 -164
- package/dist/core/room/RCLivingRoom.d.ts +0 -108
- package/dist/core/room/RCLocalMediaStream.d.ts +0 -8
- package/dist/core/room/RCMCUConfigBuilder.d.ts +0 -211
- package/dist/core/room/RCRTCRoom.d.ts +0 -15
- package/dist/core/service/RCMediaService.d.ts +0 -96
- package/dist/core/service/helper.d.ts +0 -8
- package/dist/core/service/index.d.ts +0 -6
- package/dist/core/service/interface.d.ts +0 -323
- package/dist/core/service/mcu-interface.d.ts +0 -293
- package/dist/core/tracks/RC3AnoiseTrack.d.ts +0 -27
- package/dist/core/tracks/RCLocalTrack.d.ts +0 -143
- package/dist/core/tracks/RCRemoteTrack.d.ts +0 -29
- package/dist/core/tracks/RCTrack.d.ts +0 -95
- package/dist/core/webrtc/RCRTCPeerCManager.d.ts +0 -161
- package/dist/core/webrtc/RCRTCPeerConnection.d.ts +0 -120
- package/dist/core/webrtc/helper.d.ts +0 -26
- package/dist/core/webrtc/sdp/ASdpBuilder.d.ts +0 -120
- package/dist/core/webrtc/sdp/ASdpStrategy.d.ts +0 -53
- package/dist/core/webrtc/sdp/PlanBSdpBuilder.d.ts +0 -20
- package/dist/core/webrtc/sdp/PlanBStrategy.d.ts +0 -26
- package/dist/core/webrtc/sdp/SDPUtils.d.ts +0 -60
- package/dist/core/webrtc/sdp/UnifiedPlanSdpBuilder.d.ts +0 -11
- package/dist/core/webrtc/sdp/UnifiedPlanStrategy.d.ts +0 -25
- package/dist/core/webrtc/stat-parser/AbstractStatParser.d.ts +0 -117
- package/dist/core/webrtc/stat-parser/ChromeStatParser.d.ts +0 -14
- package/dist/core/webrtc/stat-parser/FirefoxStatParser.d.ts +0 -14
- package/dist/core/webrtc/stat-parser/IStatParser.d.ts +0 -24
- package/dist/core/webrtc/stat-parser/SafariStatParser.d.ts +0 -14
- package/dist/device.d.ts +0 -6
- package/dist/helper.d.ts +0 -193
- package/dist/logger.d.ts +0 -4
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
import { BackgroundPictureFillMode } from '../enums/BackgroundPictureFillMode';
|
|
2
|
-
import { MixLayoutMode } from '../enums/MixLayoutMode';
|
|
3
|
-
import { MixVideoRenderMode } from '../enums/MixVideoRenderMode';
|
|
4
|
-
import { RCFrameRate } from '../enums/RCFrameRate';
|
|
5
|
-
import { RCResolution } from '../enums/RCResolution';
|
|
6
|
-
import { RCRTCCode } from '../enums/RCRTCCode';
|
|
7
|
-
import { Invoker } from '../Invoker';
|
|
8
|
-
import { IMCUConfig } from '../service';
|
|
9
|
-
export default class RCMCUConfigBuilder {
|
|
10
|
-
private _invoker;
|
|
11
|
-
/**
|
|
12
|
-
* flush 提交回调
|
|
13
|
-
*/
|
|
14
|
-
/**
|
|
15
|
-
* trackId 有效性验证方法
|
|
16
|
-
*/
|
|
17
|
-
private readonly _isValidTrackId;
|
|
18
|
-
/**
|
|
19
|
-
* mcu 配置数据,每次向服务器提交全量数据
|
|
20
|
-
*/
|
|
21
|
-
private _values;
|
|
22
|
-
constructor(_invoker: Invoker,
|
|
23
|
-
/**
|
|
24
|
-
* flush 提交回调
|
|
25
|
-
*/
|
|
26
|
-
/**
|
|
27
|
-
* trackId 有效性验证方法
|
|
28
|
-
*/
|
|
29
|
-
_isValidTrackId: (trackId: string) => boolean);
|
|
30
|
-
/**
|
|
31
|
-
* 设置合流后的主位置显示的视频流
|
|
32
|
-
* @param videoTrackId 视频流资源 Id
|
|
33
|
-
*/
|
|
34
|
-
setHostVideoTrack(videoTrackId: string): RCMCUConfigBuilder;
|
|
35
|
-
/**
|
|
36
|
-
* 设置合流布局模式,当使用 `MixLayoutMode.CUSTOMIZE` 模式时,需自定义合流结构
|
|
37
|
-
* @param mode
|
|
38
|
-
* * `MixLayoutMode.CUSTOMIZE`: 自定义布局,需用户设置布局结构
|
|
39
|
-
* * `MixLayoutMode.SUSPENSION`: 悬浮布局(默认)
|
|
40
|
-
* * `MixLayoutMode.ADAPTATION`: 自适应布局
|
|
41
|
-
*/
|
|
42
|
-
setMixLayoutMode(mode: MixLayoutMode): RCMCUConfigBuilder;
|
|
43
|
-
private _addOutputValue;
|
|
44
|
-
/**
|
|
45
|
-
* 设置合流输出视频流的分辨率
|
|
46
|
-
* @param resulution 有效值为 `RCResolution` 定义的枚举值
|
|
47
|
-
*/
|
|
48
|
-
setOutputVideoResolution(resolution: RCResolution): RCMCUConfigBuilder;
|
|
49
|
-
/**
|
|
50
|
-
* 设置合流输出视频流的帧率
|
|
51
|
-
* @param fps 其有效值为 `RCFrameRate` 中定义的枚举值
|
|
52
|
-
*/
|
|
53
|
-
setOutputVideoFPS(fps: RCFrameRate): RCMCUConfigBuilder;
|
|
54
|
-
/**
|
|
55
|
-
* 设置合流输出视频流的码率(不推荐主动修改)
|
|
56
|
-
* @param bitrate
|
|
57
|
-
*/
|
|
58
|
-
setOutputVideoBitrate(bitrate: number): RCMCUConfigBuilder;
|
|
59
|
-
/**
|
|
60
|
-
* 设置合流后输出视频流小流的分辨率
|
|
61
|
-
* @param resulution 有效值为 `RCResolution` 定义的枚举值
|
|
62
|
-
*/
|
|
63
|
-
setOutputTinyVideoResolution(resolution: RCResolution): RCMCUConfigBuilder;
|
|
64
|
-
/**
|
|
65
|
-
* 设置合流输出视频流小流的帧率
|
|
66
|
-
* @param fps 其有效值为 `RCFrameRate` 中定义的枚举值
|
|
67
|
-
*/
|
|
68
|
-
setOutputTinyVideoFPS(fps: RCFrameRate): RCMCUConfigBuilder;
|
|
69
|
-
/**
|
|
70
|
-
* 设置合流输出视频流小流的码率(不推荐主动修改)
|
|
71
|
-
* @param bitrate
|
|
72
|
-
*/
|
|
73
|
-
setOutputTinyVideoBitrate(bitrate: number): RCMCUConfigBuilder;
|
|
74
|
-
/**
|
|
75
|
-
* 设置合流后的视频流渲染方式
|
|
76
|
-
* @param renderMode
|
|
77
|
-
*/
|
|
78
|
-
setOutputVideoRenderMode(renderMode: MixVideoRenderMode): RCMCUConfigBuilder;
|
|
79
|
-
/**
|
|
80
|
-
* 设置合流后音频流的编码参数(不推荐主动修改)
|
|
81
|
-
* @param bitrate 音频码率
|
|
82
|
-
*/
|
|
83
|
-
setOutputAudioBitrate(bitrate: number): RCMCUConfigBuilder;
|
|
84
|
-
/**
|
|
85
|
-
* 设置合流后的视频流的背景色,默认为 `0x000000`
|
|
86
|
-
* @param color 颜色参数,为 16 进制标识法,如 '0x000000'
|
|
87
|
-
*/
|
|
88
|
-
setOutputBackgroundColor(color: string): RCMCUConfigBuilder;
|
|
89
|
-
/**
|
|
90
|
-
* 向合流后的视频流中增加背景图片
|
|
91
|
-
* @param uri 图片资源的完整下载地址
|
|
92
|
-
* @param x 相对于整体画布的起始位置 x 坐标(百分比),有效值 `0.0` - `1.0`
|
|
93
|
-
* @param y 相对于整体画布的起始位置 y 坐标(百分比),有效值 `0.0` - `1.0`
|
|
94
|
-
* @param w 相对于整体画布的宽(百分比),有效值 `0.0` - `1.0`
|
|
95
|
-
* @param h 相对于整体画布的高(百分比),有效值 `0.0` - `1.0`
|
|
96
|
-
*/
|
|
97
|
-
addOutputBackgroundPicture(uri: string, x: number, y: number, w: number, h: number): RCMCUConfigBuilder;
|
|
98
|
-
/**
|
|
99
|
-
* 移除对合流后的视频流中添加的指定背景图片
|
|
100
|
-
* @param uri
|
|
101
|
-
*/
|
|
102
|
-
removeOutputBackgroundPicture(uri: string): RCMCUConfigBuilder;
|
|
103
|
-
/**
|
|
104
|
-
* 清理对合流后的视频流中添加的所有背景图片
|
|
105
|
-
*/
|
|
106
|
-
clearOutputBackgroundPicture(): RCMCUConfigBuilder;
|
|
107
|
-
/**
|
|
108
|
-
* 设置合流后的视频流中添加的背景图片的填充方式:
|
|
109
|
-
* 1. 按比例裁剪
|
|
110
|
-
* 2. 不裁剪,按比例压缩
|
|
111
|
-
* @param fillMode
|
|
112
|
-
*/
|
|
113
|
-
setOutputBackgroundPictureFillMode(fillMode: BackgroundPictureFillMode): RCMCUConfigBuilder;
|
|
114
|
-
/**
|
|
115
|
-
* 设置直播 CDN 旁路推流地址,最多支持 5 个推流地址
|
|
116
|
-
* @param urls 地址列表
|
|
117
|
-
*/
|
|
118
|
-
addPublishStreamUrls(urls: string[]): RCMCUConfigBuilder;
|
|
119
|
-
/**
|
|
120
|
-
* 移除直播 CDN 旁路推流地址
|
|
121
|
-
* @param urls
|
|
122
|
-
*/
|
|
123
|
-
removePublishStreamUrls(urls: string[]): RCMCUConfigBuilder;
|
|
124
|
-
/**
|
|
125
|
-
* 清理已添加的 CDN 旁路推流地址
|
|
126
|
-
*/
|
|
127
|
-
clearPublishStreamUrls(): RCMCUConfigBuilder;
|
|
128
|
-
/**
|
|
129
|
-
* 在自定义布局中增加视频流配置
|
|
130
|
-
* @param trackId 资源 Id
|
|
131
|
-
* @param x 在画布中的坐标 x
|
|
132
|
-
* @param y 在画布中的坐标 y
|
|
133
|
-
* @param width 分辨率宽度
|
|
134
|
-
* @param height 分辨率高度
|
|
135
|
-
*/
|
|
136
|
-
addCustomizeLayoutVideo(trackId: string, x: number, y: number, width: number, height: number): RCMCUConfigBuilder;
|
|
137
|
-
/**
|
|
138
|
-
* 移除自定义布局中的视频流配置
|
|
139
|
-
* @param trackId
|
|
140
|
-
*/
|
|
141
|
-
removeCustomizeLayoutVideo(trackId: string): RCMCUConfigBuilder;
|
|
142
|
-
/**
|
|
143
|
-
* 清除已添加的自定义布局中的视频流配置
|
|
144
|
-
*/
|
|
145
|
-
clearCustomizeLayoutVideo(): RCMCUConfigBuilder;
|
|
146
|
-
/**
|
|
147
|
-
* 覆盖设置合流媒体中的音频流
|
|
148
|
-
* @param trackIds 音频流 trackId 数组,当数组长度为 0 时,则合流媒体中将无音频输出
|
|
149
|
-
* @returns
|
|
150
|
-
*/
|
|
151
|
-
setCustomizeInputAudio(trackIds: string[]): RCMCUConfigBuilder;
|
|
152
|
-
/**
|
|
153
|
-
* 向既有的音频流合流配置中增加一道音频流
|
|
154
|
-
* @param trackId 音频 trackId
|
|
155
|
-
* @since v5.3.7
|
|
156
|
-
*/
|
|
157
|
-
addCustomizeInputAudio(trackId: string): RCMCUConfigBuilder;
|
|
158
|
-
/**
|
|
159
|
-
* 从既有的音频流合流配置中删除一道音频流
|
|
160
|
-
* @param trackId 音频对应的 trackId
|
|
161
|
-
* @since v5.3.7
|
|
162
|
-
*/
|
|
163
|
-
removeCustomizeInputAudio(trackId: string): RCMCUConfigBuilder;
|
|
164
|
-
/**
|
|
165
|
-
* 清除音频流合流配置,恢复房间内的全音频流合流输出
|
|
166
|
-
* @since v5.3.7
|
|
167
|
-
*/
|
|
168
|
-
clearCustomizeInputAudio(): RCMCUConfigBuilder;
|
|
169
|
-
/**
|
|
170
|
-
* 给单道流添加水印
|
|
171
|
-
*/
|
|
172
|
-
addPictureWaterMark(trackId: string, uri: string, x: number, y: number, w: number, h: number): RCMCUConfigBuilder;
|
|
173
|
-
/**
|
|
174
|
-
* 删除所有水印
|
|
175
|
-
*/
|
|
176
|
-
clearPictureWaterMark(): RCMCUConfigBuilder;
|
|
177
|
-
/**
|
|
178
|
-
* 移除对合流后的某个视频流中添加的指定水印图片
|
|
179
|
-
* @param uri
|
|
180
|
-
*/
|
|
181
|
-
removePictureWaterMark(trackId: string, uri: string): RCMCUConfigBuilder;
|
|
182
|
-
/**
|
|
183
|
-
* 设置 MCU 混流配置
|
|
184
|
-
* @param videoList 视频输入混流列表,为 null 代表视频全混流,为空集合代表视频全不混流,否则按照输入列表进行混流
|
|
185
|
-
* @param audioList 音频输入混流列表,为 null 代表音频全混流,为空集合代表音频全不混流,否则按照输入列表进行混流
|
|
186
|
-
*/
|
|
187
|
-
/**
|
|
188
|
-
* 设置 MCU 混流配置
|
|
189
|
-
* @param roomIds 混流房间列表
|
|
190
|
-
* @param mediaType 混流媒体类型
|
|
191
|
-
* @param isAppend 是否为增量混流
|
|
192
|
-
* * true 为增量混流
|
|
193
|
-
* * false 为全量覆盖混流
|
|
194
|
-
*/
|
|
195
|
-
/**
|
|
196
|
-
* 重置所有合流配置
|
|
197
|
-
* @since v5.3.7
|
|
198
|
-
* @returns
|
|
199
|
-
*/
|
|
200
|
-
reset(): RCMCUConfigBuilder;
|
|
201
|
-
/**
|
|
202
|
-
* 使已修改的配置生效,在调用该方法前,所有数据只会对本地配置进行修改,不会产生实际效果
|
|
203
|
-
* @param reset 调用完成后清空当前配置记录,默认为 `true`(v5.3.7 版本开始启用)
|
|
204
|
-
* @returns
|
|
205
|
-
*/
|
|
206
|
-
flush(reset?: boolean): Promise<{
|
|
207
|
-
code: RCRTCCode;
|
|
208
|
-
}>;
|
|
209
|
-
__innerGetValues(): IMCUConfig;
|
|
210
|
-
}
|
|
211
|
-
//# sourceMappingURL=RCMCUConfigBuilder.d.ts.map
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { RTCPluginContext, IRuntime } from '@rongcloud/engine';
|
|
2
|
-
import { IRCRTCInitOptions } from '../interfaces';
|
|
3
|
-
import RCMediaService from '../service/RCMediaService';
|
|
4
|
-
import RCAbstractRoom from './RCAbstractRoom';
|
|
5
|
-
/**
|
|
6
|
-
* 普通音视频房间
|
|
7
|
-
*/
|
|
8
|
-
export default class RCRTCRoom extends RCAbstractRoom {
|
|
9
|
-
constructor(context: RTCPluginContext, runtime: IRuntime, roomId: string, service: RCMediaService, initOptions: IRCRTCInitOptions, isUpgrade?: boolean, isMainRoom?: boolean,
|
|
10
|
-
/**
|
|
11
|
-
* 是否使用多 peerConnection
|
|
12
|
-
*/
|
|
13
|
-
useMutilPeerC?: boolean, _clientSessionId?: string);
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=RCRTCRoom.d.ts.map
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { IRuntime, RTCPluginContext } from '@rongcloud/engine';
|
|
2
|
-
import { RCRTCCode } from '../enums/RCRTCCode';
|
|
3
|
-
import { IRTCReqHeader, IExchangeReqBody, IExchangeResponse, IMCUReqHeaders, IBroadcastSubReqBody, IBroadcastSubRespBody, ICDNPlayUrlReqHeaders, ICDNPlayUrlResponse } from './interface';
|
|
4
|
-
import { IMCUConfig, ISetEnableCDN } from './mcu-interface';
|
|
5
|
-
export default class RCMediaService {
|
|
6
|
-
private readonly _runtime;
|
|
7
|
-
private readonly _context;
|
|
8
|
-
/**
|
|
9
|
-
* 自定义 MediaServer 地址,当有值时,不再使用导航内的地址
|
|
10
|
-
*/
|
|
11
|
-
private readonly _msUrl?;
|
|
12
|
-
/**
|
|
13
|
-
* 请求超时时长
|
|
14
|
-
*/
|
|
15
|
-
private readonly _timeout;
|
|
16
|
-
/**
|
|
17
|
-
* navi 中获取的媒体服务地址
|
|
18
|
-
*/
|
|
19
|
-
private readonly _msInNavi;
|
|
20
|
-
/**
|
|
21
|
-
* 已失败的请求地址
|
|
22
|
-
*/
|
|
23
|
-
private readonly _failedMs;
|
|
24
|
-
/**
|
|
25
|
-
* 服务器指纹数据,客户端不得修改,直接透传
|
|
26
|
-
*/
|
|
27
|
-
private _rtcFinger;
|
|
28
|
-
/**
|
|
29
|
-
* 服务器接口返回的 clusterId 数据,当此数据有值时,后续所有请求向此服务发送
|
|
30
|
-
*/
|
|
31
|
-
private _clusterId;
|
|
32
|
-
/**
|
|
33
|
-
* MCU 服务地址
|
|
34
|
-
*/
|
|
35
|
-
private _configUrl;
|
|
36
|
-
constructor(_runtime: IRuntime, _context: RTCPluginContext,
|
|
37
|
-
/**
|
|
38
|
-
* 自定义 MediaServer 地址,当有值时,不再使用导航内的地址
|
|
39
|
-
*/
|
|
40
|
-
_msUrl?: string | undefined,
|
|
41
|
-
/**
|
|
42
|
-
* 请求超时时长
|
|
43
|
-
*/
|
|
44
|
-
_timeout?: number);
|
|
45
|
-
getNaviMS(): string[];
|
|
46
|
-
/**
|
|
47
|
-
* 发送请求,请求发送若失败,会继续尝试使用后续可用地址直到无地址可用,此时认为请求失败
|
|
48
|
-
* @param path
|
|
49
|
-
* @param header
|
|
50
|
-
* @param body
|
|
51
|
-
*/
|
|
52
|
-
private _request;
|
|
53
|
-
/**
|
|
54
|
-
* 资源协商接口,订阅、发布、变更资源均可以使用此接口。该接口通过 sdp 字段交换 SDP 信息,
|
|
55
|
-
* 并通过 subscribeList 和 publishList 表明最终发布和订阅的资源。本端产出 offer,服务器产出 answer
|
|
56
|
-
* 每次接口调用,都会全量覆盖发布和订阅的资源。
|
|
57
|
-
* @param header
|
|
58
|
-
* @param body
|
|
59
|
-
*/
|
|
60
|
-
exchange(headers: IRTCReqHeader, body: IExchangeReqBody): Promise<{
|
|
61
|
-
code: RCRTCCode;
|
|
62
|
-
data?: IExchangeResponse | undefined;
|
|
63
|
-
}>;
|
|
64
|
-
/**
|
|
65
|
-
* 退出房间
|
|
66
|
-
*/
|
|
67
|
-
exit(headers: IRTCReqHeader): Promise<RCRTCCode>;
|
|
68
|
-
/**
|
|
69
|
-
* 观众端订阅主播资源
|
|
70
|
-
*/
|
|
71
|
-
broadcastSubscribe(headers: IRTCReqHeader, body: IBroadcastSubReqBody): Promise<{
|
|
72
|
-
code: RCRTCCode;
|
|
73
|
-
data?: IBroadcastSubRespBody | undefined;
|
|
74
|
-
}>;
|
|
75
|
-
/**
|
|
76
|
-
* 观众端退出订阅
|
|
77
|
-
*/
|
|
78
|
-
broadcastExit(headers: IRTCReqHeader): Promise<{
|
|
79
|
-
code: RCRTCCode;
|
|
80
|
-
}>;
|
|
81
|
-
/**
|
|
82
|
-
* 直播推流、自定义布局配置
|
|
83
|
-
*/
|
|
84
|
-
setMcuConfig(headers: IMCUReqHeaders, body: IMCUConfig | ISetEnableCDN): Promise<{
|
|
85
|
-
code: RCRTCCode;
|
|
86
|
-
res?: any;
|
|
87
|
-
}>;
|
|
88
|
-
/**
|
|
89
|
-
* 房间内观众获取 CDN 资源信息、拉流地址
|
|
90
|
-
*/
|
|
91
|
-
getCDNResourceInfo(headers: ICDNPlayUrlReqHeaders, url: string): Promise<{
|
|
92
|
-
code: RCRTCCode;
|
|
93
|
-
res?: ICDNPlayUrlResponse;
|
|
94
|
-
}>;
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=RCMediaService.d.ts.map
|
|
@@ -1,323 +0,0 @@
|
|
|
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
|