数据类型
本章节列出了iOS/macOS SDK的所有数据类型,您可以结合HWRtcEngine接口和回调进行开发。
类型 |
描述 |
---|---|
用户信息 |
|
入会信息 |
|
视频编码 |
|
设备信息 |
|
日志级别 |
|
用户角色 |
|
媒体类型 |
|
视频渲染模式 |
|
流类型 |
|
声音播放模式 |
|
视频角度 |
|
音频路由 |
|
设备类型 |
|
设备状态 |
|
网络连接状态改变原因 |
|
网络连接状态 |
|
预览视图 |
|
卡顿统计信息 |
|
视频镜像类型 |
|
远端音频流状态 |
|
远端音频流状态改变的原因 |
|
远端视频流状态 |
|
远端视频流状态改变的原因 |
|
离开房间的原因 |
|
发言人音量信息 |
|
媒体方向 |
|
音频播放类型 |
|
音频格式 |
|
视频帧图片存储格式 |
|
视频帧缓冲区存储类型 |
|
视频帧图片格式 |
|
音频数据信息 |
|
视频数据信息 |
|
音频文件信息 |
|
入会前网络检测配置 |
|
入会前网络检测回调结果 |
|
入会前网络检测回调网络状态 |
|
入会前网络检测回调网络质量信息 |
|
入会前网络检测回调网络质量等级 |
|
视频信息 |
|
音频信息 |
|
大小流类型 |
|
视频编码比例模式 |
|
重力感应模式选择 |
|
本地音频流状态 |
|
本地音频流状态发生变化原因 |
|
本地视频流状态 |
|
本地视频流状态发生变化原因 |
|
网络质量信息 |
|
远端音频模式 |
|
会话统计信息 |
|
音频文件播放状态 |
|
音频文件播放状态变化原因 |
|
本端视频统计回调 |
|
远端视频统计回调 |
|
本端音频统计回调 |
|
远端音频统计回调 |
|
媒体选参 |
|
美颜参数 |
|
端到端加密参数 |
|
rtmp推流回调url状态列表 |
|
方向(横竖屏) |
|
媒体连接状态 |
|
代理参数的配置 |
|
采集数据回调的处理模式 |
|
RTMP推流设置参数模型 |
|
RTMP推流流类型模型 |
|
RTMP推流模型 |
|
音频文件参数 |
|
音量测试回调 |
|
RTMP url数据模型 |
|
摄像头配置参数 |
|
摄像头方向 |
|
辅流编码能力 |
|
音频设备测试回调数据 |
|
代理配置 |
|
共享资源信息 |
|
共享对象参数 |
|
共享类型枚举 |
|
带宽设置参数 |
|
麦克风设备状态 |
|
跨房配置 |
|
源房间信息 |
|
目标房间信息 |
|
跨房状态 |
|
跨房状态码 |
HWRtcUserInfo
属性 |
类型 |
描述 |
---|---|---|
userId |
NSString |
用户ID |
userName |
NSString |
用户昵称 |
signature |
NSString |
鉴权签名,具体生成方法请参见17-接入鉴权 |
ctime |
long long |
鉴权时间戳 |
optionInfo |
NSString |
其他信息 |
role |
用户角色 |
HWRtcJoinParam
属性 |
类型 |
描述 |
---|---|---|
userId |
NSString |
用户ID,支持最大长度64,支持数字、字母大小写、下划线、中线、"."字符 |
userName |
NSString |
用户昵称,支持最大长度128 |
ctime |
long long |
签名时间戳,单位秒,有signature时必选 |
authorization |
NSString |
|
role |
角色 |
|
optionalInfo |
NSString |
其他信息 |
roomId |
NSString |
房间Id,支持最大长度64,支持数字、字母大小写、下划线、中线字符 |
autoSubscribeVideo |
bool |
是否自动订阅视频 |
autoSubscribeAudio |
bool |
是否自动订阅音频 |
scenario |
使用的场景
|
HWRtcVideoEncode
属性 |
类型 |
描述 |
---|---|---|
streamFlag |
视频编码类型,根据HWRtcStreamType和表57 不同分辨率下帧率和码率的推荐值设置需要的分辨率和宽高比 |
|
width |
int |
视频分辨率宽 |
height |
int |
视频分辨率高 |
frameRate |
int |
|
minFrameRate |
int |
视频最小帧率,大于0,小于frameRate |
bitrate |
int |
|
minBitrate |
int |
视频最小码率,大于0,小于bitrate |
disableAdjustRes |
bool |
上行流是否自适应,推荐开启自适应(即disableAdjustRes赋NO) |
HWRtcAudioQualityLevel
枚举值 |
描述 |
---|---|
HWRtcAudioQualityLevelDefault |
默认值,表示使用采样率16KHZ、单声道、编码码率,最大值为30Kbps |
HWRtcLogLevel
枚举值 |
描述 |
---|---|
HWRtcLogLevelError |
输出ERROR级别日志 |
HWRtcLogLevelWarning |
输出WARNING级别日志 |
HWRtcLogLevelInfo |
输出INFO级别日志 |
HWRtcLogLevelDebug |
输出DEBUG级别日志 |
HWRtcEngineConfig
属性 |
类型 |
描述 |
---|---|---|
appId |
NSString |
应用ID,只有App ID相同的应用程序才能进入同一个房间进行互动。appId获取方法请参见应用管理 |
countryCode |
NSString |
国家码,具体值请参见国家码对照表 |
enableHaTrace |
BOOL |
打点开关 |
muteAudioRoute |
BOOL |
是否禁音频路由 |
enableLog |
BOOL |
是否记录日志 |
logLevel |
HWRtcLogLevel |
日志级别,具体请参见HWRtcLogLevel,默认值为HWRtcLogLevelDebug,推荐使用HWRtcLogLevelDebug |
logPath |
NSString |
日志路径,需调用方保证路径合法可用,rtc仅做基础校验 |
logSize |
int |
日志大小,默认值10M,推荐10M |
HWRtcVideoDisplayMode
枚举值 |
描述 |
---|---|
HWRtcVideoDisplayModeFit |
优先保证视频内容全部显示,视频尺寸等比缩放,直至视频窗口的一边与视窗边框对齐。如果视频长宽与显示窗口不同,视窗上未被填满的区域将被涂黑 |
HWRtcVideoDisplayModeHIDDEN, |
优先保证视窗被填满,视频尺寸等比缩放,直至整个视窗被视频填满。如果视频长宽与显示窗口不同,多出的视频将被截掉 |
HWRtcVideoDisplayModeFill, |
视频尺寸进行缩放和拉伸以充满显示视窗 |
HWRtcVideoRotation
枚举值 |
描述 |
---|---|
HWRtcVideoRotation0 |
视频角度0度 |
HWRtcVideoRotation90 |
视频角度90度 |
HWRtcVideoRotation180 |
视频角度180度 |
HWRtcVideoRotation270 |
视频角度270度 |
HWRtcAudioRoute
枚举值 |
描述 |
---|---|
HWRtcAudioRouteSpeaker |
扬声器 |
HWRtcAudioRouteBluetooth |
蓝牙 |
HWRtcAudioRouteReceiver |
听筒 |
HWRtcAudioRouteHeadset |
耳机 |
HWRtcDeviceType
设备类型,MAC SDK使用。
枚举值 |
描述 |
---|---|
HWRtcDeviceTypePlayback |
音频播放设备 |
HWRtcDeviceTypeRecording |
音频录制设备 |
HWRtcDeviceTypeVideoCapture |
视频采集设备 |
HWRtcDeviceState
设备状态,MAC SDK使用。
枚举值 |
描述 |
---|---|
HWRtcDeviceStateActicve |
设备状态活跃的 |
HWRtcDeviceStateDisabled |
设备状态不使能的 |
HWRtcDeviceStateUnplugged |
设备状态断开的 |
HWRtcConnChangeReason
枚举值 |
描述 |
---|---|
HWRtcConnChangeConnecting |
正在连接 |
HWRtcConnChangeJoinSuccess |
加入房间成功 |
HWRtcConnChangeReconnecting |
重连中 |
HWRtcConnChangeReconnectSuccess |
重连成功 |
HWRtcConnChangeJoinFailed |
加入房间失败 |
HWRtcConnChangeReconncetFailed |
重连失败 |
HWRtcConnChangeInterrupted |
连接中断 |
HWRtcConnChangeKeepAliveTimeout |
心跳超时 |
HWRtcConnChangeLeaveRoom |
主动离开房间 |
HWRtcConnChangeJoinServerError |
服务器异常 |
HWRtcConnChangeSFUBreakdown |
sfu服务故障 |
HWRtcConnChangeJoinRoomAuthFailed |
鉴权失败,appid或者签名错误 |
HWRtcConnChangeJoinRoomAuthRetry |
鉴权重试 |
HWRtcConnChangeJoinRoomAuthClockSync |
时钟同步 |
HWRtcConnChangeUrlNotRight |
URL错误400 |
HWRtcConnChangeJoinRoomServiceUnreachable |
服务不可达503 |
HWRtcConnChangeInternalError |
内部错误 |
HWRtcConnChangeKickedOff |
被踢 |
HWRtcConnChangeSignatureExpired |
签名过期 |
HWRtcConnStateType
枚举值 |
描述 |
---|---|
HWRtcConnStateTypeDisconnected |
连接断开 |
HWRtcConnStateTypeConnecting |
建立网络连接中 |
HWRtcConnStateTypeConnected |
网络连接成功 |
HWRtcConnStateTypeReconnecting |
重新建立网络连接中 |
HWRtcConnStateTypeFailed |
网络连接失败 |
HWRtcConnStateTypeLost |
失去网络10秒 |
HWRtcConnStateTypeInterrupted |
SDK在和服务器建立连接后,失去网络连接超过4秒 |
HWRtcVideoCanvas
属性 |
描述 |
---|---|
@property (strong, nonatomic) UIView* _Nullable view; |
视频显示视图,使用跟系统的UIView/NSView一样 |
@property (assign, nonatomic) NSString uid; |
视图的用户标识 |
HWRtcStatsInfo
属性 |
描述 |
---|---|
@property (strong, nonatomic) NSString *roomId; |
房间ID |
@property (strong, nonatomic) NSString *userId; |
用户ID |
@property (assign, nonatomic) long long mildlyFrozenCounts; |
400ms卡顿次数 |
@property (assign, nonatomic) long long severelyFrozenCounts; |
超过1s卡顿次数 |
@property (assign, nonatomic) long long totalMildlyFrozenTime; |
400ms卡顿总时长 |
@property (assign, nonatomic) long long totalSeverelyFrozenTime; |
1s卡顿总时长 |
@property (assign, nonatomic) long long totalActiveTime; |
总时间,包括每一路选看时间总和 |
HWRtcVideoMirrorType
枚举值 |
描述 |
---|---|
HWRtcVideoMirrorTypeAuto |
SDK决定镜像方式:前置摄像头镜像,后置摄像头不镜像 |
HWRtcVideoMirrorTypeEnable |
前置摄像头和后置摄像头都镜像 |
HWRtcVideoMirrorTypeDisable |
前置摄像头和后置摄像头都不镜像 |
HWRtcRemoteAudioState
枚举值 |
描述 |
---|---|
HWRtcRemoteAudioStateStopped |
远端音频流关闭发送 |
HWRtcRemoteAudioStateDecoding |
远端音频流正常编码发送 |
HWRtcRemoteAudioStateFirstDecoded |
远端音频流首包解码 |
HWRtcRemoteAudioStateReason
枚举 |
描述 |
---|---|
HWRtcRemoteAudioStateReasonRemoteOffline |
远端用户离线 |
HWRtcRemoteAudioStateReasonRemoteMuted |
远端用户停止音频流发送 |
HWRtcRemoteAudioStateReasonRemoteUnmuted |
远端用户开启音频流发送 |
HWRtcRemoteAudioStateReasonRemoteFirstDecoded |
远端用户音频首包解码 |
HWRtcRemoteVideoState
枚举值 |
描述 |
---|---|
HWRtcRemoteVideoStateStopped |
远端视频流关闭发送 |
HWRtcRemoteVideoStateDecoding |
远端视频流正常编码发送 |
HWRtcRemoteVideoStateReason
枚举值 |
描述 |
---|---|
HWRtcRemoteVideoStateReasonRemoteOffline |
远端用户离线 |
HWRtcRemoteVideoStateReasonRemoteMuted |
远端用户停止视频流发送 |
HWRtcRemoteVideoStateReasonRemoteUnmuted |
远端用户开启视频流发送 |
HWRtcLeaveReason
枚举值 |
描述 |
---|---|
HWRtcLeaveReasonUserLeaveRoom |
用户主动离开 |
HWRtcLeaveReasonServerError |
服务器异常 |
HWRtcLeaveReasonBreakdown |
sfu服务故障 |
HWRtcLeaveReasonServiceUnreachable |
服务不可达 |
HWRtcLeaveReasonInternalError |
内部错误 |
HWRtcLeaveReasonKickedOff |
被踢 |
HWRtcLeaveReasonAuthorizationExpired |
签名过期 |
HWRtcLeaveReasonReconnectFailed |
重连超时 |
HWRtcMediaUsersVolumeInfo
属性 |
描述 |
---|---|
@property (strong, nonatomic) NSString *userId; |
用户ID |
@property (assign, nonatomic) int volume; |
音量 |
HWRtcAudioFilePlayMode
枚举 |
描述 |
---|---|
HWRtcAudioFileLocalPlayMode |
本地播放模式 |
HWRtcAudioFileRemotePlayMode |
远端播放模式 |
HWRtcVideoImageFormat
枚举 |
描述 |
---|---|
HWRtcVideoImageFormatYUV420P |
采样比例为4:2:0,存储方式为I420 |
HWRtcVideoImageFormatYUV422I |
采样比例4:2:0 |
HWRtcVideoImageFormatRGB24 |
格式为RGB |
HWRtcVideoImageFormatRGBA |
格式为RGBA |
HWRtcVideoImageBufferType
枚举 |
描述 |
---|---|
HWRtcVideoImageBufferByteArray |
Byte Array类型,对应HWRtcVideoImageFormat中的YUV、RGBA格式 |
HwRtcImageBufferFormat
属性 |
描述 |
---|---|
@property HWRtcVideoImageFormat format; |
视频帧图片存储格式,具体请参见HWRtcVideoImageFormat |
@property HWRtcVideoImageBufferType bufferType; |
视频帧缓冲区存储类型,具体请参见HWRtcVideoImageBufferType |
HWRtcAudioFrame
属性 |
描述 |
---|---|
@property (nonatomic, assign) HWRtcAudioFrameType frameType; |
音频帧类型,具体请参见HWRtcAudioFrameType |
@property (nonatomic, assign) NSUInteger samples; |
每个声道的采样点数,iSamples=iSamplesPerSec * 10ms /1000 |
@property (nonatomic, assign) NSUInteger samplesPerSec; |
采样率 |
@property (nonatomic, assign) NSUInteger bytesPerSample; // bitsPerSample |
每个采样点的字节数,pcm数据一般2字节 |
@property (nonatomic, assign) NSUInteger channels; |
声道数 |
@property (strong, nonatomic) NSData * _Nullable data; |
数据缓冲区,长度=samples*bytesPerSample*channels |
HWRtcVideoFrame
属性 |
描述 |
---|---|
@property (assign, nonatomic) HWRtcVideoImageFormat format; |
图像格式 ,具体请参见HWRtcVideoImageFormat |
@property (assign, nonatomic) NSUInteger width; |
图像宽度,作为输入时,范围为[90,1920],必须是4的整数倍 |
@property (assign, nonatomic) NSUInteger height; |
图像高度,作为输入时,范围为[90,1200],必须是2的整数倍 |
@property (strong, nonatomic) NSData * _Nullable data; |
存储视频数据的buf地址 |
@property (assign, nonatomic) NSUInteger dataLen; |
视频数据的长度,单位为Byte |
@property (strong, nonatomic) NSString *userId; |
被选看的远端用户本地推流不需要赋值 |
HWRtcStartAudioFileParam
属性 |
描述 |
---|---|
@property (nonatomic, strong) NSString * _Nonnull fullFilePath; |
文件路径 |
@property (nonatomic, assign) HWRtcAudioFilePlayMode playMode; |
播放类型,具体请参见HWRtcAudioFilePlayMode |
@property (nonatomic, assign) NSUInteger cycle; |
循环次数 |
@property (nonatomic, assign) NSUInteger replace; |
远端模式下面是否需要和麦克风做混音 |
HWRtcNetworkTestConfig
属性 |
描述 |
---|---|
@property (strong, nonatomic) NSString * _Nonnull userId |
用户id |
@property (strong, nonatomic) NSString * _Nonnull roomId |
房间ID,roomid建议由userid+随机数组成 |
@property (strong, nonatomic) NSString *signature |
必选,签名信息 |
@property (nonatomic, assign) long long ctime |
必选,系统时间 |
@property (assign, nonatomic) BOOL enableUplinkTest |
启动上行网络检测开关 |
@property (assign, nonatomic) BOOL enableDownlinkTest |
启动下行网络检测开关 |
@property (nonatomic, assign) NSUInteger expectedUplinkBitrate |
用户期望的最高发送码率,单位为bps,范围为0以及[100000, 5000000],设为0表示由SDK指定最高码率 |
@property (nonatomic, assign) NSUInteger expectedDownlinkBitrate |
用户期望的最高接收码率,单位为bps,范围为0以及[100000, 5000000],设为0表示由SDK指定最高码率 |
HWRtcNetworkTestResult
属性 |
描述 |
---|---|
@property (assign, nonatomic) HWRtcNetworkTestState state |
检测网络状态,具体请参见HWRtcNetworkTestState |
@property (nonatomic, strong) HWRtcNetworkTestResultParam *uplinkResult |
上行网络检测状态,具体请参见HWRtcNetworkTestResultParam |
@property (nonatomic, strong) HWRtcNetworkTestResultParam * downlinkResult |
下行网络检测状态,具体请参见HWRtcNetworkTestResultParam |
HWRtcNetworkTestResultParam
属性 |
描述 |
---|---|
@property (nonatomic, assign) NSInteger bitRate |
码率 |
@property (nonatomic, assign) NSInteger packetLoss |
丢包 |
@property (nonatomic, assign) NSInteger delay |
延时 |
@property (nonatomic, assign) NSInteger jitter |
抖动 |
HWRtcVideoStatsInfo
属性 |
描述 |
---|---|
@(strong, nonatomic) NSString *userId; |
用户ID(本地视频信息为空) |
@ (assign, nonatomic) NSUInteger width; |
视频宽 |
@ (assign, nonatomic) NSUInteger height; |
视频高 |
@ (assign, nonatomic) NSUInteger bitRate; |
视频码率 |
@ (assign, nonatomic) NSUInteger frameRate; |
视频帧率 |
@ (assign, nonatomic) NSUInteger packetLoss; |
视频丢包率 |
@ (assign, nonatomic) NSUInteger delay; |
视频时延 |
@ (assign, nonatomic) NSUInteger jitter; |
视频抖动 |
HWRtcAudioStatsInfo
属性 |
描述 |
---|---|
@(strong, nonatomic) NSString *userId; |
用户ID(本地音频信息为空) |
@ (assign, nonatomic) NSUInteger sampleRate; |
音频采样率 |
@ (assign, nonatomic) NSUInteger channels; |
音频声道数 |
@ (assign, nonatomic) NSUInteger bitRate; |
音频码率 |
@ (assign, nonatomic) NSUInteger packetLoss; |
音频丢包率 |
@ (assign, nonatomic) NSUInteger delay; |
音频时延 |
@ (assign, nonatomic) NSUInteger jitter; |
音频抖动 |
HWRtcNetworkQualityLevel
属性 |
描述 |
---|---|
HWRtcNetworkQualityUnknown |
网络质量未知 |
HWRtcNetworkQualityExcellent |
网络质量非常好 |
HWRtcNetworkQualityGood |
网络质量好 |
HWRtcNetworkQualityPoor |
网络质量一般 |
HWRtcNetworkQualityBad |
网络质量差 |
HWRtcNetworkQualityVbad |
网络质量非常差 |
HWRtcVideoEncodeResolutionMode
属性 |
描述 |
---|---|
HWRtcVideoEncodeResolutionModeNone |
不固定比例 |
HWRtcVideoEncodeResolutionModeConstRatio |
固定比例 |
HWRtcGSensorMode
属性 |
描述 |
---|---|
HWRtcGSensorModeDisable |
关闭重力感应 |
HWRtcGSensorModeUIAutoLayout |
开启重力感应 注意:SDK不会根据陀螺仪自动调整本地View的画面方向,而是需要您的APP开启了重力感应进行适配 |
HWRtcLocalAudioState
属性 |
描述 |
---|---|
HWRtcLocalAudioStateStopped |
本地音频流默认初始状态 |
HWRtcLocalAudioStateRecording |
本地音频流录制设备启动成功 |
HWRtcLocalAudioStateFailed |
本地音频流启动失败 |
HWRtcLocalAudioStateReason
属性 |
描述 |
---|---|
HWRtcLocalAudioReasonErrorOk |
本地音频流状态正常 |
HWRtcLocalAudioReasonErrorFailure |
本地音频流出错原因不明确 |
HWRtcLocalAudioReasonErrorRecordFailure |
本地音频流录制失败,建议您检查录制设备是否正常工作 |
HWRtcLocalAudioReasonErrorStopFailure |
关闭采集失败 |
HWRtcLocalAudioReasonErrorAccessDenied |
音频设备API无法访问,可能是设备隐私权限设置问题 |
HWRtcLocalAudioReasonErrorOnExclusiveMode |
音频设备处于独占模式,且被其他应用独占 |
HWRtcLocalAudioReasonErrorMmsyserrInvalparam |
音频设备API非法参数(仅适用于windows) |
HWRtcLocalAudioReasonErrorMmsyserrNodriver |
音频设备API返回无驱动,需要用户升级驱动(仅适用于windows) |
HWRtcLocalAudioReasonErrorAudioServerNotRunning |
用户windows audio服务未启动,或者启动失败(仅适用于windows) |
HWRtcLocalAudioReasonErrorNoDevice |
没有设备(仅适用于windows) |
HWRtcLocalAudioReasonErrorRestartFailed |
扬声器播放无数据,重启失败 |
HWRtcLocalVideoState
属性 |
描述 |
---|---|
HWRtcLocalVideoStateStopped |
本地视频流默认初始状态 |
HWRtcLocalVideoStateCapturing |
本地视频流采集设备启动成功 |
HWRtcLocalVideoStateFailed |
本地视频流启动失败 |
HWRtcLocalVideoStateReason
属性 |
描述 |
---|---|
HWRtcLocalVideoReasonErrorOk |
本地视频流状态正常 |
HWRtcLocalVideoReasonErrorFailure |
本地视频流出错原因不明确 |
HWRtcLocalVideoReasonErrorCaptureFailure |
本地视频流录制失败,建议您检查录制设备是否正常工作 |
HWRtcLocalVideoReasonErrorStopFailure |
关闭采集失败 |
HWRtcLocalVideoReasonErrorCaptureDeviceNoPermission |
没有摄像头权限 |
HWRtcLocalVideoReasonErrorCaptureDeviceBusy |
摄像头设备已占用 |
HWRtcLocalVideoReasonErrorCaptureAppInBackground |
应用处于后台 |
HWRtcLocalVideoReasonErrorCaptureOpenCameraFailed |
打开摄像头设备失败(仅支持iOS) |
HWRtcLocalVideoReasonErrorCaptureMultipleForegroundApp |
应用窗口处于侧拉、分屏、画中画模式(仅支持iOS) |
HWRtcLocalVideoReasonErrorCaptureMultipleDeviceDisconnected |
本地视频采集设备未连接(仅支持macOS) |
HWRtcQualityInfo
属性 |
描述 |
---|---|
@property (strong, nonatomic) NSString *userId; |
用户ID |
@property (assign, nonatomic) HWRtcNetworkQualityLevel level; |
网络质量等级 |
@property (assign, nonatomic) NSUInteger width; |
宽度 |
@property (assign, nonatomic) NSUInteger height; |
高度 |
HWRtcNetworkQualityLevel
属性 |
描述 |
---|---|
HWRtcNetworkQualityUnknown |
网络质量未知 |
HWRtcNetworkQualityExcellent |
网络质量非常好 |
HWRtcNetworkQualityGood |
网络质量好 |
HWRtcNetworkQualityPoor |
网络质量一般 |
HWRtcNetworkQualityBad |
网络质量差 |
HWRtcNetworkQualityVbad |
网络质量非常差 |
HWRtcRemoteAudioMode
枚举值 |
描述 |
---|---|
HWRtcRemoteAudioSubscribe= 0 |
订阅模式(自主订阅) |
HWRtcRemoteAudioTopThre= 1 |
TopN模式(收音量最大的三路流) |
HRTC_REMOTE_AUDIO_P2P= 2 |
P2P模式 |
HRTC_REMOTE_AUDIO_RTSA_CMD =3 |
RTSA-CMD模式 |
分辨率 |
分辨率类型 |
比例 |
最小帧率(fps) |
最大帧率(fps) |
最小码率 |
最大码率 |
---|---|---|---|---|---|---|
320 X 180 |
SD |
16:9 |
10 |
30 |
80 |
600 |
480 X 270 |
HD |
16:9 |
10 |
30 |
160 |
1050 |
640 X 360 |
HD |
16:9 |
10 |
30 |
200 |
1700 |
800 X 450 |
FHD |
16:9 |
10 |
30 |
300 |
2100 |
960 X 540 |
FHD |
16:9 |
10 |
30 |
400 |
2400 |
1120 X 630 |
FHD |
16:9 |
10 |
30 |
450 |
2800 |
1280 X 720 |
FHD |
16:9 |
10 |
30 |
500 |
4000 |
120 X 90 |
LD |
4:3 |
10 |
30 |
64 |
240 |
160 X 120 |
SD |
4:3 |
10 |
30 |
64 |
270 |
240 X 180 |
SD |
4:3 |
10 |
30 |
80 |
450 |
320 X 240 |
HD |
4:3 |
10 |
30 |
100 |
600 |
400 X 300 |
HD |
4:3 |
10 |
30 |
200 |
900 |
480 X 360 |
HD |
4:3 |
10 |
30 |
200 |
1000 |
640 X 480 |
FHD |
4:3 |
10 |
30 |
250 |
1800 |
960 X 720 |
FHD |
4:3 |
10 |
30 |
450 |
3000 |
分辨率 |
推荐帧率 |
通信场景推荐码率 |
直播场景推荐码率 |
---|---|---|---|
160 X 90 |
15 |
90 |
180 |
320 X 180 |
15 |
200 |
400 |
480 X 270 |
15 |
350 |
700 |
640 X 360 |
15 |
450 |
900 |
640 X 360 |
30 |
850 |
1700 |
800 X 450 |
15 |
700 |
1400 |
800 X 450 |
30 |
1050 |
2100 |
960 X 540 |
15 |
850 |
1700 |
960 X 540 |
30 |
1200 |
2400 |
1120 X 630 |
15 |
950 |
1900 |
1120 X 630 |
30 |
1400 |
2800 |
1280 X 720 |
15 |
1200 |
2400 |
1280 X 720 |
30 |
2000 |
4000 |
120 X 90 |
15 |
80 |
160 |
160 X 120 |
15 |
90 |
180 |
240 X 180 |
15 |
150 |
300 |
320 X 240 |
15 |
200 |
400 |
400 X 300 |
15 |
300 |
600 |
480 X 360 |
15 |
350 |
700 |
480 X 360 |
30 |
500 |
1000 |
640 X 480 |
15 |
600 |
1200 |
640 X 480 |
30 |
900 |
1800 |
960 X 720 |
15 |
1000 |
2000 |
960 X 720 |
30 |
1500 |
3000 |
HRTCOnStats
属性 |
类型 |
描述 |
---|---|---|
cpuAppUsage |
double |
app的cpu利用率,单位(%) |
cpuTotalUsage |
double |
cpu总利用率,单位(%) |
memoryAppUsageInKbytes |
int |
app占用内存,单位KB |
memoryAppUsageRatio |
double |
app占用的内存率,单位(%) |
memoryTotalUsageRatio |
double |
总的内存利用率,单位(%) |
gatewayRtt |
int |
到本地网关的延迟,单位ms |
sendBytes |
long |
总的发送字节数,单位bytes |
sendVideoBytes |
long |
视频的发送字节数,单位bytes |
sendAudioBytes |
long |
音频的发送字节数,单位bytes |
receiveBytes |
long |
总的接收字节数,单位bytes |
receiveVideoBytes |
long |
视频的接收字节数,单位bytes |
receiveAudioBytes |
long |
音频的接收字节数,单位bytes |
sendBitRate |
int |
总的发送比特率,单位Kbps |
sendVideoBitRate |
int |
视频的发送比特率,单位Kbps |
sendAudioBitRate |
int |
音频的发送比特率,单位Kbps |
receiveBitRate |
int |
总的接收比特率,单位Kbps |
receiveVideoBitRate |
int |
视频的接收比特率,单位Kbps |
receiveAudioBitRate |
int |
音频的接收比特率,单位Kbps |
sendLossRate |
int |
发送丢包率,单位(%) |
receiveLossRate |
int |
接收丢包率,单位(%) |
lastmileDelay |
int |
到服务器的延迟,单位ms |
HWRtcAudioFileState
属性 |
描述 |
---|---|
HWRtcAudioFileOpenCompleted |
成功打开音频文件 |
HWRtcAudioFileOpening |
正在打开音频文件 |
HWRtcAudioFileIdle |
音频文件播放就绪 |
HWRtcAudioFilePlaying |
音频文件播放中 |
HWRtcAudioFilePlayCompleted |
音频文件播放完成 |
HWRtcAudioFilePaused |
音频文件暂停播放 |
HWRtcAudioFileStopped |
音频文件停止播放 |
HWRtcAudioFileFailed |
音频文件播放失败 |
HWRtcAudioFilePositionUpdate |
音频文件播放进度更新 |
HWRtcAudioFileStateUnknown |
音频文件播放状态未知 |
HWRtcAudioFileReason
枚举值 |
描述 |
---|---|
HWRtcAudioFileReasonNone |
没有错误 |
HWRtcAudioFileReasonUrlNotFound |
未找到URL |
HWRtcAudioFileReasonCodecNotSupported |
解码器不支持该编码 |
HWRtcAudioFileReasonInvalidArguments |
非法参数 |
HWRtcAudioFileReasonSrcBufferUnderflow |
播放缓冲区数据不足 |
HWRtcAudioFileReasonInterval |
内部错误 |
HWRtcAudioFileReasonInvalidState |
播放器内部状态错误 |
HWRtcAudioFileReasonNoResource |
没有该资源 |
HWRtcAudioFileReasonObjNotInitialized |
对象未初始化 |
HWRtcAudioFileReasonInvalidConnectionState |
播放器与服务器连接无效 |
HWRtcAudioFileReasonUnknowdStreamType |
未知的媒体流类型 |
HWRtcAudioFileReasonVideoRenderFailed |
渲染失败 |
HWRtcAudioFileReasonInvalidMediaSource |
无效的媒体资源 |
HWRtcAudioFileReasonUnknown |
状态未知 |
HWRtcLocalVideoStats
枚举值 |
描述 |
---|---|
@(strong, nonatomic) NSString *userId; |
用户ID(本地视频信息为空) |
@ (assign, nonatomic) NSUInteger width; |
视频宽 |
@ (assign, nonatomic) NSUInteger height; |
视频高 |
@ (assign, nonatomic) NSUInteger bitRate; |
视频码率 |
@ (assign, nonatomic) NSUInteger frameRate; |
视频帧率 |
@ (assign, nonatomic) NSUInteger packetLoss; |
视频丢包率 |
@ (assign, nonatomic) NSUInteger delay; |
视频时延 |
@ (assign, nonatomic) NSUInteger jitter; |
视频抖动 |
@ (assign, nonatomic) long long bytes; |
字节数 |
@ (assign, nonatomic) NSUInteger sendFrameRate; |
实际发送帧率,单位:fps |
HWRtcRemoteVideoStats
枚举值 |
描述 |
---|---|
@(strong, nonatomic) NSString *userId; |
用户ID(本地视频信息为空) |
@ (assign, nonatomic) NSUInteger width; |
视频宽 |
@ (assign, nonatomic) NSUInteger height; |
视频高 |
@ (assign, nonatomic) NSUInteger bitRate; |
视频码率 |
@ (assign, nonatomic) NSUInteger frameRate; |
视频帧率 |
@ (assign, nonatomic) NSUInteger packetLoss; |
视频丢包率 |
@ (assign, nonatomic) NSUInteger delay; |
视频时延 |
@ (assign, nonatomic) NSUInteger jitter; |
视频抖动 |
@ (assign, nonatomic) long long bytes; |
字节数 |
@ (assign, nonatomic) NSUInteger sendFrameRate; |
实际发送帧率,单位:fps |
@ (assign, nonatomic) NSUInteger rendererOutputFrameRate; |
渲染帧率,单位:fps |
@ (assign, nonatomic) NSUInteger totalFrozenTime; |
远端用户在加入房间后到离开房间前,发生视频卡顿的累计时长,单位:ms |
@ (assign, nonatomic) NSUInteger frozenRate; |
远端用户在加入房间后到离开房间前,发生视频卡顿的累计时长占视频总有效时长的百分比,单位:% |
HWRtcLocalAudioStats
属性 |
描述 |
---|---|
@(strong, nonatomic) NSString *userId; |
用户ID(本地音频信息为空) |
@ (assign, nonatomic) NSUInteger sampleRate; |
音频采样率 |
@ (assign, nonatomic) NSUInteger channels; |
音频声道数 |
@ (assign, nonatomic) NSUInteger bitRate; |
音频码率 |
@ (assign, nonatomic) NSUInteger packetLoss; |
音频丢包率 |
@ (assign, nonatomic) NSUInteger delay; |
音频时延 |
@ (assign, nonatomic) NSUInteger jitter; |
音频抖动 |
HWRtcRemoteAudioStats
属性 |
描述 |
---|---|
@(strong, nonatomic) NSString *userId; |
用户ID(本地音频信息为空) |
@ (assign, nonatomic) NSUInteger sampleRate; |
音频采样率 |
@ (assign, nonatomic) NSUInteger channels; |
音频声道数 |
@ (assign, nonatomic) NSUInteger bitRate; |
音频码率 |
@ (assign, nonatomic) NSUInteger packetLoss; |
音频丢包率 |
@ (assign, nonatomic) NSUInteger delay; |
音频时延 |
@ (assign, nonatomic) NSUInteger jitter; |
音频抖动 |
@ (assign, nonatomic) NSUInteger totalFrozenTime; |
远端用户在加入房间后到离开房间前,发生音频卡顿的累计时长,单位:ms 说明:仅onRemoteAudioStatsNotify回调中携带此数据 |
@ (assign, nonatomic) NSUInteger frozenRate; |
远端用户在加入房间后到离开房间前,发生音频卡顿的累计时长占音频总有效时长的百分比,单位:% 说明:仅onRemoteAudioStatsNotify回调中携带此数据 |
HRTCSfuType
枚举值 |
描述 |
---|---|
HRTC_SFU_TYPE_PUBLIC_NETWORK |
公网sfu资源 |
HRTCMediaOptions
属性 |
类型 |
描述 |
---|---|---|
autoSubscribeAudio |
boolean |
自动选看音频 |
autoSubscribeVideo |
boolean |
自动选看视频 |
HWRtcBeautyOptions
属性 |
类型 |
描述 |
---|---|---|
buffingLevel |
float |
磨皮档位,取0-1浮点数。默认值0.5,推荐使用默认值0.5 |
complexionAlpha |
float |
肤色档位,取0-1浮点数。默认值0.5,推荐使用默认值0.5 |
HWRTCEncryptionConfig
函数&属性 |
描述 |
---|---|
@(strong, nonatomic) HWRTCCryptionMode cryptionMode; |
HWRTCCryptionMode加密模式 |
@(assign, nonatomic) HWRTCSuiteType suitType; |
HWRTCSuiteType加密算法,仅模式HWRTCCryptionModeAuthenticationSdk需要 |
@ (assign, nonatomic) NSString *cryptionSec; |
加密密钥,仅模式HWRTCCryptionModeAuthenticationSdk需要设置 |
@ (assign, nonatomic) HWRTCCryptionSecFormat cryptionSecFormat |
HWRTCCryptionSecFormat ,密钥格式,当前只支持16进制字符串 |
HWRTCCryptionMode
枚举值 |
描述 |
---|---|
HWRTCCryptionModeDefault |
不开启端到端加密,此时srtp认证(包校验)+加密 |
HWRTCCryptionModeAuthenticationSdk |
开启端到端加密,srtp只认证(包校验),sdk内部加密, 必现配置key |
HWRTCCryptionModeAuthenticationApp |
开启端到端加密,srtp只认证(包校验),应用层加密,需注册回调 |
HWRTCSuiteType
函数&属性 |
描述 |
---|---|
HWRTCSuiteType128Ctr |
加密密钥,仅模式HWRTCCryptionModeAuthenticationSdk需要设置 |
HWRTCCryptionSecFormat
枚举值 |
描述 |
---|---|
HWRTC_HEX_STRING |
16进制字符串格式。当前只支持此格式。 |
HRTCUrlStatusList
属性 |
描述 |
---|---|
char url[1025] |
url字符串 |
int status |
状态码 |
int errCode |
错误码 |
HWRtcMediaConnChangeReason
属性 |
描述 |
---|---|
HWRtcMediaConnChangedConnected |
连接成功 |
HWRtcMediaConnChangedNATFailed |
NAT未打通 |
HWRtcVideoOrientaion
枚举值 |
描述 |
---|---|
HRTC_VIDEO_ORIENTATION__LANSCAPE |
横屏 |
HRTC_VIDEO_ORIENTATION__PORTRAIT |
竖屏 |
HwRtcNetProxyConfig
属性 |
类型 |
描述 |
---|---|---|
autoNetProxy |
BOOL |
是否开启自动代理 |
address |
NSString |
代理的地址 |
port |
NSInteger |
代理端口 |
name |
NSString |
代理认证的账号名 |
pwd |
NSString |
代理认证的账号密码 |
HWRTCAudioOperateMode
属性 |
描述 |
---|---|
enum HWRTCAudioOperateMode.HWRTC_AUDIO_OPERATE_READ_AND_WRITE |
可读可写模式 |
RtmpConfigModel
属性 |
类型 |
描述 |
---|---|---|
width |
int |
旁路推流的输出视频流的总宽度,单位为px。360为默认值,取值范围为[64-1920] |
height |
int |
旁路推流的输出视频流的总高度,单位为px。640为默认值,取值范围为[64-1920] |
videoBitrate |
int |
旁路推流的输出视频的码率,单位为Kbps。默认值为400Kbps,取值范围[32-2760], |
videoFramerate |
int |
旁路推流的输出视频的帧率,单位为fps。默认值为15,取值范围为 [10,30] |
videoGop |
int |
用于旁路直播的输出视频的GOP,单位为帧。默认值为30帧,取值范围为[1-300] |
audioSampleRate |
int |
用于旁路直播的输出音频的采样率,默认16000,取值范围为[16000-96000] |
audioBitrate |
int |
旁路直播的输出音频的码率。单位为Kbps,默认值为48,最大值为128,取值范围为[1-128] |
audioChannels |
int |
旁路直播的输出音频的声道数,默认1,取值范围为[1-5] |
tmplate |
int |
0表示悬浮,1表示九宫格,2表示屏幕分享,默认为0 |
PublishStreamTypeModel
属性 |
类型 |
描述 |
---|---|---|
main |
bool |
是否推大流 |
slides |
bool |
是否推小流 |
desktop |
bool |
是否推桌面流 |
audio |
bool |
是否推音频流 |
TranscodeConfigModel
属性 |
类型 |
描述 |
---|---|---|
config |
RtmpConfigModel |
混流的配置信息 |
mapPublishStreamTypes |
NSDictionary<NSString *, PublishStreamTypeModel *> |
混流用户的流信息 |
userInfos |
NSArray<NSString *> |
混流用户信息 |
HWRtcStartAudioFileParam
属性 |
类型 |
描述 |
---|---|---|
fullFilePath |
NSString |
音频文件路径 |
playMode |
播放模式 |
|
cycle |
NSUInteger |
音频播放次数,0表示无限循环 |
replace |
NSUInteger |
是否用音频文件替换麦克风采集的声音。1表示只使用音频文件发送到远端,0表示将本地麦克风采集并和音频文件混音后发送到远端 |
HWRtcAudioDeviceTestVolumeNotify
属性 |
类型 |
描述 |
---|---|---|
recordVolume |
NSInteger |
麦克风音量值0-100 |
playbackVolume |
NSInteger |
扬声器音量值0-100 |
HWRTCCameraConfig
属性 |
类型 |
描述 |
---|---|---|
direction |
HWRtcCameraDirection |
摄像头方向枚举,具体请参见HWRtcCameraDirection |
HWRtcCameraDirection
枚举 |
描述 |
---|---|
HWRtcCameraDirectionRear |
后置摄像头 |
HWRtcCameraDirectionFront |
前置摄像头 |
HWRtcAudioDeviceTestVolumeNotify
属性 |
类型 |
描述 |
---|---|---|
recordVolume |
NSInteger |
麦克风音量 |
playbackVolume |
NSInteger |
扬声器音量 |
HwRtcNetProxyConfig
属性 |
类型 |
描述 |
---|---|---|
autoNetProxy |
BOOL |
是否开启自动代理 |
address |
NSString |
代理的地址 |
port |
NSInteger |
代理端口 |
name |
NSString |
代理认证的账号名 |
pwd |
NSString |
代理认证的账号密码 |
HWRtcScreenShareSourceInfo
属性 |
类型 |
描述 |
---|---|---|
sourceId |
NSInteger |
采集源ID |
sourceName |
NSString |
采集源名称 |
type |
HWRtcScreenShareType |
共享类型,具体请参见HWRtcScreenShareType |
icon |
void* |
预留字段,暂不支持 |
rect |
NSRect |
采集源区域 |
HWRtcScreenShareParam
属性 |
类型 |
描述 |
---|---|---|
type |
HWRtcScreenShareType |
共享类型,具体请参见HWRtcScreenShareType |
viewID |
NSInteger |
采集源ID |
bCaptureMouse |
BOOL |
MAC不支持 |
rect |
NSRect |
采集源区域 |
sourceName |
NSString |
采集源名称 |
HWRtcScreenShareType
枚举值 |
描述 |
---|---|
HWRtcScreenShareTypeDesktop |
桌面共享 |
HWRtcScreenShareTypeWindow |
窗口共享 |
HWRtcVideoRemoteView
属性 |
类型 |
描述 |
---|---|---|
videoCanvas |
视频画布对象属性 |
|
streamType |
要订阅的编码类型 |
|
disableAdjustRes |
int |
下行码率自适应,默认关闭 |
minResolution |
HWRtcStreamType |
最小编码类型 |
HWRtcNetworkBandwidth
属性 |
类型 |
描述 |
---|---|---|
maxBandwidth |
NSInteger |
带宽上限。单位:KB。有效范围为[3072, 51200],即3M~50M。 |
HRTCMultiRoomMediaRelayConfiguration
属性 |
类型 |
描述 |
---|---|---|
srcRoomMediaInfo |
源房间的鉴权信息 |
|
destRoomMediaInfo |
目的跨房的房间信息以及鉴权信息 |
HRTCSrcMultiRoomMediaInfo
属性 |
类型 |
描述 |
---|---|---|
authorization |
const char* |
源房间的鉴权信息 |
userId |
const char* |
源房间的用户名 |
roomId |
const char* |
源房间的房间号 |
ctime |
long long |
鉴权时间信息 |
HRTCDstMultiRoomMediaInfo
属性 |
类型 |
描述 |
---|---|---|
authorization |
const char* |
目标跨房的鉴权信息 |
userId |
const char* |
目标跨房的虚拟用户名 |
roomId |
const char* |
目标跨房房间号 |
userRole |
跨房角色 |
|
ctime |
long long |
鉴权时间信息 |
HRTCMultiRoomMediaRelayState
属性 |
描述 |
---|---|
HRTC_MULTI_ROOM_MEDIA_RELAY_STATE_IDLE |
就绪状态 |
HRTC_MULTI_ROOM_MEDIA_RELAY_STATE_CONNECTING |
正在连接 |
HRTC_MULTI_ROOM_MEDIA_RELAY_STATE_RUNNING |
主播成功加入目标房间 |
HRTC_MULTI_ROOM_MEDIA_RELAY_STATE_FAILURE |
发生异常 |
HRTCMultiRoomMediaRelayStateCode
属性 |
描述 |
---|---|
HRTC_MULTI_ROOM_MEDIA_RELAY_OK |
正常状态 |
HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_SERVER_NO_RESPONSE |
服务端无响应 |
HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_INTERNAL_ERROR |
服务器内部出错 |
HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_USER_OVER_LIMIT |
用户跨房超出限制数 |
HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_OVER_LIMIT |
房间跨房用户超出限制数 |
HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_REQ_EMPTY |
跨房请求消息体为空 |
HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_OPERATION_CONFLICT |
跨房请求,加入和退出存在冲突 |
HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_SRC_USERINFO_INVALID |
跨房请求原用户信息无效 |
HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_WITH_ORI |
跨房房间与原用户房间相同 |
HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_REPEAT |
跨房请求房间重复 |
HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_USER_EXISTED |
跨房用户已存在 |
HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_INVALID_REQUEST |
无效请求 |
HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_ROOM_IS_NOT_EXIST |
房间不存在 |
HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_FRAME_TYPE_NOT_EQUAL |
跨房源房间和目的房间加密模式不一致 |
HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_AUTHENTICATION_FAILURE |
鉴权失败 |
HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_REMOVE_INFO_NOT_EXIST |
退出跨房信息不存在 |
HRTC_MULTI_ROOM_MEDIA_RELAY_ERROR_EXCEPTION_STOP |
异常退出跨房 |