文档首页 > > SDK参考> Windows SDK> 接口参考> 数据类型

数据类型

分享
更新时间:2020/11/18 GMT+08:00

本章节列出了Windows SDK的所有数据类型,您可以结合IHRTCEngine接口和回调进行开发。

表1 数据类型

类型

描述

HRTCLogInfo

日志信息

HRTCUserInfo

用户信息

HRTCDeviceInfo

设备信息

HRTCStatsInfo

卡顿统计信息

HRTCVideoEncParam

视频编码分辨率

HRTCLocalVideoStats

本地视频流信息

HRTCRemoteVideoStats

远端视频流信息

HRTCLocalAudioStats

本地音频流信息

HRTCRemoteAudioStats

远端音频流信息

HRTCConnectInfo

跨房信息

HRTCVideoFrame

视频帧

HRTCAudioFrame

音频帧

HRTCVolumeInfo

发言人音量信息

HRTCNetworkTestConfig

网络探测参数配置

HRTCNetworkTestResultParam

网络探测结果参数

HRTCNetworkTestResult

网络探测结果

HRTCStreamType

流类型

HRTCVideoDisplayMode

图像填充模式

HRTCMediaType

媒体类型

HRTCRoleType

用户角色

HRTCLogLevel

日志级别

HRTCConnStateTypes

网络连接状态

HRTCConnChangeReason

网络状态变化原因

HRTCDeviceType

系统音视频设备设备类型

HRTCDeviceState

系统音视频设备设备状态

HRTCLeaveReason

离开房间原因

HRTCVideoImageFormat

视频帧格式

HRTCAudioFrameType

音频帧格式

HRTCRemoteAudioStreamState

远端音频状态

HRTCRemoteAudioStreamStateReason

远端音频状态变化原因

HRTCRemoteVideoStreamState

远端视频状态

HRTCRemoteVideoStreamStateReason

远端视频状态变化原因

HRTCVideoMirrorType

镜像模式

HRTCNetworkTestState

网络探测状态之成功与否

HRTCNetworkQualityLevel

网络质量信号等级

HRTCConstant

常量说明

HRTCLogInfo

表2 日志信息

函数&属性

描述

HRTCLogLevel level

日志级别。具体请参见HRTCLogLevel。默认级别DEBUG。

const char* path

日志路径,长度不超过MAX_LOG_PATH_LEN。默认路径当前程序目录“\\rtcLog”

HRTCUserInfo

表3 用户信息

函数&属性

描述

HRTCRoleType roleType

用户角色,具体请参见HRTCRoleType

const char* userId

用户ID,用户标识,长度不超过HRTC_MAX_USERID_LEN。

const char* userName

用户昵称,用户标识,长度不超过HRTC_MAX_USERNAME_LEN。

const char* signature

鉴权签名字串。

long long ctime

UTC时间戳, 单位:秒。

const char* optionInfo

optionalInfo是一个KV的JSON字串:可选 例如:[{key:param1,value:value1},{key:param2,value:value2}]

HRTCDeviceInfo

表4 设备信息

函数&属性

描述

char deviceName[HRTC_MAX_DEVICE_NAME_LEN+ 1]

设备名称。

char deviceId[HRTC_MAX_DEVICE_ID_LEN+ 1]

设备id。

HRTCStatsInfo

表5 卡顿统计信息

函数&属性

描述

long long mildlyFrozenCounts

600ms卡顿次数。

long long severelyFrozenCounts

超过1s卡顿次数。

long long totalMildlyFrozenTime;

600ms卡顿总时长。

long long totalSeverelyFrozenTime

1s卡顿总时长。

long long totalActiveTime

总时间,包括每一路选看时间总和。

HRTCVideoEncParam

表6 视频编码分辨率

函数&属性

描述

HRTCStreamType streamType;

视频编码分辨率选择。具体请参见HRTCStreamType

int width;

视频宽

int height;

视频高

int frameRate;

视频帧率

int minFrameRate;

视频最小帧率

int bitrate;

视频码率

int minBitrate;

视频最小码率

bool disableAdjustRes;

表示上行流是否自适应

表7 不同分辨率的码率和帧率配置推荐

分辨率

分辨率类型

比例

最小帧率(fps)

最大帧率(fps)

最小码率

最大码率

160 X 90

LD

16:9

10

30

64

270

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

表8 不同场景的码率和帧率配置推荐

