@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.
Files changed (103) hide show
  1. package/dist/index.d.ts +405 -34
  2. package/dist/index.esm.js +21612 -15
  3. package/dist/index.js +21641 -15
  4. package/dist/index.umd.js +21645 -15
  5. package/package.json +2 -5
  6. package/dist/async-task-queue.d.ts +0 -9
  7. package/dist/core/Invoker.d.ts +0 -54
  8. package/dist/core/PolarisReporter.d.ts +0 -35
  9. package/dist/core/RCAudienceClient.d.ts +0 -89
  10. package/dist/core/RCMediaStreamCapture.d.ts +0 -124
  11. package/dist/core/RCRTCClient.d.ts +0 -126
  12. package/dist/core/Store.d.ts +0 -84
  13. package/dist/core/command/AsyncCommand.d.ts +0 -55
  14. package/dist/core/command/AsyncSubscribeCommand.d.ts +0 -28
  15. package/dist/core/command/AsyncUnsubscribeCommand.d.ts +0 -28
  16. package/dist/core/command/AsyncUpdateSubscribeListCommand.d.ts +0 -25
  17. package/dist/core/command/BaseCommand.d.ts +0 -31
  18. package/dist/core/command/EnabelInnerCDNCommand.d.ts +0 -16
  19. package/dist/core/command/ExchangeCommand.d.ts +0 -18
  20. package/dist/core/command/ExchangeWithPushOtherRoomCommand.d.ts +0 -22
  21. package/dist/core/command/JoinRoomCommand.d.ts +0 -28
  22. package/dist/core/command/LeaveOtherRoomCommand.d.ts +0 -32
  23. package/dist/core/command/LocalTrackMuteCommand.d.ts +0 -18
  24. package/dist/core/command/MCUConfigFlushCommand.d.ts +0 -18
  25. package/dist/core/command/OnRemoteUserUnpubCommand.d.ts +0 -13
  26. package/dist/core/command/OnSignalReconnectedCommand.d.ts +0 -38
  27. package/dist/core/command/ParseRemoteResCommand.d.ts +0 -38
  28. package/dist/core/command/ParseUserStateCommand.d.ts +0 -57
  29. package/dist/core/command/PublishCommand.d.ts +0 -36
  30. package/dist/core/command/RTCIdentityChangeCommand.d.ts +0 -17
  31. package/dist/core/command/RetryExchangeCommand.d.ts +0 -18
  32. package/dist/core/command/SubscribeCommand.d.ts +0 -21
  33. package/dist/core/command/UnpublishCommand.d.ts +0 -22
  34. package/dist/core/command/UnpublishPrevCommand.d.ts +0 -11
  35. package/dist/core/command/UnsubscribeCommand.d.ts +0 -20
  36. package/dist/core/command/UpdateSubscribeListCommand.d.ts +0 -28
  37. package/dist/core/command/helper.d.ts +0 -20
  38. package/dist/core/constants.d.ts +0 -2
  39. package/dist/core/enums/BackgroundPictureFillMode.d.ts +0 -14
  40. package/dist/core/enums/MixLayoutMode.d.ts +0 -18
  41. package/dist/core/enums/MixVideoRenderMode.d.ts +0 -14
  42. package/dist/core/enums/RCBitrate.d.ts +0 -48
  43. package/dist/core/enums/RCCommandKind.d.ts +0 -12
  44. package/dist/core/enums/RCFrameRate.d.ts +0 -7
  45. package/dist/core/enums/RCInnerCDNBroadcast.d.ts +0 -5
  46. package/dist/core/enums/RCInnerCDNModel.d.ts +0 -5
  47. package/dist/core/enums/RCInnerCDNPullIsHttps.d.ts +0 -5
  48. package/dist/core/enums/RCInnerCDNPullKind.d.ts +0 -6
  49. package/dist/core/enums/RCInnerCDNPushMode.d.ts +0 -5
  50. package/dist/core/enums/RCKickType.d.ts +0 -11
  51. package/dist/core/enums/RCLinkedListPoint.d.ts +0 -6
  52. package/dist/core/enums/RCLivingType.d.ts +0 -14
  53. package/dist/core/enums/RCLoggerTag.d.ts +0 -641
  54. package/dist/core/enums/RCMediaType.d.ts +0 -18
  55. package/dist/core/enums/RCMixInputFilterMode.d.ts +0 -35
  56. package/dist/core/enums/RCRTCCode.d.ts +0 -90
  57. package/dist/core/enums/RCRTCLiveRole.d.ts +0 -14
  58. package/dist/core/enums/RCRTCPingResult.d.ts +0 -5
  59. package/dist/core/enums/RCRTCResolution.d.ts +0 -132
  60. package/dist/core/enums/RCResolution.d.ts +0 -21
  61. package/dist/core/enums/inner/PolarisRole.d.ts +0 -14
  62. package/dist/core/enums/inner/R2Action.d.ts +0 -14
  63. package/dist/core/enums/inner/R2Status.d.ts +0 -11
  64. package/dist/core/enums/inner/RCRTCMessageType.d.ts +0 -70
  65. package/dist/core/enums/inner/RCStreamType.d.ts +0 -14
  66. package/dist/core/enums/inner/TrackState.d.ts +0 -14
  67. package/dist/core/interfaces.d.ts +0 -931
  68. package/dist/core/room/Pinger.d.ts +0 -35
  69. package/dist/core/room/RCAbstractRoom.d.ts +0 -350
  70. package/dist/core/room/RCAudienceLivingRoom.d.ts +0 -329
  71. package/dist/core/room/RCAudioLevelReport.d.ts +0 -18
  72. package/dist/core/room/RCLivingPKHandler.d.ts +0 -164
  73. package/dist/core/room/RCLivingRoom.d.ts +0 -108
  74. package/dist/core/room/RCLocalMediaStream.d.ts +0 -8
  75. package/dist/core/room/RCMCUConfigBuilder.d.ts +0 -211
  76. package/dist/core/room/RCRTCRoom.d.ts +0 -15
  77. package/dist/core/service/RCMediaService.d.ts +0 -96
  78. package/dist/core/service/helper.d.ts +0 -8
  79. package/dist/core/service/index.d.ts +0 -6
  80. package/dist/core/service/interface.d.ts +0 -323
  81. package/dist/core/service/mcu-interface.d.ts +0 -293
  82. package/dist/core/tracks/RC3AnoiseTrack.d.ts +0 -27
  83. package/dist/core/tracks/RCLocalTrack.d.ts +0 -143
  84. package/dist/core/tracks/RCRemoteTrack.d.ts +0 -29
  85. package/dist/core/tracks/RCTrack.d.ts +0 -95
  86. package/dist/core/webrtc/RCRTCPeerCManager.d.ts +0 -161
  87. package/dist/core/webrtc/RCRTCPeerConnection.d.ts +0 -120
  88. package/dist/core/webrtc/helper.d.ts +0 -26
  89. package/dist/core/webrtc/sdp/ASdpBuilder.d.ts +0 -120
  90. package/dist/core/webrtc/sdp/ASdpStrategy.d.ts +0 -53
  91. package/dist/core/webrtc/sdp/PlanBSdpBuilder.d.ts +0 -20
  92. package/dist/core/webrtc/sdp/PlanBStrategy.d.ts +0 -26
  93. package/dist/core/webrtc/sdp/SDPUtils.d.ts +0 -60
  94. package/dist/core/webrtc/sdp/UnifiedPlanSdpBuilder.d.ts +0 -11
  95. package/dist/core/webrtc/sdp/UnifiedPlanStrategy.d.ts +0 -25
  96. package/dist/core/webrtc/stat-parser/AbstractStatParser.d.ts +0 -117
  97. package/dist/core/webrtc/stat-parser/ChromeStatParser.d.ts +0 -14
  98. package/dist/core/webrtc/stat-parser/FirefoxStatParser.d.ts +0 -14
  99. package/dist/core/webrtc/stat-parser/IStatParser.d.ts +0 -24
  100. package/dist/core/webrtc/stat-parser/SafariStatParser.d.ts +0 -14
  101. package/dist/device.d.ts +0 -6
  102. package/dist/helper.d.ts +0 -193
  103. 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,8 +0,0 @@
1
- import { INaviInfo } from '@rongcloud/engine';
2
- export declare const getUUID: () => string;
3
- /**
4
- * 解析导航数据获取 RTC Server 地址
5
- * @param info
6
- */
7
- export declare const parseNaviInfo: (info: INaviInfo | null) => string[];
8
- //# sourceMappingURL=helper.d.ts.map
@@ -1,6 +0,0 @@
1
- import RCMediaService from './RCMediaService';
2
- export { RCMediaService };
3
- export * from './helper';
4
- export * from './interface';
5
- export * from './mcu-interface';
6
- //# sourceMappingURL=index.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