LiteAVSDK
腾讯云音视频 SDK ,服务于数万家企业客户的高可用组件,致力于最大限度地节省您的研发成本。
关键类型定义

详细描述

腾讯云视频通话功能的关键类型定义


结构体说明

◆ trtc::TRTCParams

struct trtc::TRTCParams

Public 成员函数

 TRTCParams ()
 

成员变量

uint32_t sdkAppId
 
const char * userId
 
const char * userSig
 
uint32_t roomId
 
const char * strRoomId
 
TRTCRoleType role
 
const char * streamId
 
const char * userDefineRecordId
 
const char * privateMapKey
 
const char * businessInfo
 

构造及析构函数说明

◆ TRTCParams()

TRTCParams ( )
inline

结构体成员变量说明

◆ sdkAppId

uint32_t sdkAppId

【字段含义】应用标识(必填),腾讯视频云基于 sdkAppId 完成计费统计。
【推荐取值】在 实时音视频控制台 创建应用后可在帐号信息页面中得到该 ID。

◆ userId

const char* userId

【字段含义】用户标识(必填),当前用户的 userId,相当于用户名,使用 UTF-8 编码。
【推荐取值】如果一个用户在您的帐号系统中的 ID 为“abc”,则 userId 即可设置为“abc”。

◆ userSig

const char* userSig

【字段含义】用户签名(必填),当前 userId 对应的验证签名,相当于登录密码。
【推荐取值】具体计算方法请参见 如何计算UserSig

◆ roomId

uint32_t roomId

【字段含义】房间号码(必填),在同一个房间内的用户可以看到彼此并进行视频通话。
【推荐取值】您可以自定义设置该参数值,但不可重复。如果您的用户帐号 ID (userId)为数字类型,可直接使用创建者的用户 ID 作为 roomId。

◆ strRoomId

const char* strRoomId

【字段含义】字符串房间号码,在同一个房间里的用户(userId)可以彼此看到对方并进行视频通话。
【推荐取值】限制长度为64字节。以下为支持的字符集范围(共 89 个字符): -大小写英文字母(a-zA-Z); -数字(0-9); -空格、"!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、" {"、"}"、"|"、"~"、","。
【特殊说明】roomId 与 strRoomId 必填一个,若您选用 strRoomId,则 roomId 需要填写为0。若两者都填,将优先选用 roomId。

◆ role

【字段含义】直播场景下的角色,仅适用于直播场景(TRTCAppSceneLIVE 和 TRTCAppSceneVoiceChatRoom),视频通话场景下指定无效。
【推荐取值】默认值:主播(TRTCRoleAnchor)

◆ streamId

const char* streamId

【字段含义】绑定腾讯云直播 CDN 流 ID[非必填],设置之后,您就可以在腾讯云直播 CDN 上通过标准直播方案(FLV或HLS)播放该用户的音视频流。
【推荐取值】限制长度为64字节,可以不填写,一种推荐的方案是使用 “sdkappid_roomid_userid_main” 作为 streamid,这样比较好辨认且不会在您的多个应用中发生冲突。
【特殊说明】要使用腾讯云直播 CDN,您需要先在控制台 中的功能配置页开启“启动自动旁路直播”开关。
【参考文档】CDN 旁路直播

◆ userDefineRecordId

const char* userDefineRecordId

【字段含义】设置云端录制完成后的回调消息中的 "userdefinerecordid" 字段内容,便于您更方便的识别录制回调。
【推荐取值】限制长度为64字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线和连词符。
【参考文档】云端录制

◆ privateMapKey

const char* privateMapKey

【字段含义】房间签名(非必填),当您希望某个房间只能让特定的 userId 进入时,需要使用 privateMapKey 进行权限保护。
【推荐取值】仅建议有高级别安全需求的客户使用,更多详情请参见 进房权限保护

◆ businessInfo

const char* businessInfo

【字段含义】业务数据(非必填),部分高级特性才需要使用该字段。
【推荐取值】不建议使用

◆ trtc::TRTCVideoEncParam

struct trtc::TRTCVideoEncParam

Public 成员函数

 TRTCVideoEncParam ()
 

成员变量

TRTCVideoResolution videoResolution
 
TRTCVideoResolutionMode resMode
 
uint32_t videoFps
 
uint32_t videoBitrate
 
uint32_t minVideoBitrate
 
bool enableAdjustRes
 

构造及析构函数说明

◆ TRTCVideoEncParam()

TRTCVideoEncParam ( )
inline

结构体成员变量说明

◆ videoResolution

TRTCVideoResolution videoResolution

【字段含义】 视频分辨率
【推荐取值】

  • 视频通话建议选择360 × 640及以下分辨率,resMode 选择 Portrait。
  • 手机直播建议选择540 × 960,resMode 选择 Portrait。
  • Window 和 iMac 建议选择640 × 360及以上分辨率,resMode 选择 Landscape。
    【特别说明】 TRTCVideoResolution 默认只能横屏模式的分辨率,例如640 × 360。 如需使用竖屏分辨率,请指定 resMode 为 Portrait,例如640 × 360结合 Portrait 则为360 × 640。

◆ resMode

【字段含义】分辨率模式(横屏分辨率 - 竖屏分辨率)
【推荐取值】手机直播建议选择 Portrait,Window 和 Mac 建议选择 Landscape。
【特别说明】如果 videoResolution 指定分辨率 640 × 360,resMode 指定模式为 Portrait,则最终编码出的分辨率为360 × 640。

◆ videoFps

uint32_t videoFps

【字段含义】视频采集帧率
【推荐取值】15fps 或 20fps。5fps以下,卡顿感明显。10fps以下,会有轻微卡顿感。20fps以上,则过于浪费(电影的帧率为24fps)。
【特别说明】很多 Android 手机的前置摄像头并不支持15fps以上的采集帧率,部分过于突出美颜功能的 Android 手机前置摄像头的采集帧率可能低于10fps。

◆ videoBitrate

uint32_t videoBitrate

【字段含义】视频上行码率
【推荐取值】推荐设置请参考本文件前半部分 TRTCVideoResolution 定义处的注释说明
【特别说明】码率太低会导致视频中出现大量马赛克

◆ minVideoBitrate

uint32_t minVideoBitrate

【字段含义】最低视频码率,SDK 会在网络不佳的情况下主动降低视频码率,最低会降至 minVideoBitrate 所设定的数值。 【推荐取值】

  • 如果您追求“允许卡顿但要保持清晰”的效果,可以设置 minVideoBitrate 为 videoBitrate 的 60;
  • 如果您追求“允许模糊但要保持流畅”的效果,可以设置 minVideoBitrate 为 200kbps;
  • 如果您将 videoBitrate 和 minVideoBitrate 设置为同一个值,等价于关闭 SDK 的自适应调节能力;
  • 默认值:0,此时最低码率由 SDK 根据分辨率情况,自动设置合适的数值。
    【特别说明】
  • 当您把分辨率设置的比较高时,minVideoBitrate 不适合设置的太低,否则会出现画面模糊和大范围的马赛克宏块。 比如把分辨率设置为 720p,把码率设置为 200kbps,那么编码出的画面将会出现大范围区域性马赛克。