分辨率

推荐帧率

通信场景推荐码率

直播场景推荐码率

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

HRTCLocalVideoStats

表9 本地视频流信息详情

属性

描述

int width

视频宽

int height

视频高

int bitRate

视频码率

int frameRate

视频帧率,单位:fps

int packetLoss

视频丢包率

int delay

时延,单位: ms

int jitter

抖动

HRTCRemoteVideoStats

表10 远端视频流信息详情

属性

描述

char userId[HRTCConstant::HRTC_MAX_USERID_LEN + 1];

远端用户ID。

int width

视频宽。

int height

视频高。

int bitRate

视频码率。

int frameRate

视频帧率,单位:fps。

int packetLoss

视频丢包率。

int delay

时延,单位:ms。

int jitter

抖动。

HRTCLocalAudioStats

表11 本地音频流信息详情

属性

描述

int sampleRate

音频采样率。

int channels

音频频道数。

int bitRate

音频码率。

int packetLoss

音频丢包率。

int delay

时延,单位:ms。

int jitter

抖动。

HRTCRemoteAudioStats

表12 远端音频流信息详情

属性

描述

char userId[HRTCConstant::HRTC_MAX_USERID_LEN + 1]

远端用户ID。

int sampleRate

音频采样率。

int channels

音频频道数。

int bitRate

音频码率。

int packetLoss

音频丢包率。

int delay

时延, ms。

int jitter

抖动。

HRTCConnectInfo

表13 跨房信息参数

函数&属性

描述

char roomId[HRTCConstant::HRTC_MAX_ROOMID_LEN + 1]

跨房房间号。

HRTCRoleType role

跨房时角色,具体请参见HRTCRoleType

HRTCVideoFrame

表14 视频帧详情

函数&属性

描述

HRTCVideoImageFormat format

视频格式,具体请参见HRTCVideoImageFormat

unsigned int width

视频宽。

unsigned int height

视频高。

unsigned char* data

每帧视频数据。

unsigned int dataLen

每帧视频数据大小。例:I420格式数据,dataLen = 1.5 * width * heigh。

HRTCAudioFrame

表15 音频帧详情

函数&属性

描述

HRTCAudioFrameType frameType

音频格式,具体请参见HRTCVideoImageFormat

int sampleRate

音频采样率。

int samplesPerSec

每秒采样数。

int bytesPerSample

每个采样点占用字节数。

int channels

声道数。

unsigned char* data

音频数据。

unsigned int dataLen

音频数据大小。

HRTCVolumeInfo

表16 发言人音量信息

函数&属性

描述

char userId[HRTCConstant::HRTC_MAX_USERID_LEN + 1]

远端用户ID。

unsigned int volume;

音量。

HRTCNetworkTestConfig

表17 网络探测结果参数

函数&属性

描述

char* userId;

网络探测,用户。

char* roomId;

网络探测,房间号,建议用userId+随机数。

char* signature;

网络探测,鉴权签名字串。

long long ctime;

网络探测,UTC时间戳, 单位:秒。

int enableUplinkTest;

网络探测,开启上行探测。

int enableDownlinkTest;

网络探测,开启下行探测。

unsigned int expectedUplinkBitrate;

用户期望的最高发送码率,单位为 bps,范围为0 以及 [100000, 5000000],设为0表示由SDK指定最高码率

unsigned int expectedDownlinkBitrate;

用户期望的最高接收码率,单位为 bps,范围为0 以及 [100000, 5000000],设为0表示由SDK指定最高码率

HRTCNetworkTestResultParam

表18 网络探测结果参数

函数&属性

描述

int bitRate;

码率。

int packetLoss;

丢包。

int delay;

延时。

int jitter;

抖动。

HRTCNetworkTestResult

表19 网络探测结果

枚举值

描述

HRTCNetworkTestState

网络探测状态,详见HRTCNetworkTestState

HRTCNetworkTestResultParam

上行流测试结果,详见HRTCNetworkTestResultParam

HRTCNetworkTestResultParam

下行流测试结果,详见HRTCNetworkTestResultParam

HRTCStreamType

表20 选看分辨率

枚举值

描述

HRTC_STREAM_TYPE_LD

选看分辨率,90p。

HRTC_STREAM_TYPE_SD

选看分辨率,180p。

HRTC_STREAM_TYPE_HD

选看分辨率,360p。

HRTC_STREAM_TYPE_FHD

