@rongcloud/plugin-rtc 5.2.4-beem.4 → 5.2.4-beem.7

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 CHANGED
@@ -1,10 +1,10 @@
1
1
  /*
2
- * RCRTC - v5.2.4-beem.4
3
- * CommitId - a3cdebb13c1c9a8f31555277f185522a69f7e42f
4
- * Fri May 20 2022 19:05:14 GMT+0800 (China Standard Time)
2
+ * RCRTC - v5.2.4-beem.7
3
+ * CommitId - 7525a60bf7217da8a14cafdd6e90765248f86136
4
+ * Sat May 28 2022 13:58:08 GMT+0800 (China Standard Time)
5
5
  * ©2020 RongCloud, Inc. All rights reserved.
6
6
  */
7
- import { EventEmitter, LogLevel, RTCMode, IRuntime, RTCPluginContext, IServerRTCRoomEntry, IJoinRTCRoomData, IReceivedMessage, KVString, RTCJoinType, IRTCJoinedInfo, IPluginGenerator } from '@rongcloud/engine';
7
+ import { EventEmitter, LogLevel, RTCPluginContext, IRuntime, IServerRTCRoomEntry, RTCMode, IJoinRTCRoomData, IReceivedMessage, KVString, RTCJoinType, IRTCJoinedInfo, IPluginGenerator } from '@rongcloud/engine';
8
8
  export { RTCJoinType } from '@rongcloud/engine';
9
9
 