◆ enableAdjustRes

bool enableAdjustRes

【字段含义】是否允许调整分辨率
【推荐取值】

  • 手机直播建议选择 false。
  • 视频通话模式,若更关注流畅性,建议选择 true,此时若遇到带宽有限的弱网,SDK 会自动降低分辨率以保障更好的流畅度(仅针对 TRTCVideoStreamTypeBig 生效)。
  • 默认值:false。
    【特别说明】若有录制需求,选择 true 时,请确保通话过程中,调整分辨率不会影响您的录制效果。

◆ trtc::TRTCRenderParams

struct trtc::TRTCRenderParams

Public 成员函数

 TRTCRenderParams ()
 

成员变量

TRTCVideoRotation rotation
 
TRTCVideoFillMode fillMode
 
TRTCVideoMirrorType mirrorType
 

构造及析构函数说明

◆ TRTCRenderParams()

TRTCRenderParams ( )
inline

结构体成员变量说明

◆ rotation

视频画面旋转方向,默认值为 TRTCVideoRotation0

◆ fillMode

视频画面填充模式,默认值为 TRTCVideoFillMode_Fit

◆ mirrorType

TRTCVideoMirrorType mirrorType

视频画面镜像模式,默认值为 TRTCVideoMirrorType_Disable

◆ trtc::TRTCNetworkQosParam

struct trtc::TRTCNetworkQosParam

Public 成员函数

 TRTCNetworkQosParam ()
 

成员变量

TRTCVideoQosPreference preference
 
TRTCQosControlMode controlMode
 

构造及析构函数说明

◆ TRTCNetworkQosParam()

TRTCNetworkQosParam ( )
inline

结构体成员变量说明

◆ preference

【字段含义】弱网下是“保清晰”或“保流畅”
【特别说明】

  • 弱网下保流畅:在遭遇弱网环境时,画面会变得模糊,且出现较多马赛克,但可以保持流畅不卡顿。
  • 弱网下保清晰:在遭遇弱网环境时,画面会尽可能保持清晰,但可能容易出现卡顿

◆ controlMode

TRTCQosControlMode controlMode

【字段含义】视频分辨率(云端控制 - 客户端控制)
【推荐取值】云端控制
【特别说明】

  • Server 模式(默认):云端控制模式,若无特殊原因,请直接使用该模式
  • Client 模式:客户端控制模式,用于 SDK 开发内部调试,客户请勿使用

◆ trtc::TRTCQualityInfo

struct trtc::TRTCQualityInfo

Public 成员函数

 TRTCQualityInfo ()
 

成员变量

const char * userId
 
TRTCQuality quality
 

构造及析构函数说明

◆ TRTCQualityInfo()

TRTCQualityInfo ( )
inline

结构体成员变量说明

◆ userId

const char* userId

用户标识

◆ quality

TRTCQuality quality

网络质量

◆ trtc::TRTCVolumeInfo

struct trtc::TRTCVolumeInfo

Public 成员函数

 TRTCVolumeInfo ()
 

成员变量

const char * userId
 
uint32_t volume
 

构造及析构函数说明

◆ TRTCVolumeInfo()

TRTCVolumeInfo ( )
inline

结构体成员变量说明

◆ userId

const char* userId

说话者的 userId,字符编码格式为 UTF-8

◆ volume

uint32_t volume

说话者的音量, 取值范围0 - 100

◆ trtc::TRTCVideoFrame

struct trtc::TRTCVideoFrame

Public 成员函数

 TRTCVideoFrame ()
 

成员变量

TRTCVideoPixelFormat videoFormat
 
TRTCVideoBufferType bufferType
 
char * data
 
int textureId
 
uint32_t length
 
uint32_t width
 
uint32_t height
 
uint64_t timestamp
 
TRTCVideoRotation rotation
 

构造及析构函数说明

◆ TRTCVideoFrame()

TRTCVideoFrame ( )
inline

结构体成员变量说明

◆ videoFormat

TRTCVideoPixelFormat videoFormat

视频帧的格式

◆ bufferType

TRTCVideoBufferType bufferType

视频数据结构类型

◆ data

char* data

视频数据,字段bufferType是LiteAVVideoBufferType_Buffer时生效

◆ textureId

int textureId

视频纹理ID,字段bufferType是LiteAVVideoBufferType_Texture时生效

◆ length

uint32_t length

视频数据的长度,单位是字节,对于i420而言, length = width * height * 3 / 2,对于BGRA32而言, length = width * height * 4

◆ width

uint32_t width

画面的宽度

◆ height

uint32_t height

画面的高度

◆ timestamp

uint64_t timestamp

时间戳,单位ms

◆ rotation

画面旋转角度

◆ trtc::TRTCAudioFrame

struct trtc::TRTCAudioFrame

Public 成员函数

 TRTCAudioFrame ()
 

成员变量

TRTCAudioFrameFormat audioFormat
 
char * data
 
uint32_t length
 
uint32_t sampleRate
 
uint32_t channel
 
uint64_t timestamp
 

构造及析构函数说明

◆ TRTCAudioFrame()

TRTCAudioFrame ( )
inline

结构体成员变量说明

◆ audioFormat

TRTCAudioFrameFormat audioFormat

音频帧的格式

◆ data

char* data

音频数据

◆ length

uint32_t length

音频数据的长度

◆ sampleRate

uint32_t sampleRate

采样率

◆ channel

uint32_t channel

声道数

◆ timestamp

uint64_t timestamp

时间戳,单位ms

◆ trtc::TRTCSpeedTestResult

struct trtc::TRTCSpeedTestResult

Public 成员函数

 TRTCSpeedTestResult ()
 

成员变量

const char * ip
 
TRTCQuality quality
 
float upLostRate
 
float downLostRate
 
int rtt
 

构造及析构函数说明

◆ TRTCSpeedTestResult()

TRTCSpeedTestResult ( )
inline

结构体成员变量说明

◆ ip

const char* ip

服务器 IP 地址

◆ quality

TRTCQuality quality

网络质量,内部通过评估算法测算出的网络质量,loss 越低,rtt 越小,得分便越高

◆ upLostRate

float upLostRate

上行丢包率,范围是0 - 1.0,例如,0.3表示每向服务器发送10个数据包可能会在中途丢失3个。

◆ downLostRate

float downLostRate

下行丢包率,范围是0 - 1.0,例如,0.2表示每从服务器收取10个数据包可能会在中途丢失2个。

◆ rtt

int rtt

延迟(毫秒),指当前设备到腾讯云服务器的一次网络往返时间,该值越小越好,正常数值范围是10ms - 100ms

◆ trtc::TRTCMixUser