选看分辨率,720p。

HRTCVideoDisplayMode

表21 图像填充模式

枚举值

描述

HRTC_VIDEO_DISPLAY_MODE_FIT

黑边模式,通过填充黑边的方式保持宽高比。

HRTC_VIDEO_DISPLAY_MODE_HIDDEN

裁剪模式,通过裁剪的方式保持宽高比。

HRTC_VIDEO_DISPLAY_MODE_FILL

缩放模式,缩放和拉伸视频尺寸以充满显示视窗。

HRTCMediaType

表22 媒体类型

枚举值

描述

HRTC_MEDIA_TYPE_AUDIO

音频流。

HRTC_MEDIA_TYPE_VIDEO

视频流。

HRTCRoleType

表23 用户角色

枚举值

描述

HRTC_ROLE_TYPE_JOINER

joiner角色,双向流角色,例如主播加入。

HRTC_ROLE_TYPE_PUBLISER

publiser角色,发布流角色,例如广播。

HRTC_ROLE_TYPE_PLAYER

player角色,接收流角色,例如观众。

HRTCLogLevel

表24 日志级别

枚举值

描述

HRTC_LOG_LEVEL_ERROR

输出ERROR级别日志。

HRTC_LOG_LEVEL_WARNING

输出WARNING级别日志。

HRTC_LOG_LEVEL_INFO

输出INFO级别日志。

HRTC_LOG_LEVEL_DEBUG

输出DEBUG级别日志。

HRTCConnStateTypes

表25 网络连接状态

枚举值

描述

HRTC_CONN_DISCONNECTED

连接断开。

HRTC_CONN_CONNECTING

建立网络连接中。

HRTC_CONN_CONNECTED

网络连接成功。

HRTC_CONN_RECONNECTING

重新建立网络连接中。

HRTC_CONN_FAILED

网络连接失败。

HRTCConnChangeReason

表26 网络状态变化原因

枚举值

描述

HRTC_CONN_CHANGED_CONNECTING

正在连接。

HRTC_CONN_CHANGED_JOIN_SUCCESS

加入房间成功。

HRTC_CONN_CHANGED_RECONNECTING

重连中。

HRTC_CONN_CHANGED_RECONNECT_SUCCESS

重连成功。

HRTC_CONN_CHANGED_JOIN_FAILED

加入房间失败。

HRTC_CONN_CHANGED_RECONNCET_FAILED

重连失败。

HRTC_CONN_CHANGED_INTERRUPTED

连接中断。

HRTC_CONN_CHANGED_KEEP_ALIVE_TIMEOUT

心跳超时。

HRTC_CONN_CHANGED_LEAVE_ROOM

主动离开房间。

HRTC_CONN_CHANGED_JOIN_ROOM_SERVER_ERROR

服务器异常。

HRTC_CONN_CHANGED_SFU_BREAKDOWN

sfu服务故障。

HRTC_CONN_CHANGED_JOIN_ROOM_AUTH_FAILED

鉴权失败,appid或者签名错误。

HRTC_CONN_CHANGED_JOIN_ROOM_AUTH_RETRY

鉴权重试。

HRTC_CONN_CHANGED_JOIN_ROOM_AUTH_CLOCK_SYNC

时钟同步。

HRTC_CONN_CHANGED_JOIN_ROOM_URL_NOT_RIGHT

URL错误400。

HRTC_CONN_CHANGED_JOIN_ROOM_SERVICE_UNREACHABLE

服务不可达503。

HRTC_CONN_CHANGED_INTERNAL_ERROR

内部错误。

HRTC_CONN_CHANGED_KICKED_OFF

被踢出房间。

HRTC_CONN_CHANGED_SIGNATURE_EXPIRED

签名过期。

HRTCDeviceType

表27 系统音视频设备设备类型

枚举值

描述

HRTC_DEVTYPE_AUDIO_PLAYBACK

音频播放设备。

HRTC_DEVTYPE_AUDIO_RECORDING

音量录制设备。

HRTC_DEVTYPE_VIDEO_CAPTURE

视频采集设备。

HRTCDeviceState

表28 系统音视频设备设备状态

枚举值

描述

HRTC_DEVICE_STATE_ACTIVE

激活状态,设备可用。

HRTC_DEVICE_STATE_DISABLED

设备禁用。

HRTC_DEVICE_STATE_UNPLUGGED