10
10
  /**
@@ -105,20 +105,6 @@ declare enum RCMediaType {
105
105
  AUDIO_VIDEO = 2
106
106
  }
107
107
 
108
- /**
109
- * 资源大小流标识枚举
110
- */
111
- declare enum RCStreamType {
112
- /**
113
- * 普通流(大流)
114
- */
115
- NORMAL = 1,
116
- /**
117
- * 小流
118
- */
119
- TINY = 2
120
- }
121
-
122
108
  declare enum RCFrameRate {
123
109
  FPS_10 = "FPS_10",
124
110
  FPS_15 = "FPS_15",
@@ -142,20 +128,6 @@ declare enum RCResolution {
142
128
  W1920_H1080 = "W1920_H1080"
143
129
  }
144
130
 
145
- /**
146
- * 流状态
147
- */
148
- declare enum TrackState {
149
- /**
150
- * 不可用
151
- */
152
- DISABLE = 0,
153
- /**
154
- * 可用
155
- */
156
- ENABLE = 1
157
- }
158
-
159
131
  declare abstract class RCTrack extends EventEmitter {
160
132
  private readonly _tag;
161
133
  private readonly _userId;
@@ -361,40 +333,7 @@ declare class RCRemoteVideoTrack extends RCRemoteTrack {
361
333
  constructor(tag: string, userId: string, roomId?: string);
362
334
  }
363
335
 
364
- interface IStatParser {
365
- /**
366
- * 取消发布后,需把 _latestPacketsSent 中 key 为 resourceId 存储的数据清除掉
367
- */
368
- clearLatestpacketsSent(resourceIds: string[]): void;
369
- /**
370
- * 取消订阅后,需把 _latestPacketsRecv 中 key 为 resourceId 存储的数据清除掉
371
- */
372
- clearLatestPacketsRecv(resourceIds: string[]): void;
373
- parseRTCStatsReport(reports: RTCStatsReport): {
374
- [key: string]: any;
375
- };
376
- formatRCRTCStateReport(stats: {
377
- [key: string]: any;
378
- }): IInnerRCRTCStateReport;
379
- getAudioLevelList(stats: {
380
- [key: string]: any;
381
- }): {
382
- trackId: string;
383
- audioLevel: number | null;
384
- }[];
385
- }
386
-
387
336
  declare type ISdpSemantics = 'plan-b' | 'unified-plan';
388
- interface IOfferInfo {
389
- type: 'offer';
390
- sdp: string;
391
- semantics: ISdpSemantics;
392
- }
393
- declare type OutboundVideoInfo = {
394
- trackId: string;
395
- simulcast: RCStreamType;
396
- resolution: string;
397
- };
398
337
 
399
338
  declare enum RCInnerCDNPullKind {
400
339
  RTMP = "rtmp",
@@ -635,83 +574,6 @@ interface IRCCandidatePairStat {
635
574
  */
636
575
  availableIncomingBitrate: number | null;
637
576
  }
638
- /**
639
- * iceCandidatePair 所有字段
640
- * 含 peerConnection 抛出给用户的 iceCandidatePair 字段
641
- * 含 北极星上报 R3、R4 所需的 totalPacketsLost
642
- */
643
- interface IInnerIcePair extends IRCCandidatePairStat {
644
- /**
645
- * 上、下行总丢包率
646
- */
647
- totalPacketsLost?: number;
648
- }
649
- /**
650
- * send track 所有字段
651
- * 含 peerConnection 抛出给用户的 track 字段
652
- * 含 北极星上报 R3 track 所需字段
653
- */
654
- interface ISendTrackState extends IRCTrackStat {
655
- /**
656
- * (Round-Trip-Time)往返时延,单位 ms
657
- */
658
- rtt: number | null;
659
- /**
660
- * 编码方式
661
- */
662
- encoderImplementation: string | null;
663
- /**
664
- * PLI 请求数
665
- */
666
- pliCount: number;
667
- /**
668
- * nack 数量
669
- */
670
- nackCount: number;
671
- /**
672
- * 第一个关键帧是否正常收到
673
- */
674
- googFirsSent: number;
675
- /**
676
- * 音频采样率
677
- */
678
- samplingRate: number;
679
- /**
680
- * 接收卡顿(间隔时间, 单位: ms)
681
- */
682
- googRenderDelayMs: number;
683
- /**
684
- * 流状态(0:不可用, 1:可用)
685
- */
686
- trackState: TrackState;
687
- }
688
- /**
689
- * receive track 所有字段
690
- * 含 peerConnection 抛出给用户的 track 字段
691
- * 含 北极星上报 R4 track 所需字段
692
- */
693
- interface IRecvTrackState extends IRCTrackStat {
694
- /**
695
- * 解码方式
696
- */
697
- codecImplementationName: string | null;
698
- samplingRate: number;
699
- nackCount: number;
700
- pliCount: number;
701
- rtt: number | null;
702
- googFirsReceived: number;
703
- googRenderDelayMs: number;
704
- trackState: TrackState;
705
- }
706
- /**
707
- * peerConnection stats 解析出来业务所需的所有字段
708
- */
709
- interface IInnerRCRTCStateReport {
710
- timestamp: number;
711
- iceCandidatePair?: IInnerIcePair;
712
- senders: ISendTrackState[];
713
- receivers: IRecvTrackState[];
714
- }
715
577
  /**
716
578
  * /**
717
579
  * peerConnection stats 抛给用户的字段
@@ -924,11 +786,6 @@ declare enum RCInnerCDNPushMode {
924
786
  MANUAL = 1
925
787
  }
926
788
 
927
- declare enum RCInnerCDNBroadcast {
928
- SPREAD = 0,
929
- NO_SPREAD = -1
930
- }
931
-
932
789
  /**
933
790
  * 与 MediaServer 交互所需的 Request Header 信息
934
791
  */
@@ -959,13 +816,6 @@ interface IRTCReqHeader {
959
816
  */
960
817
  'Session-Id'?: string;
961
818
  }
962
- interface IMCUReqHeaders {
963
- 'App-Key': string;
964
- Token: string;
965
- RoomId: string;
966
- UserId: string;
967
- SessionId: string;
968
- }
969
819
  /**
970
820
  * exchange 接口的请求体结构
971
821
  */
@@ -1018,34 +868,6 @@ interface IExchangeReqBody {
1018
868
  */
1019
869
  switchstream: boolean;
1020
870
  }
1021
- interface ILiveUrls {
1022
- /**
1023
- * MCU 服务地址,直播模式中用于向 MCU 服务提交 CDN 及合流配置
1024
- */
1025
- configUrl: string;
1026
- /**
1027
- * 观众端订阅地址,由业务层分发
1028
- */
1029
- liveUrl: string;
1030
- /**
1031
- * 自动推 CDN 模式下,发布资源后返回的 CDN 信息
1032
- */
1033
- pull_url?: string;
1034
- }
1035
- interface IRTCResponse {
1036
- /**
1037
- * 请求响应码,只有在 resultCode 值为 `10000` 时才为正常响应
1038
- */
1039
- resultCode: RCRTCCode;
1040
- /**
1041
- * 与 resultCode 相应的可读性文字信息
1042
- */
1043
- message: string;
1044
- /**
1045
- * 客户端发送的 Request-Id
1046
- */
1047
- 'Request-Id': string;
1048
- }
1049
871
  /**
1050
872
  * /exchange 响应结果
1051
873
  */
@@ -1140,35 +962,6 @@ interface IBroadcastSubReqBody {
1140
962
  */
1141
963
  newVersionFlag?: boolean;
1142
964
  }
1143
- interface IBroadcastSubRespBody extends IRTCResponse {
1144
- /**
1145
- * 已订阅的资源列表
1146
- */
1147
- subscribedList: IResource[];
1148
- /**
1149
- * 远端 SDP
1150
- */
1151
- sdp: {
1152
- type: 'answer';
1153
- sdp: string;
1154
- };
1155
- }
1156
- /**
1157
- * 获取 CDN 资源拉流地址请求 headers
1158
- */
1159
- interface ICDNPlayUrlReqHeaders extends IMCUReqHeaders {
1160
- }
1161
- /**
1162
- * 获取 CDN 资源拉流地址响应
1163
- */
1164
- interface ICDNPlayUrlResponse extends IRTCResponse {
1165
- data: {
1166
- fps: number;
1167
- h: number;
1168
- 'pull_url': string;
1169
- w: number;
1170
- };
1171
- }
1172
965
  /**
1173
966
  * cdn_uris 里面包含的字段
1174
967
  */
@@ -1236,11 +1029,6 @@ declare enum MixVideoRenderMode {
1236
1029
  WHOLE = 2
1237
1030
  }
1238
1031
 
1239
- declare enum RCInnerCDNModel {
1240
- OPEN = 1,
1241
- STOP = 2
1242
- }
1243
-
1244
1032
  /**
1245
1033
  * 合流后的 video 输出编码配置,包含分辨率、帧率、码率配置项
1246
1034
  */
@@ -1262,17 +1050,6 @@ interface IMCUOutputVideoAttrs {
1262
1050
  */
1263
1051
  bitrate?: number;
1264
1052
  }
1265
- /**
1266
- * 自定义布局中的单一视频流布局
1267
- */
1268
- interface IMCUInputVideoLayout {
1269
- user_id: string;
1270
- stream_id: string;
1271
- x: number;
1272
- y: number;
1273
- width: number;
1274
- height: number;
1275
- }
1276
1053
  /**
1277
1054
  * 图片配置,用于水印、视频流背景图
1278
1055
  */
@@ -1363,100 +1140,6 @@ interface IMCUOutputConfig {
1363
1140
  pushurl: string;
1364
1141
  }[];
1365
1142
  }
1366
- /**
1367
- * 时间戳参数,用于水印
1368
- */
1369
- interface ITimestampAttrs {
1370
- /**
1371
- * 时区
1372
- */
1373
- timezone: number;
1374
- /**
1375
- * 字体像素大小
1376
- */
1377
- fontSize: number;
1378
- /**
1379
- * 字体颜色
1380
- */
1381
- color: 'black' | 'white';
1382
- /**
1383
- * 透明度,有效值 `0.0` 至 `1.0`
1384
- */
1385
- alpha: number;
1386
- /**
1387
- * 相较于整体画布的 x 坐标(百分比),有效值 `0.0` 至 `1.0`
1388
- */
1389
- x: number;
1390
- /**
1391
- * 相较于整体画布的 y 坐标(百分比),有效值 `0.0` 至 `1.0`
1392
- */
1393
- y: number;
1394
- }
1395
- /**
1396
- * 文本参数,用于水印
1397
- */
1398
- interface ITextAttrs {
1399
- /**
1400
- * 文字内容
1401
- */
1402
- content: string;
1403
- /**
1404
- * 文字像素
1405
- */
1406
- fontSize: number;
1407
- /**
1408
- * 文字颜色
1409
- */
1410
- color: 'black' | 'white';
1411
- /**
1412
- * 透明度,有效值 `0.0` 至 `1.0`
1413
- */
1414
- alpha: number;
1415
- /**
1416
- * 相较于整体画布的 x 坐标(百分比),有效值 `0.0` 至 `1.0`
1417
- */
1418
- x: number;
1419
- /**
1420
- * 相较于整体画布的 y 坐标(百分比),有效值 `0.0` 至 `1.0`
1421
- */
1422
- y: number;
1423
- }
1424
- /**
1425
- * 屏幕水印配置
1426
- */
1427
- interface IWaterMarkConfig {
1428
- /**
1429
- * 时间戳水印配置
1430
- */
1431
- timestamp?: ITimestampAttrs;
1432
- /**
1433
- * 图片水印配置
1434
- */
1435
- picture?: IPictureAttrs[];
1436
- /**
1437
- * 文字水印配置
1438
- */
1439
- text: ITextAttrs[];
1440
- }
1441
- /**
1442
- * 合流前的单一视频流水印配置
1443
- */
1444
- interface IMCUSignalScreenWaterMarkConfig extends IWaterMarkConfig {
1445
- /**
1446
- * 媒体流的 msid
1447
- */
1448
- streamId: string;
1449
- }
1450
- interface IMCUWaterMarkConfig {
1451
- /**
1452
- * 合流后的屏幕水印配置
1453
- */
1454
- mixScreen: IWaterMarkConfig;
1455
- /**
1456
- * 合流前的单人视频流水印配置
1457
- */
1458
- signalScreen: IMCUSignalScreenWaterMarkConfig[];
1459
- }
1460
1143
  /**
1461
1144
  * 发布到服务器的 MCU 配置数据
1462
1145
  */
@@ -1488,18 +1171,6 @@ interface IMCUConfig {
1488
1171
  */
1489
1172
  waterMark?: IMCUWaterMarkConfig;
1490
1173
  }
1491
- /**
1492
- * 设置开启、停用内置 CDN 数据
1493
- */
1494
- interface ISetEnableCDN {
1495
- version: 2;
1496
- output: {
1497
- /**
1498
- * 手动开启/停用内置 CDN
1499
- */
1500
- inCDNModel: RCInnerCDNModel;
1501
- };
1502
- }
1503
1174
 
1504
1175
  declare class RCMediaService {
1505
1176
  private readonly _runtime;
@@ -1909,20 +1580,6 @@ declare class RCAudienceLivingRoom {
1909
1580
  };
1910
1581
  }
1911
1582
 
1912
- /**
1913
- * 北极星上报角色
1914
- */
1915
- declare enum PolarisRole {
1916
- /**
1917
- * 会议参会者、主播
1918
- */
1919
- MeetingOrAnchor = 1,
1920
- /**
1921
- * 观众
1922
- */
1923
- Audience = 2
1924
- }
1925
-
1926
1583
  declare class PolarisReporter {
1927
1584
  private readonly _context;
1928
1585
  private readonly _runtime;
@@ -1941,7 +1598,7 @@ declare class PolarisReporter {
1941
1598
  * @param resourceId userId_11_1_tiny 改为 userId_11_tiny_video
1942
1599
  */
1943
1600
  private _getPolarisTrackId;
1944
- sendR3R4Data(data: IInnerRCRTCStateReport): void;
1601
+ sendR3R4Data(data: IInnerRCRTCStateReport): Promise<boolean>;
1945
1602
  /**
1946
1603
  * 加入房间
1947
1604
  */
@@ -1972,6 +1629,7 @@ declare class RCRTCPeerConnection extends EventEmitter {
1972
1629
  private pubLocalTracks;
1973
1630
  private _reTryExchangeTimer;
1974
1631
  private _reportStatsTimer;
1632
+ private _reportR3R4ToPolarisTimer;
1975
1633
  constructor(
1976
1634
  /**
1977
1635
  * _reTryExchange 方法
@@ -1986,8 +1644,8 @@ declare class RCRTCPeerConnection extends EventEmitter {
1986
1644
  private _onICEConnectionStateChange;
1987
1645
  private _onTrackReady;
1988
1646
  setBitrate(max: number, min: number, start?: number): Promise<void>;
1989
- createOffer(iceRestart: boolean): Promise<IOfferInfo>;
1990
- setRemoteAnswer(answer: string): Promise<RCRTCCode>;
1647
+ createOffer(iceRestart: boolean): Promise<__ASdpStrategy.IOfferInfo>;
1648
+ setRemoteAnswer(answer: string): Promise<_____.RCRTCCode>;
1991
1649
  getLocalTrack(trackId: string): RCLocalTrack | null;
1992
1650
  addLocalTrack(track: RCLocalTrack): void;
1993
1651
  removeLocalTrackById(trackId: string): void;
@@ -1998,7 +1656,7 @@ declare class RCRTCPeerConnection extends EventEmitter {
1998
1656
  /**
1999
1657
  * 获取当前已发布视频流信息
2000
1658
  */
2001
- getOutboundVideoInfo(): OutboundVideoInfo[];
1659
+ getOutboundVideoInfo(): __ASdpStrategy.OutboundVideoInfo[];
2002
1660
  private _onLocalTrackMuted;
2003
1661
  private _onLocalTrackDestroied;
2004
1662
  private _reportListener;
@@ -2022,6 +1680,14 @@ declare class RCRTCPeerConnection extends EventEmitter {
2022
1680
  * @todo
2023
1681
  */
2024
1682
  private _reportHandle;
1683
+ /**
1684
+ * 北极星上报 R3、R4 数据
1685
+ */
1686
+ private _sendR3R4Data;
1687
+ /**
1688
+ * 2s 给北极星上报一次 R3、R4
1689
+ */
1690
+ __reportR3R4ToPolaris(): Promise<void>;
2025
1691
  getRTCPeerConn(): RTCPeerConnection;
2026
1692
  destroy(): void;
2027
1693
  clearReTryExchangeTimer(): void;