struct trtc::TRTCMixUser

Public 成员函数

 TRTCMixUser ()
 

成员变量

const char * userId
 
const char * roomId
 
RECT rect
 
int zOrder
 
bool pureAudio
 
TRTCVideoStreamType streamType
 
TRTCMixInputType inputType
 

构造及析构函数说明

◆ TRTCMixUser()

TRTCMixUser ( )
inline

结构体成员变量说明

◆ userId

const char* userId

【字段含义】参与混流的 userId

◆ roomId

const char* roomId

【字段含义】参与混流的 roomId,跨房流传入的实际 roomId,当前房间流传入 roomId = nullptr

◆ rect

RECT rect

【字段含义】图层位置坐标以及大小,左上角为坐标原点(0,0) (绝对像素值)

◆ zOrder

int zOrder

【字段含义】图层层次(1 - 15)不可重复

◆ pureAudio

bool pureAudio

【字段含义】该用户是不是只开启了音频
【推荐取值】默认值:NO
【特别说明】废弃,推荐使用 inputType

◆ streamType

TRTCVideoStreamType streamType

【字段含义】参与混合的是主路画面(TRTCVideoStreamTypeBig)或屏幕分享(TRTCVideoStreamTypeSub)画面

◆ inputType

TRTCMixInputType inputType

【字段含义】该用户的输入流类型(该字段是对 pureAudio 字段的升级) 【推荐取值】

  • 默认值:TRTCMixInputTypeUndefined
  • 如果您没有对 pureAudio 字段进行设置,您可以根据实际需要设置该字段
  • 如果您已经设置了 pureAudio 为 YES,请设置该字段为 TRTCMixInputTypeUndefined

◆ trtc::TRTCTranscodingConfig

struct trtc::TRTCTranscodingConfig

Public 成员函数

 TRTCTranscodingConfig ()
 

成员变量

TRTCTranscodingConfigMode mode
 
uint32_t appId
 
uint32_t bizId
 
uint32_t videoWidth
 
uint32_t videoHeight
 
uint32_t videoBitrate
 
uint32_t videoFramerate
 
uint32_t videoGOP
 
uint32_t backgroundColor
 
const char * backgroundImage
 
uint32_t audioSampleRate
 
uint32_t audioBitrate
 
uint32_t audioChannels
 
TRTCMixUsermixUsersArray
 
uint32_t mixUsersArraySize
 
const char * streamId
 

构造及析构函数说明

◆ TRTCTranscodingConfig()

结构体成员变量说明

◆ mode

【字段含义】转码 config 模式

◆ appId

uint32_t appId

【字段含义】腾讯云直播 AppID
【推荐取值】请在 实时音视频控制台 选择已经创建的应用,单击【帐号信息】后,在“直播信息”中获取

◆ bizId

uint32_t bizId

【字段含义】腾讯云直播 bizid
【推荐取值】请在 实时音视频控制台 选择已经创建的应用,单击【帐号信息】后,在“直播信息”中获取

◆ videoWidth

uint32_t videoWidth

【字段含义】最终转码后的视频分辨率的宽度。
【推荐取值】推荐值:360px ,如果你是纯音频推流,请将 width × height 设为 0px × 0px,否则混流后会携带一条画布背景的视频流。

◆ videoHeight

uint32_t videoHeight

【字段含义】最终转码后的视频分辨率的高度。
【推荐取值】推荐值:640px ,如果你是纯音频推流,请将 width × height 设为 0px × 0px,否则混流后会携带一条画布背景的视频流。

◆ videoBitrate

uint32_t videoBitrate

【字段含义】最终转码后的视频分辨率的码率(kbps)。
【推荐取值】如果填0,后台会根据videoWidth和videoHeight来估算码率,您也可以参考枚举定义TRTCVideoResolution_640_480的注释。

◆ videoFramerate

uint32_t videoFramerate

【字段含义】最终转码后的视频分辨率的帧率(FPS)。
【推荐取值】默认值:15fps,取值范围是 (0,30]。

◆ videoGOP

uint32_t videoGOP

【字段含义】最终转码后的视频分辨率的关键帧间隔(又称为 GOP)。
【推荐取值】默认值:2,单位为秒,取值范围是 [1,8]。

◆ backgroundColor

uint32_t backgroundColor

【字段含义】混合后画面的底色颜色,默认为黑色,格式为十六进制数字,比如:“0x61B9F1” 代表 RGB 分别为(97,158,241)。
【推荐取值】默认值:0x000000,黑色

◆ backgroundImage

const char* backgroundImage

【字段含义】混合后画面的背景图。
【推荐取值】默认值:null,即不设置背景图
【特别说明】背景图需要您事先在 “控制台 => 应用管理 => 功能配置 => 素材管理” 中上传,
上传成功后可以获得对应的“图片ID”,然后将“图片ID”转换成字符串类型并设置到 backgroundImage 里即可。
例如:假设“图片ID” 为 63,可以设置 backgroundImage = "63";

◆ audioSampleRate

uint32_t audioSampleRate

【字段含义】最终转码后的音频采样率。
【推荐取值】默认值:48000Hz。支持12000HZ、16000HZ、22050HZ、24000HZ、32000HZ、44100HZ、48000HZ。

◆ audioBitrate

uint32_t audioBitrate

【字段含义】最终转码后的音频码率。
【推荐取值】默认值:64kbps,取值范围是 [32,192]。

◆ audioChannels

uint32_t audioChannels

【字段含义】最终转码后的音频声道数
【推荐取值】默认值:1。取值范围为 [1,2] 中的整型。

◆ mixUsersArray

TRTCMixUser* mixUsersArray

【字段含义】每一路子画面的位置信息

◆ mixUsersArraySize

uint32_t mixUsersArraySize

【字段含义】 数组 mixUsersArray 的大小

◆ streamId

const char* streamId

【字段含义】输出到 CDN 上的直播流 ID 如不设置该参数,SDK 会执行默认逻辑,即房间里的多路流会混合到该接口调用者的视频流上,也就是 A+B =>A; 如果设置该参数,SDK 会将房间里的多路流混合到您指定的直播流 ID 上,也就是 A+B =>C。
【推荐取值】默认值:null,即房间里的多路流会混合到该接口调用者的视频流上。

◆ trtc::TRTCPublishCDNParam

struct trtc::TRTCPublishCDNParam

Public 成员函数

 TRTCPublishCDNParam ()
 

成员变量

uint32_t appId
 
uint32_t bizId
 
const char * url
 

构造及析构函数说明

◆ TRTCPublishCDNParam()

TRTCPublishCDNParam ( )
inline

结构体成员变量说明

◆ appId

uint32_t appId

腾讯云 AppID,请在 实时音视频控制台 选择已经创建的应用,单击【帐号信息】,在“直播信息”中获取

◆ bizId

uint32_t bizId

腾讯云直播 bizid,请在 实时音视频控制台 选择已经创建的应用,单击【帐号信息】,在“直播信息”中获取