设备拔出。

HRTCLeaveReason

表29 离开房间原因

枚举值

描述

HRTC_LEAVE_REASON_USER_LEAVE_ROOM

用户主动离开。

HRTC_LEAVE_REASON_SERVER_ERROR

服务器异常。

HRTC_LEAVE_REASON_BREAKDOW

sfu服务故障。

HRTC_LEAVE_REASON_SERVICE_UNREACHABLE

服务不可达。

HRTC_LEAVE_REASON_INTERNAL_ERROR

内部错误。

HRTC_LEAVE_REASON_KICKED_OFF

被踢。

HRTC_LEAVE_REASON_SIGNATURE_EXPIRED

签名过期。

HRTC_LEAVE_REASON_RECONNECT_FAILED

重连超时。

HRTCVideoImageFormat

表30 视频帧格式

枚举值

描述

HRTC_VIDEO_IMAGE_FORMAT_YUV420P

I420

HRTCAudioFrameType

表31 音频帧格式

枚举值

描述

HRTC_AUDIO_FRAME_TYPE_PCM16

PCM 16位

HRTCRemoteAudioStreamState

表32 远端音频状态

枚举值

描述

HRTC_REMOTE_AUDIO_STATE_STOPPED

远端音频流关闭发送。

HRTC_REMOTE_AUDIO_STATE_DECODING

远端音频流正常编码发送。

HRTCRemoteAudioStreamStateReason

表33 远端音频状态变化原因

枚举值

描述

HRTC_REMOTE_AUDIO_REASON_REMOTE_OFFLINE

远端用户离线。

HRTC_REMOTE_AUDIO_REASON_REMOTE_MUTED

远端用户禁止音频流发送。

HRTC_REMOTE_AUDIO_REASON_REMOTE_UNMUTED

远端用户开启音频流发送。

HRTCRemoteVideoStreamState

表34 远端视频状态

枚举值

描述

HRTC_REMOTE_VIDEO_STATE_STOPPED

远端视频流关闭发送。

HRTC_REMOTE_VIDEO_STATE_DECODING

远端视频流正常编码发送。

HRTCRemoteVideoStreamStateReason

表35 远端视频状态变化原因

枚举值

描述

HRTC_REMOTE_AUDIO_REASON_REMOTE_OFFLINE

远端用户离线。

HRTC_REMOTE_AUDIO_REASON_REMOTE_MUTED

远端用户禁止视频流发送。

HRTC_REMOTE_AUDIO_REASON_REMOTE_UNMUTED

远端用户开启视频流发送。

HRTCVideoMirrorType

表36 视频镜像模式

枚举值

描述

HRTC_VIDEO_MIRROR_TYPE_AUTO

移动端使用,Windows设置效果同HRTC_VIDEO_MIRROR_TYPE_DISABLE,关闭镜像。

HRTC_VIDEO_MIRROR_TYPE_ENABLE

开启镜像。

HRTC_VIDEO_MIRROR_TYPE_DISABLE

关闭镜像。

HRTCNetworkTestState

表37 网络探测状态

枚举值

描述

HRTC_NETWORK_TEST_OK=0

成功。

HRTC_NETWORK_TEST_FAIL

失败。

HRTCNetworkQualityLevel

表38 网络质量信号等级

枚举值

描述

HRTC_NETWORK_LEVEL_1 =0

1格

HRTC_NETWORK_LEVEL_2

2格

HRTC_NETWORK_LEVEL_3

3格

HRTC_NETWORK_LEVEL_4

4格满信号

HRTCConstant

表39 HRTCConstant常量说明

常量

int HRTC_MAX_DOMAIN_LEN

119,域名长度。

int HRTC_MAX_APPID_LEN

128,app_id长度。

int HRTC_MAX_LOG_PATH_LEN

226,日志路径。

int HRTC_MAX_USERID_LEN

128,用户ID。

int HRTC_MAX_USERNAME_LEN

128,用户昵称。

int HRTC_MAX_ROOMID_LEN

128,房间号。

int HRTC_MAX_SIGNATURE_LEN

128,签名。

int HRTC_MAX_OPTION_INFO_LEN

1024,预留。

int HRTC_MAX_CODEC_NAME_LEN

64,编码详情。

int HRTC_MAX_DEVICE_NAME_LEN

256,设备名称。

int HRTC_MAX_DEVICE_ID_LEN

256,设备id。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问