ERTC SDK Android 类型定义.md

常量定义 RTCConstant

1. 码流类型

类型描述
ERTC_VIDEO_STREAM_TYPE_NULL码流类型,未订阅
ERTC_VIDEO_STREAM_TYPE_BIG码流类型,订阅大流
ERTC_VIDEO_STREAM_TYPE_SMALL码流类型,订阅小流,当发布端未发布小流时会自动订阅大流,当发布端小流发布后,会自动切换成小流
ERTC_VIDEO_STREAM_TYPE_SHARE订阅屏幕共享视频分享流

2. 填充模式

类型描述
ERTC_VIDEO_RENDER_MODE_FILL填充模式:即将画面内容居中等比缩放以充满整个显示区域,超出显示区域的部分将会被裁剪掉,此模式下画面可能不完整
ERTC_VIDEO_RENDER_MODE_FIT适应模式:即按画面长边进行缩放以适应显示区域,短边部分会被填充为黑色,此模式下图像完整但可能留有黑边。

3. 网络质量类型

onNetworkQuality回调质量参数

类型描述
ERTC_QUALITY_UNKNOWN网络类型——未定义
ERTC_QUALITY_EXCELLENT当前网络非常好
ERTC_QUALITY_GOOD当前网络一般
ERTC_QUALITY_POOR当前网络较差
ERTC_QUALITY_BAD当前网络很差
ERTC_QUALITY_VBAD当前网络不满足 ERTC 的最低要求
ERTC_QUALITY_UNSUPPORTED暂时无法检测到网络质量
ERTC_QUALITY_DETECTING网络质量检测已开始还没有完成

枚举定义

1. BavLogLevel

日志等级类型

类型描述
BAV_LOG_LEVEL_OFF关闭
BAV_LOG_LEVEL_ERRORERROR级别
BAV_LOG_LEVEL_WARNWARN级别
BAV_LOG_LEVEL_INFOINFO级别
BAV_LOG_LEVEL_DEBUGDEBUG级别
BAV_LOG_LEVEL_TRACETRACE级别

2. Scene

类型描述
VideoCall视频通话

3. ERTCVideoResolution

类型描述
ERTCVideoResolution_120_120宽高比 1:1;分辨率 120x120;建议码率(VideoCall)80kbps; 建议码率(LIVE)120kbps
ERTCVideoResolution_160_160宽高比 1:1;分辨率 120x120;建议码率(VideoCall)80kbps; 建议码率(LIVE)120kbps
ERTCVideoResolution_270_270宽高比 1:1;分辨率 270x270;建议码率(VideoCall)200kbps; 建议码率(LIVE)300kbps
ERTCVideoResolution_480_480宽高比 1:1;分辨率 480x480;建议码率(VideoCall)350kbps; 建议码率(LIVE)500kbps
ERTCVideoResolution_160_120宽高比4:3;分辨率 160x120;建议码率(VideoCall)100kbps; 建议码率(LIVE)150kbps
ERTCVideoResolution_240_180宽高比 4:3;分辨率 240x180;建议码率(VideoCall)150kbps; 建议码率(LIVE)250kbps
ERTCVideoResolution_280_210宽高比 4:3;分辨率 280x210;建议码率(VideoCall)200kbps; 建议码率(LIVE)300kbps
ERTCVideoResolution_320_240宽高比 4:3;分辨率 320x240;建议码率(VideoCall)250kbps; 建议码率(LIVE)375kbps
ERTCVideoResolution_400_300宽高比 4:3;分辨率 400x300;建议码率(VideoCall)300kbps; 建议码率(LIVE)450kbps
ERTCVideoResolution_480_360宽高比 4:3;分辨率 480x360;建议码率(VideoCall)400kbps; 建议码率(LIVE)600kbps
ERTCVideoResolution_640_480宽高比 4:3;分辨率 640x480;建议码率(VideoCall)600kbps; 建议码率(LIVE)900kbps
ERTCVideoResolution_960_720宽高比 4:3;分辨率 960x720;建议码率(VideoCall)1000kbps; 建议码率(LIVE)1500kbps
ERTCVideoResolution_160_90宽高比 16:9;分辨率 160x90;建议码率(VideoCall)150kbps; 建议码率(LIVE)250kbps
ERTCVideoResolution_256_144宽高比 16:9;分辨率 256x144;建议码率(VideoCall)200kbps; 建议码率(LIVE)300kbps
ERTCVideoResolution_320_180宽高比 16:9;分辨率 320x180;建议码率(VideoCall)250kbps; 建议码率(LIVE)400kbps
ERTCVideoResolution_480_270宽高比 16:9;分辨率 480x270;建议码率(VideoCall)350kbps; 建议码率(LIVE)550kbps
ERTCVideoResolution_640_360宽高比 16:9;分辨率 640x360;建议码率(VideoCall)500kbps; 建议码率(LIVE)900kbps
ERTCVideoResolution_960_540宽高比 16:9;分辨率 960x540;建议码率(VideoCall)850kbps; 建议码率(LIVE)1300kbps
ERTCVideoResolution_1280_720宽高比 16:9;分辨率 1280x720;建议码率(VideoCall)1200kbps; 建议码率(LIVE)1800kbps
ERTCVideoResolution_1920_1080宽高比 16:9;分辨率 1920x1080;建议码率(VideoCall)2000kbps; 建议码率(LIVE)3000kbps

常用结构

1. RTCEngineConfig