◆ url

const char* url

旁路转推的 URL

◆ trtc::TRTCAudioRecordingParams

struct trtc::TRTCAudioRecordingParams

Public 成员函数

 TRTCAudioRecordingParams ()
 

成员变量

const char * filePath
 

构造及析构函数说明

◆ TRTCAudioRecordingParams()

结构体成员变量说明

◆ filePath

const char* filePath

【字段含义】文件路径(必填),录音文件的保存路径。该路径需要用户自行指定,请确保路径存在且可写。
【特别说明】该路径需精确到文件名及格式后缀,格式后缀决定录音文件的格式,目前支持的格式有 PCM、WAV 和 AAC。 例如,指定路径为 path/to/audio.aac,则会生成一个 AAC 格式的文件。 请指定一个有读写权限的合法路径,否则录音文件无法生成。

◆ trtc::TRTCAudioEffectParam

struct trtc::TRTCAudioEffectParam

Public 成员函数

 TRTCAudioEffectParam (const int _effectId, const char *_path)
 

成员变量

int effectId
 
const char * path
 
int loopCount
 
bool publish
 
int volume
 

构造及析构函数说明

◆ TRTCAudioEffectParam()

TRTCAudioEffectParam ( const int  _effectId,
const char *  _path 
)
inline

结构体成员变量说明

◆ effectId

int effectId

【字段含义】音效 ID,
【特殊说明】SDK 允许播放多路音效,因此需要音效 ID 进行标记,用于控制音效的开始、停止、音量等

◆ path

const char* path

【字段含义】音效路径,支持的文件格式:aac, mp3。

◆ loopCount

int loopCount

【字段含义】循环播放次数
【推荐取值】取值范围为0 - 任意正整数,默认值:0。0表示播放音效一次;1表示播放音效两次;以此类推

◆ publish

bool publish

【字段含义】音效是否上行
【推荐取值】YES:音效在本地播放的同时,会上行至云端,因此远端用户也能听到该音效;NO:音效不会上行至云端,因此只能在本地听到该音效。默认值:NO

◆ volume

int volume

【字段含义】音效音量
【推荐取值】取值范围为0 - 100;默认值:100

◆ trtc::TRTCSwitchRoomConfig

struct trtc::TRTCSwitchRoomConfig

Public 成员函数

 TRTCSwitchRoomConfig ()
 

成员变量

uint32_t roomId
 
const char * strRoomId
 
const char * userSig
 
const char * privateMapKey
 

构造及析构函数说明

◆ TRTCSwitchRoomConfig()

结构体成员变量说明

◆ roomId

uint32_t roomId

【字段含义】数字房间号码 [选填],在同一个房间内的用户可以看到彼此并进行视频通话。
【推荐取值】取值范围:1 - 4294967294。
【特别说明】roomId 和 strRoomId 必须并且只能填一个。若两者都填,则优先选择 roomId。

◆ strRoomId

const char* strRoomId

【字段含义】字符串房间号码 [选填],在同一个房间内的用户可以看到彼此并进行视频通话。
【特别说明】roomId 和 strRoomId 必须并且只能填一个。若两者都填,则优先选择 roomId。

◆ userSig

const char* userSig

【字段含义】用户签名 [选填],当前 userId 对应的验证签名,相当于登录密码。不填时,SDK 会继续使用旧的 userSig, 但用户必须保证旧的 userSig 仍在有效期内,否则会造成进房失败等后果。
【推荐取值】具体计算方法请参见 如何计算UserSig

◆ privateMapKey

const char* privateMapKey

【字段含义】房间签名 [选填],当您希望某个房间只能让特定的 userId 进入时,需要使用 privateMapKey 进行权限保护。
【推荐取值】仅建议有高级别安全需求的客户使用,更多详情请参见 进房权限保护

◆ trtc::TRTCLocalStatistics

struct trtc::TRTCLocalStatistics

Public 成员函数

 TRTCLocalStatistics ()
 

成员变量

uint32_t width
 
uint32_t height
 
uint32_t frameRate
 
uint32_t videoBitrate
 
uint32_t audioSampleRate
 
uint32_t audioBitrate
 
TRTCVideoStreamType streamType
 

构造及析构函数说明

◆ TRTCLocalStatistics()

TRTCLocalStatistics ( )
inline

结构体成员变量说明

◆ width

uint32_t width

视频宽度

◆ height

uint32_t height

视频高度

◆ frameRate

uint32_t frameRate

帧率(fps)

◆ videoBitrate

uint32_t videoBitrate

视频发送码率(Kbps)

◆ audioSampleRate

uint32_t audioSampleRate

音频采样率(Hz)

◆ audioBitrate

uint32_t audioBitrate

音频发送码率(Kbps)

◆ streamType

TRTCVideoStreamType streamType

流类型(大画面 | 小画面 | 辅路画面)

◆ trtc::TRTCRemoteStatistics

struct trtc::TRTCRemoteStatistics

Public 成员函数

 TRTCRemoteStatistics ()
 

成员变量

const char * userId
 
uint32_t finalLoss
 
uint32_t width
 
uint32_t height
 
uint32_t frameRate
 
uint32_t videoBitrate
 
uint32_t audioSampleRate
 
uint32_t audioBitrate
 
uint32_t jitterBufferDelay
 
uint32_t point2PointDelay
 
uint32_t audioTotalBlockTime
 
uint32_t audioBlockRate
 
uint32_t videoTotalBlockTime
 
uint32_t videoBlockRate
 
TRTCVideoStreamType streamType
 

构造及析构函数说明

◆ TRTCRemoteStatistics()

结构体成员变量说明

◆ userId

const char* userId

用户 ID,指定是哪个用户的视频流

◆ finalLoss

uint32_t finalLoss

该线路的总丢包率(%) 这个值越小越好,例如,丢包率为0表示网络很好。 丢包率是该线路的 userId 从上行到服务器再到下行的总丢包率。 如果 downLoss 为0,但是 finalLoss 不为0,说明该 userId 上行时出现了无法恢复的丢包。

◆ width

uint32_t width

视频宽度

◆ height

uint32_t height

视频高度

◆ frameRate

uint32_t frameRate

接收帧率(fps)

◆ videoBitrate

uint32_t videoBitrate

视频码率(Kbps)

◆ audioSampleRate

uint32_t audioSampleRate

音频采样率(Hz)

◆ audioBitrate

uint32_t audioBitrate

音频码率(Kbps)

◆ jitterBufferDelay

uint32_t jitterBufferDelay

播放时延(ms)

◆ point2PointDelay

uint32_t point2PointDelay

端对端延迟(ms) 该字段为全链路延迟统计,链路包含:采集->编码->网络传输->接收->缓冲->解码->播放 延迟以 audio 为基准进行计算。需要本地和远端均为8.5版本以上时才生效 若远端用户为低版本,对应延迟会回调为0,此时代表无效值

