struct bytertc::ByteMetadataBuffer
视频帧中包含的 metadata 信息
Defined in : byte_rtc_engine_lite_interface.h
| 类型 | 名称 |
|---|---|
| char* | data |
| int | size |
| int64_t | timestamp_us |
char* bytertc::ByteMetadataBuffer::data;
接收或者发送的 metadata
int bytertc::ByteMetadataBuffer::size;
接收或者发送的 metadata 数据大小,不能超过 1024
int64_t bytertc::ByteMetadataBuffer::timestamp_us;
包含 metadata 视频帧的时间戳,单位微秒
enum bytertc::IAudioFrameObserver::AUDIO_FRAME_TYPE
音频帧类型
Defined in : byte_rtc_engine_lite_interface.h
| 类型 | 值 | 说明 |
|---|---|---|
| FRAME_TYPE_PCM16 | 0 | PCM 16bit |
struct bytertc::IAudioFrameObserver::AudioFrame
音频帧
Defined in : byte_rtc_engine_lite_interface.h
| 类型 | 名称 |
|---|---|
| AUDIO_FRAME_TYPE | type |
| int | samples |
| int | channels |
| int | samples_per_sec |
| void* | buffer |
| int64_t | render_time_ms |
AUDIO_FRAME_TYPE bytertc::IAudioFrameObserver::AudioFrame::type;
音频帧类型
int bytertc::IAudioFrameObserver::AudioFrame::samples;
音频采样点数量
int bytertc::IAudioFrameObserver::AudioFrame::channels;
音频通道数
int bytertc::IAudioFrameObserver::AudioFrame::samples_per_sec;
音频采样率
void* bytertc::IAudioFrameObserver::AudioFrame::buffer;
音频数据内存地址
int64_t bytertc::IAudioFrameObserver::AudioFrame::render_time_ms;
渲染时间
class bytertc::IByteAudioFrame
音频帧
Defined in : byte_rtc_engine_lite_interface.h
| 返回 | 名称 |
|---|---|
| virtual int64_t | timestamp_us |
| virtual void | set_timestamp_us |
| virtual int | sample_rate |
| virtual void | set_sample_rate |
| virtual int | channels_num |
| virtual void | set_channels_num |
| virtual void | set_frame_memory |
| virtual uint8_t* | data |
| virtual int | data_size |
virtual int64_t bytertc::IByteAudioFrame::timestamp_us() const
获取音频帧时间戳
返回值
音频帧时间戳,单位:微妙
virtual void bytertc::IByteAudioFrame::set_timestamp_us(
int64_t timestamp_us)
设置音频帧时间戳
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| timestamp_us | int64_t | 音频帧时间戳,单位:微妙 |
virtual int bytertc::IByteAudioFrame::sample_rate() const
获取音频采样率
返回值
音频帧采样率
virtual void bytertc::IByteAudioFrame::set_sample_rate(
int sample_rate)
设置音频采样率
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| sample_rate | int | 音频帧采样率 |
virtual int bytertc::IByteAudioFrame::channels_num() const
获取音频通道数
返回值
音频通道数
virtual void bytertc::IByteAudioFrame::set_channels_num(
int channels_num)
设置音频帧通道数
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| channels_num | int | 音频帧通道数 |
virtual void bytertc::IByteAudioFrame::set_frame_memory(
const ByteManagedMemory& memory)
设置音频帧内存管理信息
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| memory | const ByteManagedMemory& | 音频帧内存管理信息,详见 ByteManagedMemory |
virtual uint8_t* bytertc::IByteAudioFrame::data() const
获取音频帧内存块地址
返回值
音频帧内存块地址
virtual int bytertc::IByteAudioFrame::data_size() const
获取音频帧数据大小
返回值
音频帧数据大小
enum bytertc::USER_OFFLINE_REASON_TYPE
用户离线原因。
房间内的远端用户离开房间时,本地用户会收到 OnUserOffline 回调通知,此枚举类型为回调的用户离线原因。
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| USER_OFFLINE_QUIT | 0 | 用户主动离开。即远端用户调用 LeaveChannel 方法退出房间。 |
| USER_OFFLINE_DROPPED | 1 | 用户掉线。远端用户因为网络等原因掉线。 |
enum bytertc::RtcStreamRemoveReason
房间内远端流移除原因。
房间内远端音视频流移除时,SDK 会通过 OnStreamRemove 回调通知用户。此枚举类型即为通知的远端流移除的原因。
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kRtcStreamRemoveUnpublish | 0 | 远端用户停止发布流。 |
| kRtcStreamRemovePublishFailed | 1 | 远端用户发布流失败。 |
| kRtcStreamRemoveKeepLiveFailed | 2 | 保活失败。 |
| kRtcStreamRemoveClientDisconnected | 3 | 远端用户断网。 |
| kRtcStreamRemoveRepublish | 4 | 远端用户重新发布流。 |
| kRtcStreamRemoveOtherReason | 5 | 其他原因。 |
enum bytertc::CLIENT_ROLE_TYPE
用户角色。房间模式为直播、游戏、云游戏模式时的可选用户角色。
用户可通过设置用户角色控制:1.发布/取消发布音视频流;2.用户自身是否在房间中隐身。设置用户角色参考 SetClientRole 方法。
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| CLIENT_ROLE_BROADCASTER | 1 | 主播角色。主播角色的用户既可以发布流到房间中,也可以从房间中订阅流,房间中的其他用户可以感知到该用户在房间中。 |
| CLIENT_ROLE_AUDIENCE | 2 | 观众角色。观众角色的用户只能从房间中订阅流,不能向房间中发布流,房间中的其他用户可以感知到该用户在房间中。 |
| CLIENT_ROLE_SILENT_AUDIENCE | 3 | 静默观众角色。静默观众角色的用户只能从房间中订阅流,不能向房间中发布流,房间中的其他用户无法感知到该用户在房间中。该用户加入退出房间等行为不会通知给房间中的其他用户。 |
enum bytertc::MESSAGE_SEND_RESULT_CODE
发送用户消息或者房间消息的结果
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| MESSAGE_CODE_SUCCESS | 0 | 用户P2P消息发送成功 |
| MESSAGE_CODE_ROOM_SUCCESS | 200 | 房间Broadcast消息发送成功 |
| MESSAGE_CODE_ERROR_TIMEOUT | 1 | 发送超时,没有发送 |
| MESSAGE_CODE_ERROR_BROKEN | 2 | 通道断开,没有发送 |
| MESSAGE_CODE_ERROR_NOT_RECEIVER | 3 | 找不到接收方 |
| MESSAGE_CODE_ERROR_NOT_JOIN | 100 | 没有加入房间 |
| MESSAGE_CODE_ERROR_NO_CONNECTION | 102 | 没有可用的数据传输通道连接 |
| MESSAGE_CODE_ERROR_EXCEED_MAX_LENGTH | 103 | 消息超过最大长度,当前为64KB |
| MESSAGE_CODE_ERROR_EMPTY_USER | 104 | 用户id为空 |
| MESSAGE_CODE_ERROR_UNKNOWN | 1000 | 未知错误 |
enum bytertc::CONNECTION_STATE
SDK 与信令服务器连接状态。
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| CONNECTION_STATE_DISCONNECTED | 1 | 连接断开。 |
| CONNECTION_STATE_CONNECTING | 2 | 首次连接,正在连接中。 |
| CONNECTION_STATE_CONNECTED | 3 | 首次连接成功。 |
| CONNECTION_STATE_RECONNECTING | 4 | 连接断开后重新连接中。 |
| CONNECTION_STATE_RECONNECTED | 5 | 连接断开后重连成功。 |
enum bytertc::NetworkQuality
媒体流网络质量。
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kNetworkQualityUnknown | 0 | 网络质量未知。 |
| kNetworkQualityExcellent | 1 | 网络质量极好。 |
| kNetworkQualityGood | 2 | 主观感觉和 kNetworkQualityExcellent 差不多,但码率可能略低。 |
| kNetworkQualityPoor | 3 | 主观感受有瑕疵但不影响沟通。 |
| kNetworkQualityBad | 4 | 勉强能沟通但不顺畅。 |
| kNetworkQualityVbad | 5 | 网络质量非常差,基本不能沟通。 |
enum bytertc::NetworkType
SDK 网络连接类型。
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kNetworkTypeUnknown | -1 | 网络连接类型未知。 |
| kNetworkTypeDisconnected | 0 | 网络连接已断开。 |
| kNetworkTypeLAN | 1 | 网络连接类型为 LAN 。 |
| kNetworkTypeWIFI | 2 | 网络连接类型为 Wi-Fi(包含热点)。 |
| kNetworkTypeMobile2G | 3 | 网络连接类型为 2G 移动网络。 |
| kNetworkTypeMobile3G | 4 | 网络连接类型为 3G 移动网络。 |
| kNetworkTypeMobile4G | 5 | 网络连接类型为 4G 移动网络。 |
| kNetworkTypeMobile5G | 6 | 网络连接类型为 5G 移动网络。 |
struct bytertc::ScreenParameters
屏幕共享参数
Defined in : byte_rtc_engine_defines.h
| 类型 | 名称 |
|---|---|
| int | frame_rate |
| int | kbitrate |
int bytertc::ScreenParameters::frame_rate = 15;
编码帧率,单位为 fps
int bytertc::ScreenParameters::kbitrate = -1;
编码码率,小于 0 时 SDK 会根据高宽自适应码率, 单位 kbps
enum bytertc::CHANNEL_PROFILE_TYPE
房间模式。房间使用的场景模式。
通过设置房间模式,用户可以选择应用 SDK 针对不同房间模式场景的优化策略。设置房间模式参考 SetChannelProfile 方法。
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| CHANNEL_PROFILE_COMMUNICATION | 0 | 通信模式。通信模式下,无用户角色区分。适用于 IM 场景。 |
| CHANNEL_PROFILE_LIVE_BROADCASTING | 1 | 直播模式。直播模式下,有用户角色区分(用户角色参考 CLIENT_ROLE_TYPE)。适用于直播、教育大班课等场景。 |
| CHANNEL_PROFILE_GAME | 2 | 游戏模式。游戏模式下,有用户角色区分。 SDK 会使用低延时设置。适用于游戏场景。 |
| CHANNEL_PROFILE_CLOUD_GAME | 3 | 云游戏模式。云游戏模式下,有用户角色区分。 SDK 会使用低延时设置。适用于云游戏场景。 |
enum bytertc::MediaDeviceType
媒体设备类型
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kAudioPlayoutDevice | 0 | 音频播放设备类型 |
| kAudioRecordingDevice | 1 | 音频录制设备类型 |
| kVideoRenderDevice | 2 | 视频渲染设备类型,该类型暂无使用 |
| kVideoCaptureDevice = 3 | 3 | 视频采集设备类型 |
enum bytertc::MediaDeviceNotification
媒体设备事件类型
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kMediaDeviceNotificationActive | 1 | 设备已就绪 |
| kMediaDeviceNotificationDisabled | 2 | 设备被禁用 |
| kMediaDeviceNotificationNotPresent | 4 | 没有此设备 |
| kMediaDeviceNotificationUnplugged = 8 | 8 | 设备被拔出 |
enum bytertc::MediaDeviceState
媒体设备状态类型
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kMediaDeviceStateStarted | 0 | 设备已开启 |
| kMediaDeviceStateStartFailed | 1 | 设备开启失败 |
| kMediaDeviceStateStopped | 2 | 设备已停止 |
| kMediaDeviceStateStopFailed = 3 | 3 | 设备停止失败 |
enum bytertc::SubscribeFallbackOptions
订阅回退选项
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kSubscribeFallbackOptionDisable | 0 | 下行网络较弱时,不对音视频流作回退处理,默认值 |
| kStreamFallbackOptionVideoStreamLow | 1 | 下行网络较弱时,只接收视频小流 |
| kStreamFallbackOptionAudioOnly | 2 | 下行网络较弱时,先尝试只接收视频小流;如果网络环境无法显示视频,则再回退到只接收远端订阅的音频流 |
enum bytertc::RemoteUserPriority
远端用户优先级,在性能不足需要回退时,会优先回退优先级低的用户的音视频流
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kRemoteUserPriorityLow | 0 | 用户优先级为低,默认值 |
| kRemoteUserPriorityMedium | 100 | 用户优先级为正常 |
| kRemoteUserPriorityHigh | 200 | 用户优先级为高 |
enum bytertc::FallbackOrRecoverReason
远端订阅流发生回退或恢复的原因
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kFallbackOrRecoverReasonUnknown | -1 | 其他原因,非带宽和性能原因引起的回退或恢复。默认值 |
| kFallbackOrRecoverReasonSubscribeFallbackByBandwidth | 0 | 由带宽不足导致的订阅端音视频流回退。 |
| kFallbackOrRecoverReasonSubscribeFallbackByPerformance | 1 | 由性能不足导致的订阅端音视频流回退。 |
| kFallbackOrRecoverReasonSubscribeRecoverByBandwidth | 2 | 由带宽恢复导致的订阅端音视频流恢复。 |
| kFallbackOrRecoverReasonSubscribeRecoverByPerformance | 3 | 由性能恢复导致的订阅端音视频流恢复。 |
| kFallbackOrRecoverReasonPublishFallbackByBandwidth | 4 | 由带宽不足导致的发布端音视频流回退。 |
| kFallbackOrRecoverReasonPublishFallbackByPerformance | 5 | 由性能不足导致的发布端音视频流回退。 |
| kFallbackOrRecoverReasonPublishRecoverByBandwidth | 6 | 由带宽恢复导致的发布端音视频流恢复。 |
| kFallbackOrRecoverReasonPublishRecoverByPerformance | 7 | 由性能恢复导致的发布端音视频流恢复。 |
struct bytertc::RemoteStreamSwitch
流切换信息。本地用户订阅的远端流触发回退策略时的流切换信息。
用户通过调用 SetPublishFallbackOption 方法/ SetSubscribeFallbackOption 方法设置发布/订阅流回退策略。而当本地用户订阅的音视频流发生回退时,SDK 会通过 OnRemoteStreamSwitch 回调事件通知用户。回调参数为回退的流切换信息。
Defined in : byte_rtc_engine_defines.h
| 类型 | 名称 |
|---|---|
| const char* | uid |
| bool | is_screen |
| int | before_video_index |
| int | after_video_index |
| bool | before_enable |
| bool | after_enable |
| FallbackOrRecoverReason | reason |
const char* bytertc::RemoteStreamSwitch::uid;
远端用户ID 。远端流发布者的用户ID 。
bool bytertc::RemoteStreamSwitch::is_screen;
是否是屏幕流 。
int bytertc::RemoteStreamSwitch::before_video_index;
流切换前本地用户订阅的视频流的分辨率对应的索引。
int bytertc::RemoteStreamSwitch::after_video_index;
流切换后本地用户订阅的视频流的分辨率对应的索引。
bool bytertc::RemoteStreamSwitch::before_enable;
流切换前是否有视频流。
bool bytertc::RemoteStreamSwitch::after_enable;
流切换后是否有视频流。
FallbackOrRecoverReason bytertc::RemoteStreamSwitch::reason;
触发流回退的原因,详见类型 FallbackOrRecoverReason 。
enum bytertc::BusinessCheckCode
事务检查码。
用户调用 SetBusinessId 方法设置业务标识参数的返回错误码。
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| ERROR_ALREADY_IN_ROOM | -6001 | 用户已经在房间中。 业务标识需要在加入房间之前设置,加入后设置无效。 |
| ERROR_INPUT_INVALIDATE | -6002 | 输入参数非法。 用户传入的业务标识参数非法,参数合法性参考 SetBusinessId 方法的参数说明。 |
enum bytertc::LocalAudioStreamState
本地音频流状态。 SDK 通过 OnLocalAudioStateChanged 回调本地音频流状态
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kLocalAudioStreamStateStopped | 0 | 本地音频默认初始状态。 麦克风停止工作时回调该状态,对应错误码 kLocalAudioStreamErrorOk |
| kLocalAudioStreamStateRecording | 1 | 本地音频录制设备启动成功。 采集到音频首帧时回调该状态,对应错误码 kLocalAudioStreamErrorOk |
| kLocalAudioStreamStateEncoding | 2 | 本地音频首帧编码成功。 音频首帧编码成功时回调该状态,对应错误码 kLocalAudioStreamErrorOk |
| kLocalAudioStreamStateFailed | 3 | 本地音频启动失败,在以下时机回调该状态: + 本地录音设备启动失败,对应错误码 kLocalAudioStreamErrorRecordFailure + 检测到没有录音设备权限,对应错误码 kLocalAudioStreamErrorDeviceNoPermission + 音频编码失败,对应错误码 kLocalAudioStreamErrorEncodeFailure |
enum bytertc::LocalAudioStreamError
本地音频流状态改变时的错误码。 SDK 通过 OnLocalAudioStateChanged 回调该错误码。
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kLocalAudioStreamErrorOk | 0 | 本地音频状态正常 |
| kLocalAudioStreamErrorFailure | 1 | 本地音频出错原因未知 |
| kLocalAudioStreamErrorDeviceNoPermission | 2 | 没有权限启动本地音频录制设备 |
| kLocalAudioStreamErrorDeviceBusy | 3 | 本地音频录制设备已经在使用中 |
| kLocalAudioStreamErrorRecordFailure | 4 | 本地音频录制失败,建议你检查录制设备是否正常工作 |
| kLocalAudioStreamErrorEncodeFailure | 5 | 本地音频编码失败 |
| kLocalAudioStreamErrorNoRecordingDevice | 6 | 没有可用的音频录制设备 |
enum bytertc::LocalVideoStreamState
本地视频流状态
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kLocalVideoStreamStateStopped | 0 | 本地视频默认初始状态 |
| kLocalVideoStreamStateRecording | 1 | 本地视频录制设备启动成功 |
| kLocalVideoStreamStateEncoding | 2 | 本地视频首帧编码成功 |
| kLocalVideoStreamStateFailed | 3 | 本地视频启动失败 |
enum bytertc::RemoteAudioState
远端音频流状态 SDK 通过 OnRemoteAudioStateChanged 回调该状态
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kRemoteAudioStateStopped | 0 | 远端音频流默认初始状态,在以下时机回调该状态: + 本地用户停止接收远端音频流,对应错误码 kRemoteAudioReasonLocalMuted + 远端用户停止发送音频流,对应错误码 kRemoteAudioReasonRemoteMuted + 远端用户离开房间,对应错误码 kRemoteAudioReasonRemoteOffline |
| kRemoteAudioStateStarting | 1 | 本地用户已接收远端音频首包。 收到远端音频首包时回调该状态,对应错误码 kRemoteAudioReasonLocalUnmuted |
| kRemoteAudioStateDecoding | 2 | 远端音频流正在解码,正常播放,在以下时机回调该状态: + 成功解码远端音频首帧,对应错误码 kRemoteAudioReasonLocalUnmuted + 网络由阻塞恢复正常,对应错误码 kRemoteAudioReasonNetworkRecovery + 本地用户恢复接收远端音频流,对应错误码 kRemoteAudioReasonLocalUnmuted + 远端用户恢复发送音频流,对应错误码 kRemoteAudioReasonRemoteUnmuted |
| kRemoteAudioStateFrozen | 3 | 远端音频流卡顿。 网络阻塞、丢包率大于40%时回调该状态,对应错误码 kRemoteAudioReasonNetworkCongestion |
| kRemoteAudioStateFailed | 4 | 远端音频流播放失败 |
enum bytertc::RemoteAudioStateReason
远端音频流状态改变的原因。 SDK 通过 OnRemoteAudioStateChanged 回调该错误码。
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kRemoteAudioReasonInternal | 0 | 内部原因 |
| kRemoteAudioReasonNetworkCongestion | 1 | 网络阻塞 |
| kRemoteAudioReasonNetworkRecovery | 2 | 网络恢复正常 |
| kRemoteAudioReasonLocalMuted | 3 | 本地用户停止接收远端音频流 |
| kRemoteAudioReasonLocalUnmuted | 4 | 本地用户恢复接收远端音频流 |
| kRemoteAudioReasonRemoteMuted | 5 | 远端用户停止发送音频流 |
| kRemoteAudioReasonRemoteUnmuted | 6 | 远端用户恢复发送音频流 |
| kRemoteAudioReasonRemoteOffline | 7 | 远端用户离开房间 |
enum bytertc::RemoteVideoState
远端视频流状态
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kRemoteVideoStateStopped | 0 | 远端视频流默认初始状态,视频尚未开始播放 |
| kRemoteVideoStateStarting | 1 | 本地用户已接收远端视频首包,状态改变详见 OnRemoteVideoFirstPacketReceived |
| kRemoteVideoStateDecoding | 2 | 远端视频流正在解码,正常播放 |
| kRemoteVideoStateFrozen | 3 | 可能因为网络质量等原因,远端视频流卡顿,状态改变详见 OnVideoStreamNetworkQuality |
| kRemoteVideoStateFailed | 4 | 远端视频流播放失败,错误场景详见 OnVideoStreamSubscribe |
enum bytertc::RemoteVideoStateReason
远端视频流状态改变的原因
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kRemoteVideoReasonInternal | 0 | 内部原因 错误原因详见 OnVideoStreamSubscribe |
| kRemoteVideoReasonNetworkCongestion | 1 | 网络阻塞 错误原因详见 OnVideoStreamNetworkQuality |
| kRemoteVideoReasonNetworkRecovery | 2 | 网络恢复正常 状态转换详见 OnVideoStreamNetworkQuality |
| kRemoteVideoReasonLocalMuted | 3 | 本地用户停止接收远端视频流或本地用户禁用视频模块 状态转换详见 OnMuteRemoteVideoStream |
| kRemoteVideoReasonLocalUnmuted | 4 | 本地用户恢复接收远端视频流或本地用户启用视频模块 状态转换参考 OnMuteRemoteVideoStream |
| kRemoteVideoSReasonRemoteMuted | 5 | 远端用户停止发送视频流或远端用户禁用视频模块 状态转换参考 OnUpdateRemoteVideoStreamMuteAttribute |
| kRemoteVideoReasonRemoteUnmuted | 6 | 远端用户恢复发送视频流或远端用户启用视频模块 状态转换参考 OnUpdateRemoteVideoStreamMuteAttribute |
| kRemoteVideoReasonRemoteOffline | 7 | 远端用户离开频道 状态转换参考 OnStreamRemove |
enum bytertc::BACKGROUND_MODE
背景模式 开启背景替换功能时生效,详见ReplaceBackground。
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| NONE | 0 | 无 |
| BLUR | 1 | 虚化 |
| BACKGROUND_A | 2 | 背景1 |
| BACKGROUND_B | 3 | 背景2 |
enum bytertc::DIVIDE_MODEL
分割模型 开启背景替换功能时生效,详见ReplaceBackground。
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| DEFAULT | 0 | 自研 |
| EFFECT | 1 | effect |
struct bytertc::AudioVolumeInfo
用于表示用户音量大小
Defined in : byte_rtc_engine_defines.h
| 类型 | 名称 |
|---|---|
| unsigned int | volume |
| const char* | uid |
unsigned int bytertc::AudioVolumeInfo::volume;
音量大小,范围 [0,255]
const char* bytertc::AudioVolumeInfo::uid;
用户ID
struct bytertc::SourceWantedData
性能回退相关数据
Defined in : byte_rtc_engine_defines.h
| 类型 | 名称 |
|---|---|
| int | width |
| int | height |
| int | frame_rate |
int bytertc::SourceWantedData::width;
推荐视频输入宽
int bytertc::SourceWantedData::height;
推荐视频输入高
int bytertc::SourceWantedData::frame_rate;
推荐视频输入帧率,单位 fps
struct bytertc::RtcStats
通话相关的统计信息
Defined in : byte_rtc_engine_defines.h
| 类型 | 名称 |
|---|---|
| unsigned int | duration |
| unsigned int | tx_bytes |
| unsigned int | rx_bytes |
| unsigned short | tx_kbitrate |
| unsigned short | rx_kbitrate |
| unsigned short | rx_audio_kbitrate |
| unsigned short | tx_audio_kbitrate |
| unsigned short | rx_video_kbitrate |
| unsigned short | tx_video_kbitrate |
| unsigned int | user_count |
| double | cpu_app_usage |
| double | cpu_total_usage |
unsigned int bytertc::RtcStats::duration;
通话时长,单位为秒,累计值
unsigned int bytertc::RtcStats::tx_bytes;
发送字节数 (bytes),累计值
unsigned int bytertc::RtcStats::rx_bytes;
接收字节数 (bytes),累计值
unsigned short bytertc::RtcStats::tx_kbitrate;
发送码率 (kbps),瞬时值
unsigned short bytertc::RtcStats::rx_kbitrate;
接收码率 (kbps),瞬时值
unsigned short bytertc::RtcStats::rx_audio_kbitrate;
音频接收码率 (kbps),瞬时值
unsigned short bytertc::RtcStats::tx_audio_kbitrate;
音频发送码率 (kbps),瞬时值
unsigned short bytertc::RtcStats::rx_video_kbitrate;
视频接收码率 (kbps),瞬时值
unsigned short bytertc::RtcStats::tx_video_kbitrate;
视频发送码率 (kbps),瞬时值
unsigned int bytertc::RtcStats::user_count;
当前房间内的用户人数
double bytertc::RtcStats::cpu_app_usage;
当前应用程序的 CPU 使用率,暂未被使用
double bytertc::RtcStats::cpu_total_usage;
当前系统的 CPU 使用率 (%),暂未被使用
struct bytertc::RemoteAudioStats
远端音频流统计信息。
本地用户订阅远端音频流成功后,SDK 会周期性(2s)的通过 OnRemoteAudioStats 回调事件通知用户订阅的音频流在此次统计周期内的状况。此数据结构即为回调给用户的参数类型。
Defined in : byte_rtc_engine_defines.h
| 类型 | 名称 |
|---|---|
| const char* | uid |
| float | audio_loss_rate |
| int | received_kbitrate |
| int | stall_count |
| int | stall_duration |
| long | e2e_delay |
| int | playout_sample_rate |
| int | stats_interval |
| int | rtt |
| int | quality |
| int | jitter_buffer_delay |
| int | num_channels |
| int | received_sample_rate |
| int | frozen_rate |
| int | concealed_samples |
| int | concealment_event |
| int | dec_sample_rate |
| int | dec_duration |
const char* bytertc::RemoteAudioStats::uid;
用户ID 。远端音频流发布用户的用户ID 。
float bytertc::RemoteAudioStats::audio_loss_rate;
音频丢包率。统计周期内的音频下行丢包率,取值范围为 [0, 1] 。
int bytertc::RemoteAudioStats::received_kbitrate;
接收码率。统计周期内的音频接收码率,单位为 kbps 。
int bytertc::RemoteAudioStats::stall_count;
音频卡顿次数。统计周期内的卡顿次数。
int bytertc::RemoteAudioStats::stall_duration;
音频卡顿时长。统计周期内的卡顿时长,单位为 ms 。
long bytertc::RemoteAudioStats::e2e_delay;
用户体验级别的端到端延时。从发送端采集完成编码开始到接收端解码完成渲染开始的延时,单位为 ms 。
int bytertc::RemoteAudioStats::playout_sample_rate;
播放采样率。统计周期内的音频播放采样率信息,单位为 Hz 。
int bytertc::RemoteAudioStats::stats_interval;
统计间隔。此次统计周期的间隔,单位为 ms 。
int bytertc::RemoteAudioStats::rtt;
往返时延。单位为 ms 。
int bytertc::RemoteAudioStats::quality;
远端用户发送的音频流质量。值含义参考 NetworkQuality 。
int bytertc::RemoteAudioStats::jitter_buffer_delay;
音频发送端到接收端的网络延迟。单位为 ms 。
int bytertc::RemoteAudioStats::num_channels;
音频声道数。
int bytertc::RemoteAudioStats::received_sample_rate;
音频接收采样率。统计周期内接收到的远端音频采样率信息,单位为 Hz 。
int bytertc::RemoteAudioStats::frozen_rate;
远端用户在加入房间后发生音频卡顿的累计时长占音频总有效时长的百分比。
int bytertc::RemoteAudioStats::concealed_samples;
音频 PLC 样点总个数。
int bytertc::RemoteAudioStats::concealment_event;
PLC 累计次数。
int bytertc::RemoteAudioStats::dec_sample_rate;
音频解码采样率。统计周期内的音频解码采样率信息,单位为 Hz 。
int bytertc::RemoteAudioStats::dec_duration;
解码时长。单位为 s 。
struct bytertc::LocalAudioStats
本地音频流统计信息。
本地用户发布音频流成功后,SDK 会周期性(2s)的通过 OnLocalAudioStats 回调事件通知用户发布的音频流在此次统计周期内的状况。此数据结构即为回调给用户的参数类型。
Defined in : byte_rtc_engine_defines.h
| 类型 | 名称 |
|---|---|
| float | audio_loss_rate |
| int | send_kbitrate |
| int | record_sample_rate |
| int | stats_interval |
| int | rtt |
| int | num_channels |
| int | sent_sample_rate |
float bytertc::LocalAudioStats::audio_loss_rate;
音频丢包率。此次统计周期内的音频上行丢包率,取值范围为 [0, 1] 。
int bytertc::LocalAudioStats::send_kbitrate;
发送的码率。此次统计周期内的音频发送码率,单位为 kbps 。
int bytertc::LocalAudioStats::record_sample_rate;
采集采样率。音频采集采样率信息,单位为 Hz 。
int bytertc::LocalAudioStats::stats_interval;
统计间隔。此次统计周期的间隔,单位为 ms 。
int bytertc::LocalAudioStats::rtt;
往返时延。单位为 ms 。
int bytertc::LocalAudioStats::num_channels;
音频声道数。
int bytertc::LocalAudioStats::sent_sample_rate;
发送采样率。音频发送采样率信息,单位为 Hz 。
struct bytertc::ByteStream
流属性。房间中的远端流的流属性。
用户加入房间成功后,房间中所有已发布和未来发布的流和流的相关属性,都会通过 OnStreamAdd 回调时间通知用户。此数据结构即为回调给用户的参数类型。
Defined in : byte_rtc_engine_defines.h
| 类型 | 名称 |
|---|---|
| const char* | user_id |
| bool | is_screen |
| bool | has_video |
| bool | has_audio |
| VideoSolutionDescription* | profiles |
| int | profile_count |
const char* bytertc::ByteStream::user_id;
用户ID 。此流的发布用户的用户ID 。
bool bytertc::ByteStream::is_screen;
此流是否为共享屏幕流。
bool bytertc::ByteStream::has_video;
此流是否包括视频流。
bool bytertc::ByteStream::has_audio;
流是否包括音频流。
VideoSolutionDescription* bytertc::ByteStream::profiles;
视频流的分辨率信息。
用户可以通过调用 SetVideoProfiles 方法在一路流中发布多个不同分辨率的视频。此参数即为流中所有视频的分辨率等相关信息。
int bytertc::ByteStream::profile_count;
流中不同分辨率的个数。
用户可以通过调用 SetVideoProfiles 方法在一路流中发布多个不同分辨率的视频。此参数即为流中所有视频的分辨率的总数。
struct bytertc::SubscribeConfig
订阅流的参数配置。用户手动订阅一路音视频流所使用的订阅配置参数。
用户开启手动订阅功能时,通过调用 SubscribeStream 方法订阅音视频流,调用时传入的参数即为此数据类型。
Defined in : byte_rtc_engine_defines.h
| 类型 | 名称 |
|---|---|
| bool | is_screen |
| bool | sub_video |
| bool | sub_audio |
| int | video_index |
| int | priority |
bool bytertc::SubscribeConfig::is_screen = false;
是否是屏幕流。
用户通过设置此参数,选择是否订阅远端流中的视频。true 为订阅视频,false 为不订阅视频,默认值为 true 。
bool bytertc::SubscribeConfig::sub_video;
是否订阅视频。
用户通过设置此参数,选择是否订阅远端流中的视频。true 为订阅视频,false 为不订阅视频,默认值为 true 。
bool bytertc::SubscribeConfig::sub_audio;
是否订阅音频。
用户通过设置此参数,选择是否订阅远端流中的音频。true 为订阅音频,false 为不订阅音频,默认值为 true 。
int bytertc::SubscribeConfig::video_index;
订阅的视频流分辨率下标。
用户可以通过调用 SetVideoProfiles 方法在一路流中发布多个不同分辨率的视频。因此订阅流时,需要指定订阅的具体分辨率。此参数即用于指定需订阅的分辨率的下标,默认值为 0 。
int bytertc::SubscribeConfig::priority = 0;
远端用户的需求优先级,取值详见枚举类型 RemoteUserPriority ,默认值为 0 。
用户通过此参数设置远端用户的需求优先级。当开启了订阅流回退选项功能(详见 SetSubscribeFallbackOption 方法),弱网或性能不足时会优先保证收到的高优先级用户的流的质量。
enum bytertc::PROBLEM_FEEDBACK
音视频质量反馈问题类型
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| PROBLEM_NONE | 0 | 没有问题 |
| PROBLEM_OTHER_MSG | (1 << 0) | 其他问题 |
| PROBLEM_AUDIO_NOT_CLEAR | (1 << 1) | 声音不清晰 |
| PROBLEM_VIDEO_NOT_CLEAR | (1 << 2) | 视频不清晰 |
| PROBLEM_SYNC | (1 << 3) | 音视频不同步 |
| PROBLEM_AUDIO_LAGGING | (1 << 4) | 音频卡顿 |
| PROBLEM_VIDEO_LAGGING | (1 << 5) | 视频卡顿 |
| PROBLEM_CONNECT_FAILED | (1 << 6) | 无法连接 |
| PROBLEM_AUDIO_DELAY | (1 << 7) | 音频延迟 |
| PROBLEM_VIDEO_DELAY | (1 << 8) | 视频延迟 |
| PROBLEM_DISCONNECT | (1 << 9) | 连接断开 |
| PROBLEM_NO_AUDIO | (1 << 10) | 无声音 |
| PROBLEM_NO_VIDEO | (1 << 11) | 无画面 |
| PROBLEM_AUDIO_STRENGTH | (1 << 12) | 声音过大或过小 |
| PROBLEM_ECHO | (1 << 13) | 回声噪音 |
enum bytertc::REMOTE_VIDEO_STREAM_TYPE
远端视频类型 目前C++ sdk 只支持 REMOTE_VIDEO_STREAM_HIGH 类型
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| REMOTE_VIDEO_STREAM_HIGH | 0 | 高分辨率视频流 |
| REMOTE_VIDEO_STREAM_LOW | 1 | 低分辨率视频 |
struct bytertc::VideoCanvas
视频渲染图层结构。app 通过该结构将要渲染的窗口和视频流进行绑定
Defined in : byte_rtc_engine_defines.h
| 类型 | 名称 |
|---|---|
| void* | view |
| int | render_mode |
| const char* | uid |
| void* | priv |
void* bytertc::VideoCanvas::view;
渲染窗口句柄
int bytertc::VideoCanvas::render_mode;
设置渲染模式,参见 RENDER_MODE_TYPE
const char* bytertc::VideoCanvas::uid;
设置渲染流的用户标识
void* bytertc::VideoCanvas::priv;
用户自定义数据,sdk 透传该数据。
struct bytertc::RemoteVideoStats
远端用户通话视频相关的统计信息
Defined in : byte_rtc_engine_defines.h
| 类型 | 名称 |
|---|---|
| const char* | uid |
| int | width |
| int | height |
| float | video_loss_rate |
| int | received_kbitrate |
| int | decoder_output_frame_rate |
| int | renderer_output_frame_rate |
| int | stall_count |
| int | stall_duration |
| long | e2e_delay |
| bool | is_screen |
| int | stats_interval |
| int | rtt |
| int | frozen_rate |
| int | video_index |
const char* bytertc::RemoteVideoStats::uid;
用户 id
int bytertc::RemoteVideoStats::width;
视频宽度
int bytertc::RemoteVideoStats::height;
视频高度
float bytertc::RemoteVideoStats::video_loss_rate;
视频丢包率,百分比
int bytertc::RemoteVideoStats::received_kbitrate;
接收码率,单位为 kbps
int bytertc::RemoteVideoStats::decoder_output_frame_rate;
解码器输出帧率,单位 fps
int bytertc::RemoteVideoStats::renderer_output_frame_rate;
渲染帧率,单位 fps
int bytertc::RemoteVideoStats::stall_count;
卡顿次数
int bytertc::RemoteVideoStats::stall_duration;
卡顿时长,单位毫秒
long bytertc::RemoteVideoStats::e2e_delay;
用户体验级别的端到端延时,从发送端采集完成编码开始到接收端解码完成渲染开始的延时,单位为毫秒
bool bytertc::RemoteVideoStats::is_screen;
是否是屏幕流
int bytertc::RemoteVideoStats::stats_interval;
统计间隔,单位为毫秒
int bytertc::RemoteVideoStats::rtt;
往返时延,单位为毫秒
int bytertc::RemoteVideoStats::frozen_rate;
远端用户在加入房间后发生视频卡顿的累计时长占视频总有效时长的百分比 (%)。
int bytertc::RemoteVideoStats::video_index;
对应多种分辨率的流的下标,详见 VideoSolutionDescription
struct bytertc::LocalVideoStats
本地视频相关的统计信息
Defined in : byte_rtc_engine_defines.h
| 类型 | 名称 |
|---|---|
| int | sent_kbitrate |
| int | input_frame_rate |
| int | sent_frame_rate |
| int | encoder_output_frame_rate |
| int | renderer_output_frame_rate |
| int | target_kbitrate |
| int | target_frame_rate |
| int | stats_interval |
| float | video_loss_rate |
| int | rtt |
| int | encoded_bitrate |
| int | encoded_frame_width |
| int | encoded_frame_height |
| int | encoded_frame_count |
| VideoCodecType | codec_type |
| bool | is_screen |
int bytertc::LocalVideoStats::sent_kbitrate;
发送码率,单位为 kbps
int bytertc::LocalVideoStats::input_frame_rate;
采集帧率,单位 fps
int bytertc::LocalVideoStats::sent_frame_rate;
发送帧率,单位 fps
int bytertc::LocalVideoStats::encoder_output_frame_rate;
编码器输出帧率,单位 fps
int bytertc::LocalVideoStats::renderer_output_frame_rate;
本地渲染帧率,单位 fps
int bytertc::LocalVideoStats::target_kbitrate;
目标发送码率(kbps)
int bytertc::LocalVideoStats::target_frame_rate;
目标发送帧率,单位 fps
int bytertc::LocalVideoStats::stats_interval;
统计间隔,单位毫秒
float bytertc::LocalVideoStats::video_loss_rate;
视频丢包率,单位百分比
int bytertc::LocalVideoStats::rtt;
往返时延,单位为毫秒
int bytertc::LocalVideoStats::encoded_bitrate;
视频编码码率(kbps)
int bytertc::LocalVideoStats::encoded_frame_width;
视频编码宽度(px)
int bytertc::LocalVideoStats::encoded_frame_height;
视频编码高度(px)
int bytertc::LocalVideoStats::encoded_frame_count;
视频发送的帧数,累计值
VideoCodecType bytertc::LocalVideoStats::codec_type;
视频的编码类型,具体参考 VideoCodecType
bool bytertc::LocalVideoStats::is_screen;
本地流是否是屏幕流
typedef void* bytertc::view_t
windows 窗口 id, windows 平台下传 windows 窗口句柄
Defined in : byte_rtc_engine_defines.h
struct bytertc::Rectangle
矩形,用于屏幕共享指定区域
Defined in : byte_rtc_engine_defines.h
| 类型 | 名称 |
|---|---|
| int | x |
| int | y |
| int | width |
| int | height |
int bytertc::Rectangle::x = 0;
矩形左上角x坐标
int bytertc::Rectangle::y = 0;
矩形左上角y坐标
int bytertc::Rectangle::width = 0;
矩形宽度
int bytertc::Rectangle::height = 0;
矩形高度
struct bytertc::HighlightConfig
高亮边框标识屏幕共享指定区域
Defined in : byte_rtc_engine_defines.h
| 类型 | 名称 |
|---|---|
| bool | enable_highlight |
| uint32_t | border_color |
| int | border_width |
bool bytertc::HighlightConfig::enable_highlight = true;
是否显示高亮边框,默认显示。
uint32_t bytertc::HighlightConfig::border_color = 0xFF29CCA3;
边框的颜色, 颜色格式为十六进制 ARGB: 0xAARRGGBB
int bytertc::HighlightConfig::border_width = 4;
边框的宽度
struct bytertc::DesktopCaptureParameters
屏幕共享的编码参数配置
Defined in : byte_rtc_engine_defines.h
| 类型 | 名称 |
|---|---|
| int | max_width |
| int | max_height |
| int | frame_rate |
| int | bitrate |
| bool | capture_mouse_cursor |
| view_t * | excluded_window_list |
| int | excluded_window_num |
| HighlightConfig | highlight_config |
int bytertc::DesktopCaptureParameters::max_width = 1920;
屏幕采集编码最大宽度
int bytertc::DesktopCaptureParameters::max_height = 1080;
屏幕采集编码最大高度
int bytertc::DesktopCaptureParameters::frame_rate = 15;
屏幕采集编码帧率, 单位 fps
int bytertc::DesktopCaptureParameters::bitrate = -1;
屏幕采集编码码率, -1 为自动码率, SDK 会根据宽高信息选择合适的码率,单位 kbps
bool bytertc::DesktopCaptureParameters::capture_mouse_cursor = true;
是否捕获鼠标光标
view_t * bytertc::DesktopCaptureParameters::excluded_window_list = nullptr;
抓取屏幕时排除窗口列表。这个参数仅在抓取屏幕时生效。
int bytertc::DesktopCaptureParameters::excluded_window_num = 0;
HighlightConfig bytertc::DesktopCaptureParameters::highlight_config;
高亮边框的配置
enum bytertc::ByteStreamType
视频流类型
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kByteStreamTypeCamera | 0 | 视频流类型为相机流 |
| kByteStreamTypeScreen | 1 | 视频流类型为屏幕流 |
struct bytertc::ByteStreamInfo
视频流信息
Defined in : byte_rtc_engine_defines.h
| 类型 | 名称 |
|---|---|
| const char* | room_id |
| const char* | user_id |
| ByteStreamType | stream_type |
const char* bytertc::ByteStreamInfo::room_id;
房间id,每个房间的唯一标识符。相同 AppId 并且进入同一个房间内的用户,可以进行相互音视频通话
const char* bytertc::ByteStreamInfo::user_id;
用户id,每个用户的唯一标识符。同一个房间,不允许两个相同 UserId 存在,后进房者会踢出前者。
ByteStreamType bytertc::ByteStreamInfo::stream_type;
视频流类型,详见ByteStreamType
enum class bytertc::AudioPerfProfile
用户机型等级信息。 在部分应用场景下,需要关注用户机型的配置高低,根据不同的配置,选择不同复杂度的音频处理算法,在能耗、用户体验上进行折中。
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kAudioPerfProfileAuto | 0 | 自动策略,SDK 会在加入房间时上传机型信息。服务端根据机型信息判断性能级别,下发对应配置。 |
| kAudioPerfProfileLow | 1 | 低配策略,关闭AEC、ANS、AGC算法,播放sample rate为16000。 策略内容可以定制,联系销售咨询具体方案 |
| kAudioPerfProfileMid | 2 | 中配策略,开启AEC、ANS、AGC算法,播放sample rate为16000。 策略内容可以定制,联系销售咨询具体方案 |
| kAudioPerfProfileHigh | 3 | 高配策略,开启AEC、ANS、AGC算法,播放sample rate为48000。 策略内容可以定制,联系销售咨询具体方案 |
enum bytertc::ByteEngineEncryptType
自定义加密类型
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| ByteEngineEncryptTypeCustomize | 0 | 使用自定义加密或不加密 |
| ByteEngineEncryptTypeAES128CBC | 1 | 使用AES-128-CBC加密 |
| ByteEngineEncryptTypeAES256CBC | 2 | 使用AES-256-CBC加密 |
| ByteEngineEncryptTypeAES128ECB | 3 | 使用AES-128-ECB加密 |
| ByteEngineEncryptTypeAES256ECB = 4 | 4 | 使用AES-256-ECB加密 |
enum bytertc::AudioMixingState
音频混音文件播放状态。
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kAudioMixingStatePlaying | 710 | 混音播放状态,混音开始 |
| kAudioMixingStatePaused | 711 | 混音播放状态,混音暂停 |
| kAudioMixingStateStoped | 713 | 混音播放状态,混音停止/播放结束 |
| kAudioMixingStateFailed = 714 | 714 | 混音播放状态,混音播放失败 |
enum bytertc::AudioMixingError
音频混音文件播放错误码。
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kAudioMixingErrorOk | 0 | 混音错误码,正常 |
| kAudioMixingErrorCanNotOpen | 701 | 混音错误码,失败 |
struct bytertc::RtcUser
用户信息
Defined in : byte_rtc_engine_defines.h
| 类型 | 名称 |
|---|---|
| const char* | user_id |
| const char* | meta_data |
const char* bytertc::RtcUser::user_id;
const char* bytertc::RtcUser::meta_data;
enum bytertc::FirstFrameSendState
首帧发送状态
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kFirstFrameSendStateSending | 0 | 发送中 |
| kFirstFrameSendStateSent | 1 | 发送成功 |
enum bytertc::FirstFramePlayState
首帧播放状态
Defined in : byte_rtc_engine_defines.h
| 类型 | 值 | 说明 |
|---|---|---|
| kFirstFramePlayStatePlaying | 0 | 播放中 |
| kFirstFramePlayStatePlayed | 1 | 播放成功 |
enum bytertc::VideoRotation
旋转角度
Defined in : byte_rtc_video_frame.h
| 类型 | 值 | 说明 |
|---|---|---|
| VideoRotation_0 | 0 | 顺时针旋转0度 |
| VideoRotation_90 | 90 | 顺时针旋转90度 |
| VideoRotation_180 | 180 | 顺时针旋转180度 |
| VideoRotation_270 = 270 | 270 | 顺时针旋转270度 |
enum bytertc::VIDEO_FRAME_TYPE
视频帧类型
Defined in : byte_rtc_video_frame.h
| 类型 | 值 | 说明 |
|---|---|---|
| FORMAT_TYPE_NONE | -1 | 无格式 |
| FORMAT_TYPE_I420 = 0 | 0 | I420格式的视频帧 |
enum bytertc::ScaleMode
视频帧缩放模式
Defined in : byte_rtc_video_frame.h
| 类型 | 值 | 说明 |
|---|---|---|
| Auto | 0 | 自由模式,默认使用FitWithCropping模式 |
| Stretch | 1 | 视频尺寸进行缩放和拉伸以充满显示视窗 |
| FitWithCropping | 2 | 优先保证视窗被填满。视频尺寸等比缩放,直至整个视窗被视频填满。如果视频长宽与显示窗口不同,多出的视频将被截掉 |
| FitWithFilling | 3 | 优先保证视频内容全部显示。视频尺寸等比缩放,直至视频窗口的一边与视窗边框对齐。如果视频长宽与显示窗口不同,视窗上未被填满的区域将被涂黑 |
enum bytertc::CodecMode
视频编码模式
Defined in : byte_rtc_video_frame.h
| 类型 | 值 | 说明 |
|---|---|---|
| AutoMode | 0 | 自动选择 |
| HardwareMode | 1 | 硬编码 |
| SoftwareMode | 2 | 软编码 |
enum bytertc::VideoCodecType
视频的编码类型
Defined in : byte_rtc_video_frame.h
| 类型 | 值 | 说明 |
|---|---|---|
| kVideoCodecUnknown | 0 | 未知类型 |
| kVideoCodecH264 | 1 | 标准H264 |
| kVideoCodecByteVC1 | 2 | 标准ByteVC1 |
enum bytertc::EncodePreference
视频编码质量偏好 网络不好时的编码降级策略
Defined in : byte_rtc_video_frame.h
| 类型 | 值 | 说明 |
|---|---|---|
| EncodePreferenceDisabled | 0 | 关闭 |
| EncodePreferenceFramerate | 1 | 保持帧率 |
| EncodePreferenceQuality | 2 | 保持画质 |
| EncodePreferenceBalance | 3 | 平衡模式 |
struct bytertc::VideoSolution
视频属性
Defined in : byte_rtc_video_frame.h
| 类型 | 名称 |
|---|---|
| int | width |
| int | height |
| int | fps |
| int | max_send_kbps |
| ScaleMode | scale_mode |
| EncodePreference | encode_preference |
int bytertc::VideoSolution::width;
视频的宽
int bytertc::VideoSolution::height;
视频的高
int bytertc::VideoSolution::fps;
视频帧率
int bytertc::VideoSolution::max_send_kbps = SEND_KBPS_AUTO_CALCULATE;
最高编码码率(千比特每秒)
ScaleMode bytertc::VideoSolution::scale_mode = ScaleMode::Auto;
缩放模式,详见 ScaleMode
EncodePreference bytertc::VideoSolution::encode_preference = EncodePreference::EncodePreferenceFramerate;
视频编码质量偏好,详见 EncodePreference
struct bytertc::VideoSolutionDescription
视频属性
Defined in : byte_rtc_video_frame.h
| 类型 | 名称 |
|---|---|
| int | width |
| int | height |
| int | fps |
| int | max_send_kbps |
| ScaleMode | scale_mode |
| VideoCodecType | codec_name |
| CodecMode | codec_mode |
| EncodePreference | encode_preference |
int bytertc::VideoSolutionDescription::width;
视频的宽
int bytertc::VideoSolutionDescription::height;
视频的高
int bytertc::VideoSolutionDescription::fps;
视频帧率
int bytertc::VideoSolutionDescription::max_send_kbps;
最大发送速率(千比特每秒)
ScaleMode bytertc::VideoSolutionDescription::scale_mode = ScaleMode::Auto;
缩放模式,详见 ScaleMode
VideoCodecType bytertc::VideoSolutionDescription::codec_name = VideoCodecType::kVideoCodecUnknown;
视频的编码类型,详见 VideoCodecType
CodecMode bytertc::VideoSolutionDescription::codec_mode = CodecMode::AutoMode;
视频的编码模式,详见 CodecMode
EncodePreference bytertc::VideoSolutionDescription::encode_preference = EncodePreference::EncodePreferenceFramerate;
视频编码质量偏好,详见 EncodePreference
enum bytertc::ByteVideoPixelFormat
视频帧颜色编码格式
Defined in : byte_rtc_video_frame.h
| 类型 | 值 | 说明 |
|---|---|---|
| kByteVideoPixelFormatUnknown | 0 | 未知的颜色编码格式 |
| kByteVideoPixelFormatI420 | 1 | YUV I420 格式 |
| kByteVideoPixelFormatNV12 | 2 | YUV NV12 格式 |
| kByteVideoPixelFormatNV21 | 3 | YUV NV21 格式 |
| kByteVideoPixelFormatRGB24 | 4 | RGB 24bit格式, |
| kByteVideoPixelFormatRGBA | 5 | RGBA 编码格式 |
| kByteVideoPixelFormatARGB | 6 | ARGB 编码格式 |
| kByteVideoPixelFormatBGRA | 7 | BGRA 编码格式 |
enum bytertc::ByteVideoFrameType
视频帧格式
Defined in : byte_rtc_video_frame.h
| 类型 | 值 | 说明 |
|---|---|---|
| kByteVideoFrameTypeRawMemory | 0 | 原始数据格式,按照内存存储 |
| kByteVideoFrameTypeCVPixelBuffer | 1 | CVPixelBufferRef类型,支持 iOS and macOS 平台 |
| kByteVideoFrameTypeGLTexture | 2 | open gl 纹理数据类型 |
| kByteVideoFrameTypeCuda | 3 | cuda 数据类型 |
| kByteVideoFrameTypeD3D11 | 4 | direct3d 11 数据格式 |
| kByteVideoFrameTypeD3D9 | 5 | direct3d 9 数据格式 |
| kByteVideoFrameTypeJavaFrame | 6 | Java的VideoFrame 数据格式 |
| kByteVideoFrameTypeVAAPI | 7 | vaapi 数据格式 |
struct bytertc::ByteManagedMemory
自定义内存释放器
Defined in : byte_rtc_video_frame.h
| 类型 | 名称 |
|---|---|
| uint8_t* | data |
| int | size |
| void* | user_opaque |
| int ()(uint8_t data, int size, void* user_opaque) | memory_deleter |
uint8_t* bytertc::ByteManagedMemory::data = nullptr;
内存数据地址
int bytertc::ByteManagedMemory::size = 0;
内存空间的大小
void* bytertc::ByteManagedMemory::user_opaque = nullptr;
用户自定义数据
int (*bytertc::ByteManagedMemory::memory_deleter)(uint8_t* data, int size, void* user_opaque) = nullptr;
自定义内存释放方法指针,如果指针不为空,方法会被调用,用来释放内存空间。 函数传入的参数分别是本结构体内 data、size、user_opaque 3个字段。
typedef struct bytertc::ByteVideoFrameBuilder
视频帧构建类
Defined in : byte_rtc_video_frame.h
| 类型 | 名称 |
|---|---|
| uint8_t* | data |
| int | linesize |
| uint8_t* | extra_data |
| int | extra_data_size |
| uint8_t* | supplementary_info |
| int | supplementary_info_size |
| int | size |
| int | width |
| int | height |
| int | rotation |
| void* | hwaccel_buffer |
| void* | user_opaque |
| int64_t | timestamp_us |
| int ()(struct ByteVideoFrameBuilder builder) | memory_deleter |
uint8_t* bytertc::ByteVideoFrameBuilder::data[kByteNumDataPointers];
视频帧数据平面指针数组
int bytertc::ByteVideoFrameBuilder::linesize[kByteNumDataPointers];
视频帧数据平面行长度
uint8_t* bytertc::ByteVideoFrameBuilder::extra_data = nullptr;
sei 数据地址
int bytertc::ByteVideoFrameBuilder::extra_data_size = 0;
sei 数据大小
uint8_t* bytertc::ByteVideoFrameBuilder::supplementary_info = nullptr;
补充数据地址
int bytertc::ByteVideoFrameBuilder::supplementary_info_size = 0;
补充数据大小
int bytertc::ByteVideoFrameBuilder::size = 0;
视频帧内存空间大小
int bytertc::ByteVideoFrameBuilder::width;
视频帧宽度
int bytertc::ByteVideoFrameBuilder::height;
视频帧高度
int bytertc::ByteVideoFrameBuilder::rotation;
视频旋转角度
void* bytertc::ByteVideoFrameBuilder::hwaccel_buffer = nullptr;
硬件加速缓冲区指针
void* bytertc::ByteVideoFrameBuilder::user_opaque = nullptr;
用户私有数据指针
int64_t bytertc::ByteVideoFrameBuilder::timestamp_us;
视频帧时间戳
int (*bytertc::ByteVideoFrameBuilder::memory_deleter)(struct ByteVideoFrameBuilder* builder) = nullptr;
用户定义的视频帧释放回调函数指针,如果指针不为空,方法会被调用用来释放内存空间