初始化数据结构

字段名类型说明
contextContext上下文
appIdStringappId
accessTokenStringaccessToken
logPathString日志路径,可以不设置
logLevelint日志等级 参考:com.ez.baselib.utils.LogUtil

1. RTCConstant.EnterParam

入会数据结构

字段名类型说明
userIdString用户
roomIdString房间号
tokenStringtoken

1. ERTCVideoEncParam

视频编码参数

字段名类型说明
videoResolutionERTCVideoResolution视频分辨率 如需使用竖屏分辨率,请指定 resMode 为 Portrait,例如: 640 × 360 + Portrait = 360 × 640
videoFpsint视频采集帧率 15fps或20fps。5fps以下,卡顿感明显。10fps以下,会有轻微卡顿感。20fps以上,会浪费带宽(电影的帧率为24fps)
videoBitrateint目标视频码率,单位Kbps,SDK 会按照目标码率进行编码,只有在弱网络环境下才会主动降低视频码率

2. AudioVolumeInfo

音量信息参数

字段名类型说明
userIdString说话者的 userId, 如果 userId 为0则代表是当前用户自己
volumeint说话者的音量大小, 取值范围[0 - 100]

3. ERTCLocalVideoStats

本地视频实时数据,质量监听时用

public void setRtcStatsListener(RTCStatsListener rtcStatsListener)

字段名类型说明
widthint视频宽
heightint视频高
sentBitrateint视频传输码率(上行)
sentFrameRateint帧率大小
streamTypeint流类型 0:大码流 1:小码流 2:屏幕共享流
packetCountint发视频总包数
compensateLossRateint补偿后丢包率

4. ERTCLocalAudioStats

本地音频实时数据,质量监听时用

public void setRtcStatsListener(RTCStatsListener rtcStatsListener)

字段名类型说明
sentBitrateint音频传输码率
packetLossRateint音频丢包率
packetCountint发音频总包数

5. ERTCRemoteVideoStats

远程视频实时数据,质量监听时用

public void setRtcStatsListener(RTCStatsListener rtcStatsListener)

字段名类型说明
userIdString远端视频用户ID
receivedBitrateint远端视频传输码率(下行)
receivedFrameRateint远端帧率大小
packetLossRateint远端视频丢包率(下行)
totalFrozenTimeint远端视频总的卡顿时长
frozenRateint远端视频卡顿比
streamTypeint流类型 0:大码流 1:小码流 2:屏幕共享流
widthint视频宽
heightint视频高
packetCountint接收视频总包数
uncompensateLossint视频补偿前丢包率(%)

ERTCRemoteAudioStats

远端音频实时数据,质量监听时用

public void setRtcStatsListener(RTCStatsListener rtcStatsListener)

字段名类型说明
userIdString远端视频用户ID
receivedBitrateint远端音频传输码率(下行)
packetLossRateint远端音频丢包率(下行)
totalFrozenTimeint远端音频总的卡顿时长
frozenRateint远端音频卡顿比
packetCountint接收音频总包数
plcPacketCountint音频帧补偿数量
uncompensateLossint音频补偿前丢包率(%)
totalTimeint播放音频总时间

SpeedTestResult

速度测试结果回调数据结构 public void setSpeedTestListener(RTCSpeedTestListener listener)

字段名类型说明
successboolean测试是否成功
qualityint内部通过评估算法测算出的网络质量
upLostRateint上行丢包率,取值范围是 [0 - 100],例如 30% 表示每向服务器发送 10 个数据包可能会在中途丢失 3 个
downLostRateint下行丢包率,取值范围是 [0 - 100],例如 20% 表示每从服务器收取 10 个数据包可能会在中途丢失 2 个
rttint延迟(毫秒),指当前设备到 服务器的一次网络往返时间,该值越小越好,正常数值范围是10ms - 100ms
availableUpBandwidthint上行带宽(kbps,-1:无效值)
availableDownBandwidthint下行带宽(kbps,-1:无效值)
stsConnectint流媒体服务器连接情况

萤石致力于成为全球领先的智能视觉物联网服务商,构建了全球领先的视觉物联网云平台,打造了硬件产品+软件云服务一体化的物联网服务体系。萤石云通过构建多数据中心+就近服务点的方式服务于全球客户。截至2025 年底,萤石物联网云平台在全球拥有超过120 个数据站点,平台上的IoT 设备接入数超过3.6 亿,其中视频类设备超过3 亿。在夯实自身平台能力的基础上,萤石进一步开放技术能力,将物联价值延伸至千行百业。萤石开放平台深度融合AI中台能力,涵盖音视频多媒体、消息通知处理、智能算法调度、视频存储备份、ERTC、大数据、物联接入等,已为智慧连锁、智慧养老、文教娱乐、畜牧养殖等42万余位行业客户提供数智化转型升级支撑;萤石物联专有云支持专有化部署,助力中大型企业和组织的数字化转型升级。

Logo

火山引擎视频云技术社区,是面向 AI 音视频开发者的技术交流平台。这里汇聚源自抖音、豆包等亿级 DAU 产品的 RTC、直播、点播、AI 媒体处理、音视频互动技术,提供接入指南、最佳实践、性能调优、场景案例、Demo 代码、开源项目、白皮书和 API 文档。社区汇聚官方工程师与一线开发者,为 AI 视频通话、数字人、AI 视频处理等应用的开发与落地提供技术支持。

更多推荐