◆ audioTotalBlockTime

uint32_t audioTotalBlockTime

音频播放卡顿累计时长(ms)

◆ audioBlockRate

uint32_t audioBlockRate

音频播放卡顿率,音频卡顿累计时长占音频总播放时长的百分比 (%)

◆ videoTotalBlockTime

uint32_t videoTotalBlockTime

视频播放卡顿累计时长(ms)

◆ videoBlockRate

uint32_t videoBlockRate

视频播放卡顿率,视频卡顿累计时长占音频总播放时长的百分比()

◆ streamType

TRTCVideoStreamType streamType

流类型(大画面 | 小画面 | 辅路画面)

◆ trtc::TRTCStatistics

struct trtc::TRTCStatistics

Public 成员函数

 TRTCStatistics ()
 

成员变量

uint32_t upLoss
 
uint32_t downLoss
 
uint32_t appCpu
 
uint32_t systemCpu
 
uint32_t rtt
 
uint32_t receivedBytes
 
uint32_t sentBytes
 
TRTCLocalStatisticslocalStatisticsArray
 
uint32_t localStatisticsArraySize
 
TRTCRemoteStatisticsremoteStatisticsArray
 
uint32_t remoteStatisticsArraySize
 

构造及析构函数说明

◆ TRTCStatistics()

TRTCStatistics ( )
inline

结构体成员变量说明

◆ upLoss

uint32_t upLoss

C -> S 上行丢包率(%), 该值越小越好,例如,丢包率为0表示网络很好, 丢包率为30%则意味着 SDK 向服务器发送的数据包中会有30%丢失在上行传输中。

◆ downLoss

uint32_t downLoss

S -> C 下行丢包率(%), 该值越小越好,例如,丢包率为0表示网络很好, 丢包率为30%则意味着 SDK 向服务器发送的数据包中会有30%丢失在下行传输中。

◆ appCpu

uint32_t appCpu

当前 App 的 CPU 使用率(%)

◆ systemCpu

uint32_t systemCpu

当前系统的 CPU 使用率(%)

◆ rtt

uint32_t rtt

延迟(毫秒), 指 SDK 到腾讯云服务器的一次网络往返时间,该值越小越好。 一般低于50ms的 rtt 相对理想,而高于100ms的 rtt 会引入较大的通话延时。 由于数据上下行共享一条网络连接,所以 local 和 remote 的 rtt 相同。

◆ receivedBytes

uint32_t receivedBytes

总接收字节数(包含信令和音视频)

◆ sentBytes

uint32_t sentBytes

总发送字节总数(包含信令和音视频)

◆ localStatisticsArray

TRTCLocalStatistics* localStatisticsArray

本地的音视频统计信息,可能有主画面、小画面以及辅路画面等多路的情况,因此是一个数组

◆ localStatisticsArraySize

uint32_t localStatisticsArraySize

数组 localStatisticsArray 的大小

◆ remoteStatisticsArray

TRTCRemoteStatistics* remoteStatisticsArray

远端成员的音视频统计信息,可能有主画面、小画面以及辅路画面等多路的情况,因此是一个数组

◆ remoteStatisticsArraySize

uint32_t remoteStatisticsArraySize

数组 remoteStatisticsArray 的大小

◆ trtc::TRTCImageBuffer

struct trtc::TRTCImageBuffer

Public 成员函数

 TRTCImageBuffer ()
 

成员变量

const char * buffer
 
uint32_t length
 
uint32_t width
 
uint32_t height
 

构造及析构函数说明

◆ TRTCImageBuffer()

TRTCImageBuffer ( )
inline

结构体成员变量说明

◆ buffer

const char* buffer

图内容

◆ length

uint32_t length

图缓存大小

◆ width

uint32_t width

图宽

◆ height

uint32_t height

图高

◆ trtc::TRTCScreenCaptureSourceInfo

struct trtc::TRTCScreenCaptureSourceInfo

Public 成员函数

 TRTCScreenCaptureSourceInfo ()
 

成员变量

TRTCScreenCaptureSourceType type
 
TXView sourceId
 
const char * sourceName
 
TRTCImageBuffer thumbBGRA
 
TRTCImageBuffer iconBGRA
 

构造及析构函数说明

◆ TRTCScreenCaptureSourceInfo()

结构体成员变量说明

◆ type

采集源类型

◆ sourceId

TXView sourceId

采集源ID;对于窗口,该字段指示窗口句柄;对于屏幕,该字段指示屏幕ID

◆ sourceName

const char* sourceName

采集源名称,UTF8编码

◆ thumbBGRA

TRTCImageBuffer thumbBGRA

缩略图内容

◆ iconBGRA

TRTCImageBuffer iconBGRA

图标内容

◆ trtc::ITRTCScreenCaptureSourceList

class trtc::ITRTCScreenCaptureSourceList

Public 成员函数

virtual uint32_t getCount ()=0
 
virtual TRTCScreenCaptureSourceInfo getSourceInfo (uint32_t index)=0
 
virtual void release ()=0
 

构造及析构函数说明

◆ ~ITRTCScreenCaptureSourceList()

virtual ~ITRTCScreenCaptureSourceList ( )
inlineprotectedvirtual

成员函数说明

◆ getCount()

virtual uint32_t getCount ( )
pure virtual
返回
窗口个数

◆ getSourceInfo()

virtual TRTCScreenCaptureSourceInfo getSourceInfo ( uint32_t  index)
pure virtual
返回
窗口信息

◆ release()

virtual void release ( )
pure virtual

遍历完窗口列表后,调用release释放资源。

◆ trtc::TRTCScreenCaptureProperty

struct trtc::TRTCScreenCaptureProperty

Public 成员函数

 TRTCScreenCaptureProperty ()
 

成员变量

bool enableCaptureMouse
 
bool enableHighLight
 
bool enableHighPerformance
 
int highLightColor
 
int highLightWidth
 
bool enableCaptureChildWindow
 

构造及析构函数说明

◆ TRTCScreenCaptureProperty()

结构体成员变量说明

◆ enableCaptureMouse

bool enableCaptureMouse

是否采集目标内容时顺带采集鼠标,默认为 true

◆ enableHighLight

bool enableHighLight

是否高亮正在共享的窗口,默认为 true

◆ enableHighPerformance

bool enableHighPerformance

是否开启高性能模式(只会在分享屏幕时会生效),开启后屏幕采集性能最佳,但无法过滤远端的高亮边框,默认为 true

◆ highLightColor

int highLightColor

指定高亮边框颜色,RGB格式,传入0时采用默认颜色,默认颜色为 #8CBF26

◆ highLightWidth

int highLightWidth

指定高亮边框的宽度,传入0时采用默认描边宽度,默认宽度为 5,最大值为 50

◆ enableCaptureChildWindow

bool enableCaptureChildWindow

窗口采集时是否采集子窗口(与采集窗口具有 Owner 或 Popup 属性),默认为 false

◆ trtc::TRTCLocalRecordingParams

struct trtc::TRTCLocalRecordingParams
成员变量
const char * filePath

【字段含义】文件路径(必填),录制的文件地址,请自行指定,确保路径有读写权限且合法,否则录制文件无法生成。
【特别说明】该路径需精确到文件名及格式后缀,格式后缀决定录制文件的格式,目前支持的格式只有 mp4。 Windows建议在应用的私有数据目录中指定存放路径。
【示例代码】在 appdata%\test 目录下录制 example.mp4 文件 std::string filePath; std::wstring path; wchar_t fullPath[MAX_PATH] = { 0 }; SHGetFolderPathW(NULL, CSIDL_APPDATA, NULL, 0, fullPath); path=fullPath; path += L"\\test\\example.mp4"; filePath = txf_wstr2utf8(path);

TRTCLocalRecordType recordType 【字段含义】媒体录制类型,默认为同时录制音频和视频。
int interval interval 录制中事件(onLocalRecordDoing)的回调频率,单位毫秒,有效范围:1000-10000,默认为-1表示不回调

宏定义说明

◆ TRTCDeviceTypeUnknow

#define TRTCDeviceTypeUnknow   TXMediaDeviceTypeUnknown

◆ TRTCDeviceTypeMic

#define TRTCDeviceTypeMic   TXMediaDeviceTypeMic

◆ TRTCDeviceTypeSpeaker

#define TRTCDeviceTypeSpeaker   TXMediaDeviceTypeSpeaker

◆ TRTCDeviceTypeCamera

#define TRTCDeviceTypeCamera   TXMediaDeviceTypeCamera

类型定义说明

◆ TRTCDeviceType

设备类型

以下定义仅用于兼容原有接口,具体定义参见 ITXDeviceManager.h 文件

◆ ITRTCDeviceCollection

设备列表和设备 Item 信息

以下定义仅用于兼容原有接口,具体定义参见 ITXDeviceManager.h 文件

◆ ITRTCDeviceInfo

枚举类型说明

◆ TRTCVideoResolution

视频分辨率

此处仅定义横屏分辨率,如需使用竖屏分辨率(例如360 × 640),需要同时指定 TRTCVideoResolutionMode 为 Portrait。

枚举值
TRTCVideoResolution_120_120 

[C] 建议码率80kbps

TRTCVideoResolution_160_160 

[C] 建议码率100kbps

TRTCVideoResolution_270_270 

[C] 建议码率200kbps

TRTCVideoResolution_480_480 

[C] 建议码率350kbps

TRTCVideoResolution_160_120 

[C] 建议码率100kbps

TRTCVideoResolution_240_180 

[C] 建议码率150kbps

TRTCVideoResolution_280_210 

[C] 建议码率200kbps

TRTCVideoResolution_320_240 

[C] 建议码率250kbps

TRTCVideoResolution_400_300 

[C] 建议码率300kbps

TRTCVideoResolution_480_360 

[C] 建议码率400kbps

TRTCVideoResolution_640_480 

[C] 建议码率600kbps

TRTCVideoResolution_960_720 

[C] 建议码率1000kbps

TRTCVideoResolution_160_90 

[C] 建议码率150kbps

TRTCVideoResolution_256_144 

[C] 建议码率200kbps

TRTCVideoResolution_320_180 

[C] 建议码率250kbps

TRTCVideoResolution_480_270 

[C] 建议码率350kbps

TRTCVideoResolution_640_360 

[C] 建议码率550kbps

TRTCVideoResolution_960_540 

[C] 建议码率850kbps

TRTCVideoResolution_1280_720 

[C] 摄像头采集 - 建议码率1200kbps [S] 屏幕分享 - 建议码率:低清:1000kbps 高清:1600kbps

TRTCVideoResolution_1920_1080 

[S] 屏幕分享 - 建议码率2000kbps

◆ TRTCVideoResolutionMode

视频分辨率模式

  • 横屏分辨率:TRTCVideoResolution_640_360 + TRTCVideoResolutionModeLandscape = 640 × 360
  • 竖屏分辨率:TRTCVideoResolution_640_360 + TRTCVideoResolutionModePortrait = 360 × 640
枚举值
TRTCVideoResolutionModeLandscape 

横屏分辨率

TRTCVideoResolutionModePortrait 

竖屏分辨率

◆ TRTCVideoStreamType

视频流类型

TRTC 内部有三种不同的音视频流,分别为:

  • 主画面:最常用的一条线路,一般用来传输摄像头的视频数据。
  • 小画面:跟主画面的内容相同,但是分辨率和码率更低。
  • 辅流画面:一般用于屏幕分享或远程播片(例如老师播放视频给学生观看)。
注意
- 如果主播的上行网络和性能比较好,则可以同时送出大小两路画面。
- SDK 不支持单独开启小画面,小画面必须依附于主画面而存在。
枚举值
TRTCVideoStreamTypeBig 

主画面视频流

TRTCVideoStreamTypeSmall 

小画面视频流

TRTCVideoStreamTypeSub 

辅流(屏幕分享)

◆ TRTCQuality [1/2]

画质级别

TRTC SDK 对画质定义了六种不同的级别,Excellent 表示最好,Down 表示不可用。

枚举值
TRTCQuality_Unknown 

未定义

TRTCQuality_Excellent 

最好

TRTCQuality_Good 

TRTCQuality_Poor 

一般

TRTCQuality_Bad 

TRTCQuality_Vbad 

很差

TRTCQuality_Down 

不可用

TRTCQuality_Unknown 

未定义

TRTCQuality_Excellent 

最好

TRTCQuality_Good 

TRTCQuality_Poor 

一般

TRTCQuality_Bad 

TRTCQuality_Vbad 

很差

TRTCQuality_Down 

不可用

◆ TRTCVideoFillMode

视频画面填充模式

如果画面的显示分辨率不等于画面的原始分辨率,就需要您设置画面的填充模式:

  • TRTCVideoFillMode_Fill,图像铺满屏幕,超出显示视窗的视频部分将被裁剪,画面显示可能不完整。
  • TRTCVideoFillMode_Fit,图像长边填满屏幕,短边区域会被填充黑色,但画面的内容肯定是完整的。
枚举值
TRTCVideoFillMode_Fill 

图像铺满屏幕,超出显示视窗的视频部分将被裁剪

TRTCVideoFillMode_Fit 

图像长边填满屏幕,短边区域会被填充黑色

◆ TRTCVideoRotation

视频画面旋转方向

TRTC SDK 提供了对本地和远程画面的旋转角度设置 API,下列的旋转角度都是指顺时针方向的。

枚举值
TRTCVideoRotation0 

顺时针旋转0度

TRTCVideoRotation90 

顺时针旋转90度

TRTCVideoRotation180 

顺时针旋转180度

TRTCVideoRotation270 

顺时针旋转270度

◆ TRTCBeautyStyle

美颜(磨皮)算法

TRTC SDK 内置多种不同的磨皮算法,您可以选择最适合您产品定位的方案。

枚举值
TRTCBeautyStyleSmooth 

光滑,适用于美女秀场,效果比较明显。

TRTCBeautyStyleNature 

自然,磨皮算法更多地保留了面部细节,主观感受上会更加自然。

◆ TRTCVideoPixelFormat

视频像素格式

TRTC SDK 提供针对视频的自定义采集和自定义渲染功能,在自定义采集功能中,您可以用下列枚举值描述您采集的视频像素格式。 在自定义渲染功能中,您可以指定您期望 SDK 回调的视频像素格式。

枚举值
TRTCVideoPixelFormat_Unknown 
TRTCVideoPixelFormat_I420 

I420

TRTCVideoPixelFormat_Texture_2D 

OpenGL 2D 纹理

TRTCVideoPixelFormat_BGRA32 

BGRA32

◆ TRTCVideoBufferType

视频数据包装格式

枚举值
TRTCVideoBufferType_Unknown 
TRTCVideoBufferType_Buffer 

二进制Buffer类型

TRTCVideoBufferType_Texture 

纹理类型

◆ TRTCVideoMirrorType

画面渲染镜像类型

TRTC 的画面镜像提供下列设置模式

枚举值
TRTCVideoMirrorType_Auto 

只适用于移动端,本地预览时,前置摄像头镜像,后置摄像头不镜像

TRTCVideoMirrorType_Enable 

所有画面均镜像

TRTCVideoMirrorType_Disable 

所有画面均不镜像

◆ TRTCSnapshotSourceType

视频截图来源

枚举值
TRTCSnapshotSourceTypeStream 

从视频流上截取视频画面

TRTCSnapshotSourceTypeView 

从渲染 View 上截取视频画面

◆ TRTCAppScene

应用场景

TRTC 可用于视频会议和在线直播等多种应用场景,针对不同的应用场景,TRTC SDK 的内部会进行不同的优化配置:

  • TRTCAppSceneVideoCall :视频通话场景,适合[1对1视频通话]、[300人视频会议]、[在线问诊]、[视频聊天]、[远程面试]等。
  • TRTCAppSceneLIVE :视频互动直播,适合[视频低延时直播]、[十万人互动课堂]、[视频直播 PK]、[视频相亲房]、[互动课堂]、[远程培训]、[超大型会议]等。
  • TRTCAppSceneAudioCall :语音通话场景,适合[1对1语音通话]、[300人语音会议]、[语音聊天]、[语音会议]、[在线狼人杀]等。
  • TRTCAppSceneVoiceChatRoom:语音互动直播,适合:[语音低延时直播]、[语音直播连麦]、[语聊房]、[K 歌房]、[FM 电台]等。
枚举值
TRTCAppSceneVideoCall 

视频通话场景,支持720P、1080P高清画质,单个房间最多支持300人同时在线,最高支持50人同时发言。
适合:[1对1视频通话]、[300人视频会议]、[在线问诊]、[视频聊天]、[远程面试]等。

TRTCAppSceneLIVE 

视频互动直播,支持平滑上下麦,切换过程无需等待,主播延时小于300ms;支持十万级别观众同时播放,播放延时低至1000ms。
适合:[视频低延时直播]、[十万人互动课堂]、[视频直播 PK]、[视频相亲房]、[互动课堂]、[远程培训]、[超大型会议]等。
注意:此场景下,您必须通过 TRTCParams 中的 role 字段指定当前用户的角色。

TRTCAppSceneAudioCall 

语音通话场景,支持 48kHz,支持双声道。单个房间最多支持300人同时在线,最高支持50人同时发言。
适合:[1对1语音通话]、[300人语音会议]、[语音聊天]、[语音会议]、[在线狼人杀]等。

TRTCAppSceneVoiceChatRoom 

语音互动直播,支持平滑上下麦,切换过程无需等待,主播延时小于300ms;支持十万级别观众同时播放,播放延时低至1000ms。
适合:[语音低延时直播]、[语音直播连麦]、[语聊房]、[K 歌房]、[FM 电台]等。
注意:此场景下,您必须通过 TRTCParams 中的 role 字段指定当前用户的角色。

◆ TRTCRoleType

角色,仅适用于直播场景(TRTCAppSceneLIVE 和 TRTCAppSceneVoiceChatRoom)

在直播场景中,多数用户仅为观众,个别用户是主播,这种角色区分有利于 TRTC 进行更好的定向优化。

  • Anchor:主播,可以上行视频和音频,一个房间里最多支持50个主播同时上行音视频。
  • Audience:观众,只能观看,不能上行视频和音频,一个房间里的观众人数没有上限。
枚举值
TRTCRoleAnchor 

主播

TRTCRoleAudience 

观众

◆ TRTCQosControlMode

流控模式

TRTC SDK 内部需要时刻根据网络情况调整内部的编解码器和网络模块,以便能够对网络的变化做出反应。 为了支持快速算法升级,SDK 内部设置了两种不同的流控模式:

  • ModeServer:云端控制,默认模式,推荐选择。
  • ModeClient:本地控制,用于 SDK 开发内部调试,客户请勿使用。
注意
推荐您使用云端控制,这样每当我们升级 Qos 算法时,您无需升级 SDK 即可体验更好的效果。
枚举值
TRTCQosControlModeClient 

客户端控制(用于 SDK 开发内部调试,客户请勿使用)

TRTCQosControlModeServer 

云端控制 (默认)

◆ TRTCVideoQosPreference

画质偏好

指当 TRTC SDK 在遇到弱网络环境时,您期望“保清晰”或“保流畅”:

  • Smooth:弱网下保流畅。即在遭遇弱网环境时首先确保声音的流畅和优先发送,画面会变得模糊且会有较多马赛克,但可以保持流畅不卡顿。
  • Clear:弱网下保清晰。即在遭遇弱网环境时,画面会尽可能保持清晰,但可能会更容易出现卡顿。
枚举值
TRTCVideoQosPreferenceSmooth 

弱网下保流畅

TRTCVideoQosPreferenceClear 

弱网下保清晰

◆ TRTCQuality [2/2]

网络质量

TRTC SDK 对网络质量定义了六种不同的级别,Excellent 表示最好,Down 表示不可用。

枚举值
TRTCQuality_Unknown 

未定义

TRTCQuality_Excellent 

最好

TRTCQuality_Good 

TRTCQuality_Poor 

一般

TRTCQuality_Bad 

TRTCQuality_Vbad 

很差

TRTCQuality_Down 

不可用

TRTCQuality_Unknown 

未定义

TRTCQuality_Excellent 

最好

TRTCQuality_Good 

TRTCQuality_Poor 

一般

TRTCQuality_Bad 

TRTCQuality_Vbad 

很差

TRTCQuality_Down 

不可用

◆ TRTCMixInputType

混流输入类型

枚举值
TRTCMixInputTypeUndefined 

不指定,根据pureAudio值决定混流类型

TRTCMixInputTypeAudioVideo 

混入音视频

TRTCMixInputTypePureVideo 

只混入视频

TRTCMixInputTypePureAudio 

只混入音频

◆ TRTCAudioFrameFormat

音频帧的格式

枚举值
TRTCAudioFrameFormatNone 
TRTCAudioFrameFormatPCM 

PCM,每个采样点占16bit数据量。

◆ TRTCAudioQuality

声音音质

音频音质用来衡量声音的保真程度,TRTCAudioQualitySpeech 适用于通话场景,TRTCAudioQualityMusic 适用于高音质音乐场景。

枚举值
TRTCAudioQualitySpeech 

流畅音质:采样率:16k;单声道;音频裸码率:16kbps;适合语音通话为主的场景,比如在线会议,语音通话。

TRTCAudioQualityDefault 

默认音质:采样率:48k;单声道;音频裸码率:50kbps;SDK 默认的音频质量,如无特殊需求推荐选择之。

TRTCAudioQualityMusic 

高音质:采样率:48k;双声道 + 全频带;音频裸码率:128kbps;适合需要高保真传输音乐的场景,比如K歌、音乐直播等。

◆ TRTCLogLevel

Log 级别

枚举值
TRTCLogLevelVerbose 

输出所有级别的 Log

TRTCLogLevelDebug 

输出 DEBUG,INFO,WARNING,ERROR 和 FATAL 级别的 Log

TRTCLogLevelInfo 

输出 INFO,WARNING,ERROR 和 FATAL 级别的 Log

TRTCLogLevelWarn 

只输出WARNING,ERROR 和 FATAL 级别的 Log

TRTCLogLevelError 

只输出ERROR 和 FATAL 级别的 Log

TRTCLogLevelFatal 

只输出 FATAL 级别的 Log

TRTCLogLevelNone 

不输出任何 SDK Log

◆ TRTCDeviceState

设备操作

枚举值
TRTCDeviceStateAdd 

添加设备

TRTCDeviceStateRemove 

移除设备

TRTCDeviceStateActive 

设备已启用

◆ TRTCWaterMarkSrcType

水印图片的源类型

枚举值
TRTCWaterMarkSrcTypeFile 

图片文件路径,支持 BMP、GIF、JPEG、PNG、TIFF、Exif、WMF 和 EMF 文件格式

TRTCWaterMarkSrcTypeBGRA32 

BGRA32格式内存块

TRTCWaterMarkSrcTypeRGBA32 

RGBA32格式内存块

◆ TRTCScreenCaptureSourceType

屏幕分享目标信息

枚举值
TRTCScreenCaptureSourceTypeUnknown 
TRTCScreenCaptureSourceTypeWindow 

该分享目标是某一个窗口

TRTCScreenCaptureSourceTypeScreen 

该分享目标是整个桌面

TRTCScreenCaptureSourceTypeCustom 

◆ TRTCTranscodingConfigMode

混流参数配置模式

枚举值
TRTCTranscodingConfigMode_Unknown 

非法值

TRTCTranscodingConfigMode_Manual 

全手动模式,灵活性最高,可以自由组合出各种混流方案,但易用性最差。 此模式下,您需要填写 TRTCTranscodingConfig 中的所有参数,并需要监听 TRTCCloudDelegate 中的 onUserVideoAvailable() 和 onUserAudioAvailable() 回调, 以便根据当前房间中各个上麦用户的音视频状态不断地调整 mixUsers 参数,否则会导致混流失败。

TRTCTranscodingConfigMode_Template_PureAudio 

纯音频模式,适用于语音通话(AudioCall)和语音聊天室(VoiceChatRoom)等纯音频场景。 只需要在进房后通过 setMixTranscodingConfig() 接口设置一次,之后 SDK 就会自动把房间内所有上麦用户的声音混流到当前用户的直播流上。 此模式下,您无需设置 TRTCTranscodingConfig 中的 mixUsers 参数,只需设置 audioSampleRate、audioBitrate 和 audioChannels 等参数。

TRTCTranscodingConfigMode_Template_PresetLayout 

预排版模式,通过占位符提前对各路画面进行排布 此模式下,您依然需要设置 mixUsers 参数,但可以将 userId 设置为占位符,可选的占位符有:

  • "$PLACE_HOLDER_REMOTE$" : 指代远程用户的画面,可以设置多个。
  • "$PLACE_HOLDER_LOCAL_MAIN$" : 指代本地摄像头画面,只允许设置一个。
  • "$PLACE_HOLDER_LOCAL_SUB$" : 指代本地屏幕分享画面,只允许设置一个。 但是您可以不需要监听 TRTCCloudDelegate 中的 onUserVideoAvailable() 和 onUserAudioAvailable() 回调进行实时调整, 只需要在进房成功后调用一次 setMixTranscodingConfig() 即可,之后 SDK 会自动将真实的 userId 补位到您设置的占位符上。
TRTCTranscodingConfigMode_Template_ScreenSharing 

屏幕分享模式,适用于在线教育场景等以屏幕分享为主的应用场景,仅支持 Windows 和 Mac 两个平台的 SDK。 SDK 会先根据您(通过 videoWidth 和 videoHeight 参数)设置的目标分辨率构建一张画布, 当老师未开启屏幕分享时,SDK 会将摄像头画面等比例拉伸绘制到该画布上;当老师开启屏幕分享之后,SDK 会将屏幕分享画面绘制到同样的画布上。 这样操作的目的是为了确保混流模块的输出分辨率一致,避免课程回放和网页观看的花屏问题(网页播放器不支持可变分辨率)。

由于教学模式下的视频内容以屏幕分享为主,因此同时传输摄像头画面和屏幕分享画面是非常浪费带宽的。 推荐的做法是直接将摄像头画面通过 setLocalVideoRenderCallback 接口自定义绘制到当前屏幕上。 在该模式下,您无需设置 TRTCTranscodingConfig 中的 mixUsers 参数,SDK 不会混合学生的画面,以免干扰屏幕分享的效果。

您可以将 TRTCTranscodingConfig 中的 width × height 设为 0px × 0px,SDK 会自动根据用户当前屏幕的宽高比计算出一个合适的分辨率:

  • 如果老师当前屏幕宽度 <= 1920px,SDK 会使用老师当前屏幕的实际分辨率。
  • 如果老师当前屏幕宽度 > 1920px,SDK 会根据当前屏幕宽高比,选择 1920x1080(16:9)、1920x1200(16:10)、1920x1440(4:3) 三种分辨率中的一种。

◆ TRTCLocalRecordType

本地录制参数

枚举值
TRTCLocalRecordType_Audio 

仅录制音频

TRTCLocalRecordType_Video 

仅录制视频

TRTCLocalRecordType_Both 

同时录制音频、视频