腾讯云视频通话功能的关键类型定义
struct ManageLiteAV::TRTCImageBuffer |
struct ManageLiteAV::TRTCScreenCaptureSourceInfo |
Public 成员函数 | |
TRTCScreenCaptureSourceInfo () | |
成员变量 | |
TRTCScreenCaptureSourceType | type |
IntPtr | sourceId |
String ^ | sourceName |
TRTCImageBuffer ^ | thumbBGRA |
TRTCImageBuffer ^ | iconBGRA |
bool | isMinmizeWindow |
bool | isMainScreen |
|
inline |
TRTCImageBuffer ^ iconBGRA |
图标内容
bool isMainScreen |
【字段含义】是否为主显示屏(适用于多显示器的情况)
bool isMinmizeWindow |
【字段含义】是否为最小化窗口
IntPtr sourceId |
采集源ID;对于窗口,该字段指示窗口句柄;对于屏幕,该字段指示屏幕ID
String ^ sourceName |
采集源名称,UTF8编码
TRTCImageBuffer ^ thumbBGRA |
缩略图内容
采集源类型
struct ManageLiteAV::TRTCScreenCaptureProperty |
Public 成员函数 | |
TRTCScreenCaptureProperty () | |
成员变量 | |
bool | enableCaptureMouse |
bool | enableHighLight |
bool | enableHighPerformance |
bool | enableCaptureChildWindow |
int | highLightColor |
int | highLightWidth |
|
inline |
bool enableCaptureChildWindow |
【字段含义】窗口采集时是否采集子窗口(需要子窗口与被采集窗口具有 Owner 或 Popup 属性),默认为 false。
bool enableCaptureMouse |
是否采集目标内容时顺带采集鼠标,默认为 true
bool enableHighLight |
是否高亮正在共享的窗口,默认为 true
bool enableHighPerformance |
是否开启高性能模式(只会在分享屏幕时会生效),开启后屏幕采集性能最佳,但无法过滤远端的高亮边框,默认为 true
int highLightColor |
指定高亮边框颜色,RGB格式,传入0时采用默认颜色,默认颜色为 #8CBF26
int highLightWidth |
指定高亮边框的宽度,传入0时采用默认描边宽度,默认宽度为 5,最大值为 50
struct ManageLiteAV::TRTCLocalRecordingParams |
成员变量 | ||
---|---|---|
String ^ | 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); |
int | interval | interval 录制中事件(onLocalRecordDoing)的回调频率,单位毫秒,有效范围:1000-10000,默认为-1表示不回调 |
TRTCLocalRecordType | recordType | 【字段含义】媒体录制类型,默认为同时录制音频和视频。 |
interface ManageLiteAV::ITRTCScreenCaptureSourceList |
Public 成员函数 | |
UInt32 | getCount () |
TRTCScreenCaptureSourceInfo ^ | getSourceInfo (UInt32 index) |
void | release () |
UInt32 getCount | ( | ) |
窗口个数
TRTCScreenCaptureSourceInfo ^ getSourceInfo | ( | UInt32 | index | ) |
窗口信息
void release | ( | ) |
遍历完窗口列表后,调用release释放资源。
struct ManageLiteAV::TRTCParams |
Public 成员函数 | |
TRTCParams () | |
成员变量 | |
UInt32 | sdkAppId |
String ^ | userId |
String ^ | userSig |
UInt32 | roomId |
String ^ | strRoomId |
TRTCRoleType | role |
String ^ | streamId |
String ^ | userDefineRecordId |
String ^ | privateMapKey |
String ^ | businessInfo |
|
inline |
String ^ businessInfo |
【字段含义】业务数据 [非必填],部分高级特性才需要使用该字段。
【推荐取值】不建议使用
String ^ privateMapKey |
【字段含义】房间签名 [非必填],当您希望某个房间只能让特定的 userId 进入时,需要使用 privateMapKey 进行权限保护。
【推荐取值】仅建议有高级别安全需求的客户使用,更多详情请参见 进房权限保护。
TRTCRoleType role |
【字段含义】直播场景下的角色,仅适用于直播场景(TRTCAppSceneLIVE),视频通话场景下指定无效。
【推荐取值】默认值:主播(TRTCRoleAnchor)
UInt32 roomId |
【字段含义】房间号码 [必填],在同一个房间内的用户可以看到彼此并进行视频通话。
【推荐取值】您可以自定义设置该参数值,但不可重复。如果您的用户帐号 ID (userId)为数字类型,可直接使用创建者的用户 ID 作为 roomId。
UInt32 sdkAppId |
【字段含义】应用标识 [必填],腾讯视频云基于 sdkAppId 进行计费统计。
在 实时音视频控制台 创建应用后可在帐号信息页面中得到该 ID。
String ^ streamId |
String ^ strRoomId |
【字段含义】字符串房间号码,在同一个房间里的用户(userId)可以彼此看到对方并进行视频通话。
【推荐取值】限制长度为64字节。以下为支持的字符集范围(共 89 个字符):
【特殊说明】roomId 与 strRoomId 必填一个,若您选用 strRoomId,则 roomId 需要填写为0。若两者都填,将优先选用 roomId。
String ^ userDefineRecordId |
【字段含义】设置云端录制完成后的回调消息中的 "userdefinerecordid" 字段内容,便于您更方便的识别录制回调。
【推荐取值】限制长度为64字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线和连词符。
【参考文档】云端录制。
String ^ userId |
【字段含义】用户标识 [必填],当前用户的 userId,相当于用户名,使用 UTF-8 编码。
【推荐取值】如果一个用户在您的帐号系统中的 ID 为“abc”,则 userId 即可设置为“abc”。
String ^ userSig |
【字段含义】用户签名 [必填],当前 userId 对应的验证签名,相当于登录密码。
【推荐取值】具体计算方法请参见 如何计算UserSig。
struct ManageLiteAV::TRTCVideoEncParam |
Public 成员函数 | |
TRTCVideoEncParam () | |
成员变量 | |
TRTCVideoResolution | videoResolution |
TRTCVideoResolutionMode | resMode |
UInt32 | videoFps |
UInt32 | videoBitrate |
UInt32 | minVideoBitrate |
bool | enableAdjustRes |
|
inline |
bool enableAdjustRes |
【字段含义】是否允许调整分辨率
【推荐取值】
- 手机直播建议选择 NO。
- 视频通话模式,若更关注流畅性,建议选择 YES,此时若遇到带宽有限的弱网,SDK 会自动降低分辨率以保障更好的流畅度(仅针对 TRTCVideoStreamTypeBig 生效)。
- 默认值:NO。
【特别说明】若有录制需求,选择 YES 时,请确保通话过程中,调整分辨率不会影响您的录制效果。
UInt32 minVideoBitrate |
【字段含义】最低视频码率,SDK 会在网络不佳的情况下主动降低视频码率,最低会降至 minVideoBitrate 所设定的数值。
【推荐取值】
- 如果您追求“允许卡顿但要保持清晰”的效果,可以设置 minVideoBitrate 为 videoBitrate 的 60;
- 如果您追求“允许模糊但要保持流畅”的效果,可以设置 minVideoBitrate 为 200kbps;
- 如果您将 videoBitrate 和 minVideoBitrate 设置为同一个值,等价于关闭 SDK 的自适应调节能力;
- 默认值:0,此时最低码率由 SDK 根据分辨率情况,自动设置合适的数值。
【特别说明】
- 当您把分辨率设置的比较高时,minVideoBitrate 不适合设置的太低,否则会出现画面模糊和大范围的马赛克宏块。
比如把分辨率设置为 720p,把码率设置为 200kbps,那么编码出的画面将会出现大范围区域性马赛克。
TRTCVideoResolutionMode resMode |
【字段含义】分辨率模式(横屏分辨率 - 竖屏分辨率)
【推荐取值】手机直播建议选择 Portrait,Window 和 Mac 建议选择 Landscape。
【特别说明】如果 videoResolution 指定分辨率 640 × 360,resMode 指定模式为 Portrait,则最终编码出的分辨率为360 × 640。
UInt32 videoBitrate |
【字段含义】目标视频码率,SDK 会按照目标码率进行编码,只有在网络不佳的情况下才会主动降低视频码率。
【推荐取值】请参考本 TRTCVideoResolution 在各档位注释的最佳码率,也可以在此基础上适当调高。
比如 TRTCVideoResolution_1280_720 对应 1200kbps 的目标码率,您也可以设置为 1500kbps 用来获得更好的清晰度观感。
【特别说明】SDK 会努力按照 videoBitrate 指定的码率进行编码,只有在网络不佳的情况下才会主动降低视频码率,最低会降至 minVideoBitrate 所设定的数值。
如果您追求“允许卡顿但要保持清晰”的效果,可以设置 minVideoBitrate 为 videoBitrate 的 60;
如果您追求“允许模糊但要保持流畅”的效果,可以设置 minVideoBitrate 为 200kbps;
如果您将 videoBitrate 和 minVideoBitrate 设置为同一个值,等价于关闭 SDK 的自适应调节能力。
UInt32 videoFps |
【字段含义】视频采集帧率
【推荐取值】15fps 或 20fps。5fps以下,卡顿感明显。10fps以下,会有轻微卡顿感。20fps以上,则过于浪费(电影的帧率为24fps)。
【特别说明】很多 Android 手机的前置摄像头并不支持15fps以上的采集帧率,部分过于突出美颜功能的 Android 手机前置摄像头的采集帧率可能低于10fps。
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。
struct ManageLiteAV::TRTCNetworkQosParam |
Public 成员函数 | |
TRTCNetworkQosParam () | |
成员变量 | |
TRTCVideoQosPreference | preference |
TRTCQosControlMode | controlMode |
|
inline |
TRTCQosControlMode controlMode |
【字段含义】视频分辨率(云端控制 - 客户端控制)
【推荐取值】云端控制
【特别说明】
- Server 模式(默认):云端控制模式,若无特殊原因,请直接使用该模式
- Client 模式:客户端控制模式,用于 SDK 开发内部调试,客户请勿使用
TRTCVideoQosPreference preference |
【字段含义】弱网下是“保清晰”或“保流畅”
【特别说明】
- 弱网下保流畅:在遭遇弱网环境时,画面会变得模糊,且出现较多马赛克,但可以保持流畅不卡顿
- 弱网下保清晰:在遭遇弱网环境时,画面会尽可能保持清晰,但可能容易出现卡顿
struct ManageLiteAV::TRTCQualityInfo |
Public 成员函数 | |
TRTCQualityInfo () | |
成员变量 | |
String ^ | userId |
TRTCQuality | quality |
|
inline |
TRTCQuality quality |
视频质量
String ^ userId |
用户标识
struct ManageLiteAV::TRTCVolumeInfo |
Public 成员函数 | |
TRTCVolumeInfo () | |
成员变量 | |
String ^ | userId |
UInt32 | volume |
|
inline |
String ^ userId |
说话者的 userId,字符编码格式为 UTF-8
UInt32 volume |
说话者的音量, 取值范围0 - 100
struct ManageLiteAV::TRTCVideoFrame |
Public 成员函数 | |
TRTCVideoFrame () | |
成员变量 | |
TRTCVideoPixelFormat | videoFormat |
TRTCVideoBufferType | bufferType |
array< Byte > ^ | data |
int | textureId |
UInt32 | length |
UInt32 | width |
UInt32 | height |
UInt64 | timestamp |
TRTCVideoRotation | rotation |
|
inline |
TRTCVideoBufferType bufferType |
视频数据结构类型
array<Byte> ^ data |
视频数据,字段bufferType是LiteAVVideoBufferType_Buffer时生效
UInt32 height |
画面的高度
UInt32 length |
视频数据的长度,单位是字节,对于i420而言, length = width * height * 3 / 2,对于BGRA32而言, length = width * height * 4
TRTCVideoRotation rotation |
画面旋转角度
int textureId |
视频纹理ID,字段bufferType是LiteAVVideoBufferType_Texture时生效
UInt64 timestamp |
时间戳,单位ms
TRTCVideoPixelFormat videoFormat |
视频帧的格式
UInt32 width |
画面的宽度
struct ManageLiteAV::TRTCAudioFrame |
Public 成员函数 | |
TRTCAudioFrame () | |
成员变量 | |
TRTCAudioFrameFormat | audioFormat |
array< Byte > ^ | data |
UInt32 | length |
UInt32 | sampleRate |
UInt32 | channel |
UInt64 | timestamp |
|
inline |
TRTCAudioFrameFormat audioFormat |
音频帧的格式
UInt32 channel |
声道数
array<Byte> ^ data |
音频数据
UInt32 length |
音频数据的长度
UInt32 sampleRate |
采样率
UInt64 timestamp |
时间戳,单位ms
struct ManageLiteAV::TRTCSpeedTestResult |
Public 成员函数 | |
TRTCSpeedTestResult () | |
成员变量 | |
String ^ | ip |
TRTCQuality | quality |
float | upLostRate |
float | downLostRate |
int | rtt |
|
inline |
float downLostRate |
下行丢包率,范围是0 - 1.0,例如,0.2表示每从服务器收取10个数据包可能会在中途丢失2个。
String ^ ip |
服务器 IP 地址
TRTCQuality quality |
网络质量,内部通过评估算法测算出的网络质量,loss 越低,rtt 越小,得分便越高
int rtt |
延迟(毫秒),指当前设备到腾讯云服务器的一次网络往返时间,该值越小越好,正常数值范围是10ms - 100ms
float upLostRate |
上行丢包率,范围是0 - 1.0,例如,0.3表示每向服务器发送10个数据包可能会在中途丢失3个。
struct ManageLiteAV::TRTCMixUser |
Public 成员函数 | |
TRTCMixUser () | |
成员变量 | |
String ^ | userId |
String ^ | roomId |
RECT ^ | rect |
int | zOrder |
bool | pureAudio |
TRTCVideoStreamType | streamType |
TRTCMixInputType | inputType |
|
inline |
TRTCMixInputType inputType |
【字段含义】该用户的输入流类型(该字段是对 pureAudio 字段的升级) 【推荐取值】
bool pureAudio |
是否纯音频
RECT ^ rect |
图层位置坐标以及大小,左上角为坐标原点(0,0) (绝对像素值)
String ^ roomId |
参与混流的 roomId,跨房流传入的实际 roomId,当前房间流传入 roomId = NULL
TRTCVideoStreamType streamType |
参与混合的是主路画面(TRTCVideoStreamTypeBig)或屏幕分享(TRTCVideoStreamTypeSub)画面
String ^ userId |
参与混流的 userId
int zOrder |
图层层次(1 - 15)不可重复
struct ManageLiteAV::TRTCTranscodingConfig |
Public 成员函数 | |
TRTCTranscodingConfig () | |
成员变量 | |
TRTCTranscodingConfigMode | mode |
UInt32 | appId |
UInt32 | bizId |
UInt32 | videoWidth |
UInt32 | videoHeight |
UInt32 | videoBitrate |
UInt32 | videoFramerate |
UInt32 | videoGOP |
UInt32 | backgroundColor |
String ^ | backgroundImage |
UInt32 | audioSampleRate |
UInt32 | audioBitrate |
UInt32 | audioChannels |
array< TRTCMixUser^> ^ | mixUsersArray |
UInt32 | mixUsersArraySize |
String ^ | streamId |
|
inline |
UInt32 appId |
【字段含义】腾讯云直播 AppID
【推荐取值】请在 实时音视频控制台 选择已经创建的应用,单击【帐号信息】后,在“直播信息”中获取
UInt32 audioBitrate |
【字段含义】最终转码后的音频码率。
【推荐取值】默认值:64kbps,取值范围是 [32,192]。
UInt32 audioChannels |
【字段含义】最终转码后的音频声道数
【推荐取值】默认值:1。取值范围为 [1,2] 中的整型。
UInt32 audioSampleRate |
【字段含义】最终转码后的音频采样率。
【推荐取值】默认值:48000Hz。支持12000HZ、16000HZ、22050HZ、24000HZ、32000HZ、44100HZ、48000HZ。
UInt32 backgroundColor |
【字段含义】混流背景颜色,格式为 0xRRGGBB。
【推荐取值】默认值:0x000000,黑色。
String ^ backgroundImage |
【字段含义】混合后画面的背景图。
【推荐取值】默认值:null,即不设置背景图
【特别说明】背景图需要您事先在 “控制台 => 应用管理 => 功能配置 => 素材管理” 中上传,
上传成功后可以获得对应的“图片ID”,然后将“图片ID”转换成字符串类型并设置到 backgroundImage 里即可。
例如:假设“图片ID” 为 63,可以设置 backgroundImage = "63";
UInt32 bizId |
【字段含义】腾讯云直播 bizid
【推荐取值】请在 实时音视频控制台 选择已经创建的应用,单击【帐号信息】后,在“直播信息”中获取
array<TRTCMixUser^> ^ mixUsersArray |
【字段含义】每一路子画面的位置信息
UInt32 mixUsersArraySize |
【字段含义】 数组 mixUsersArray 的大小
【字段含义】转码 config 模式
String ^ streamId |
【字段含义】输出到 CDN 上的直播流 ID 如不设置该参数,SDK 会执行默认逻辑,即房间里的多路流会混合到该接口调用者的视频流上,也就是 A + B => A; 如果设置该参数,SDK 会将房间里的多路流混合到您指定的直播流 ID 上,也就是 A + B => C。 【推荐取值】默认值:null,即房间里的多路流会混合到该接口调用者的视频流上。
UInt32 videoBitrate |
【字段含义】最终转码后的视频分辨率的码率(kbps)
【推荐取值】如果填0,后台会根据videoWidth和videoHeight来估算码率,您也可以参考枚举定义TRTCVideoResolution_640_480的注释。
UInt32 videoFramerate |
【字段含义】最终转码后的视频分辨率的帧率(FPS)
【推荐取值】默认值:15fps,取值范围是 (0,30]。
UInt32 videoGOP |
【字段含义】最终转码后的视频分辨率的关键帧间隔(又称为 GOP),单位秒
【推荐取值】默认值:2,单位为秒,取值范围是 [1,8]。
UInt32 videoHeight |
【字段含义】最终转码后的视频分辨率的高度(px)
【推荐取值】推荐值:640px ,如果你是纯音频推流,请将 width × height 设为 0px × 0px,否则混流后会携带一条画布背景的视频流。
UInt32 videoWidth |
【字段含义】最终转码后的视频分辨率的宽度(px)
【推荐取值】推荐值:360px ,如果你是纯音频推流,请将 width × height 设为 0px × 0px,否则混流后会携带一条画布背景的视频流。
struct ManageLiteAV::TRTCPublishCDNParam |
Public 成员函数 | |
TRTCPublishCDNParam () | |
成员变量 | |
UInt32 | appId |
UInt32 | bizId |
String ^ | url |
|
inline |
UInt32 appId |
腾讯云 AppID,请在 实时音视频控制台 选择已经创建的应用,单击【帐号信息】,在“直播信息”中获取
UInt32 bizId |
腾讯云直播 bizid,请在 实时音视频控制台 选择已经创建的应用,单击【帐号信息】,在“直播信息”中获取
String ^ url |
旁路转推的 URL
struct ManageLiteAV::TRTCAudioRecordingParams |
Public 成员函数 | |
TRTCAudioRecordingParams () | |
成员变量 | |
String ^ | filePath |
TRTCAudioRecordingContent | recordingContent |
|
inline |
String ^ filePath |
【字段含义】文件路径(必填),录音文件的保存路径。该路径需要用户自行指定,请确保路径存在且可写。 【特别说明】该路径需精确到文件名及格式后缀,格式后缀决定录音文件的格式,目前支持的格式有 PCM、WAV 和 AAC。 例如,指定路径为 path/to/audio.aac,则会生成一个 AAC 格式的文件。 请指定一个有读写权限的合法路径,否则录音文件无法生成。
TRTCAudioRecordingContent recordingContent |
【字段含义】音频录制内容类型。 【特别说明】默认录制所有本地和远端音频
struct ManageLiteAV::TRTCAudioEffectParam |
Public 成员函数 | |
TRTCAudioEffectParam (const int _effectId, String^ _path) | |
成员变量 | |
int | effectId |
String ^ | path |
int | loopCount |
bool | publish |
int | volume |
|
inline |
int effectId |
【字段含义】音效 ID 【特别说明】SDK 允许播放多路音效,因此需要音效 ID 进行标记,用于控制音效的开始、停止、音量等
int loopCount |
【字段含义】循环播放次数 【推荐取值】取值范围为0 - 任意正整数,默认值:0。0表示播放音效一次;1表示播放音效两次;以此类推
String ^ path |
【字段含义】音效路径
bool publish |
【字段含义】音效是否上行 【推荐取值】YES:音效在本地播放的同时,会上行至云端,因此远端用户也能听到该音效;NO:音效不会上行
int volume |
【字段含义】音效音量 【推荐取值】取值范围为0 - 100;默认值:100
struct ManageLiteAV::TRTCSwitchRoomConfig |
Public 成员函数 | |
TRTCSwitchRoomConfig () | |
成员变量 | |
uint32_t | roomId |
String ^ | strRoomId |
String ^ | userSig |
String ^ | privateMapKey |
|
inline |
String ^ privateMapKey |
【字段含义】房间签名 [选填],当您希望某个房间只能让特定的 userId 进入时,需要使用 privateMapKey 进行权限保护。 【推荐取值】仅建议有高级别安全需求的客户使用,更多详情请参见 进房权限保护。
uint32_t roomId |
【字段含义】数字房间号码 [选填],在同一个房间内的用户可以看到彼此并进行视频通话。 【推荐取值】取值范围:1 - 4294967294。 【特别说明】roomId 和 strRoomId 必须并且只能填一个。若两者都填,则优先选择 roomId。
String ^ strRoomId |
【字段含义】字符串房间号码 [选填],在同一个房间内的用户可以看到彼此并进行视频通话。 【特别说明】roomId 和 strRoomId 必须并且只能填一个。若两者都填,则优先选择 roomId。
String ^ userSig |
【字段含义】用户签名 [选填],当前 userId 对应的验证签名,相当于登录密码。不填时,SDK 会继续使用旧的 userSig, 但用户必须保证旧的 userSig 仍在有效期内,否则会造成进房失败等后果。 【推荐取值】具体计算方法请参见 如何计算UserSig。
struct ManageLiteAV::TRTCRenderParams |
Public 成员函数 | |
TRTCRenderParams () | |
成员变量 | |
TRTCVideoRotation | rotation |
TRTCVideoFillMode | fillMode |
TRTCVideoMirrorType | mirrorType |
|
inline |
TRTCVideoFillMode fillMode |
视频画面填充模式,默认值为 TRTCVideoFillMode_Fit
TRTCVideoMirrorType mirrorType |
视频画面镜像模式,默认值为 TRTCVideoMirrorType_Disable
TRTCVideoRotation rotation |
视频画面旋转方向,默认值为 TRTCVideoRotation0
struct ManageLiteAV::TRTCLocalStatistics |
成员变量 | ||
---|---|---|
UInt32 | audioBitrate | 音频发送码率(Kbps) |
UInt32 | audioSampleRate | 音频采样率(Hz) |
UInt32 | frameRate | 帧率(fps) |
UInt32 | height | 视频高度 |
TRTCVideoStreamType | streamType | 流类型(大画面 | 小画面 | 辅路画面) |
UInt32 | videoBitrate | 视频发送码率(Kbps) |
UInt32 | width | 视频宽度 |
struct ManageLiteAV::TRTCRemoteStatistics |
成员变量 | ||
---|---|---|
UInt32 | audioBitrate | 音频码率(Kbps) |
UInt32 | audioSampleRate | 音频采样率(Hz) |
UInt32 | finalLoss |
该线路的总丢包率(%) 这个值越小越好,例如,丢包率为0表示网络很好。 丢包率是该线路的 userId 从上行到服务器再到下行的总丢包率。 如果 downLoss 为0,但是 finalLoss 不为0,说明该 userId 上行时出现了无法恢复的丢包。 |
UInt32 | frameRate | 接收帧率(fps) |
UInt32 | height | 视频高度 |
TRTCVideoStreamType | streamType | 流类型(大画面 | 小画面 | 辅路画面) |
String ^ | userId | 用户 ID,指定是哪个用户的视频流 |
UInt32 | videoBitrate | 视频码率(Kbps) |
UInt32 | width | 视频宽度 |
struct ManageLiteAV::TRTCStatistics |
成员变量 | ||
---|---|---|
UInt32 | appCpu | 当前 App 的 CPU 使用率(%) |
UInt32 | downLoss | S -> C 下行丢包率(%), 该值越小越好,例如,丢包率为0表示网络很好, 丢包率为30%则意味着 SDK 向服务器发送的数据包中会有30%丢失在下行传输中。 |
array< TRTCLocalStatistics^> ^ | localStatisticsArray | 本地的音视频统计信息,可能有主画面、小画面以及辅路画面等多路的情况,因此是一个数组 |
UInt32 | localStatisticsArraySize | 数组 localStatisticsArray 的大小 |
UInt32 | receivedBytes | 总接收字节数(包含信令和音视频) |
array< TRTCRemoteStatistics^> ^ | remoteStatisticsArray | 远端成员的音视频统计信息,可能有主画面、小画面以及辅路画面等多路的情况,因此是一个数组 |
UInt32 | remoteStatisticsArraySize | 数组 remoteStatisticsArray 的大小 |
UInt32 | rtt |
延迟(毫秒),指 SDK 到腾讯云服务器的一次网络往返时间,该值越小越好。 一般低于50ms的 rtt 相对理想,而高于100ms的 rtt 会引入较大的通话延时。 由于数据上下行共享一条网络连接,所以 local 和 remote 的 rtt 相同。 |
UInt32 | sentBytes | 总发送字节总数(包含信令和音视频) |
UInt32 | systemCpu | 当前系统的 CPU 使用率(%) |
UInt32 | upLoss |
C -> S 上行丢包率(%), 该值越小越好,例如,丢包率为0表示网络很好, 丢包率为30%则意味着 SDK 向服务器发送的数据包中会有30%丢失在上行传输中。 |
|
strong |
应用场景
TRTC 可用于视频会议和在线直播等多种应用场景,针对不同的应用场景,TRTC SDK 的内部会进行不同的优化配置:
- TRTCAppSceneVideoCall :视频通话场景,适合[1对1视频通话]、[300人视频会议]、[在线问诊]、[视频聊天]、[远程面试]等。
- TRTCAppSceneLIVE :视频互动直播,适合[视频低延时直播]、[十万人互动课堂]、[视频直播 PK]、[视频相亲房]、[互动课堂]、[远程培训]、[超大型会议]等。
- TRTCAppSceneAudioCall :语音通话场景,适合[1对1语音通话]、[300人语音会议]、[语音聊天]、[语音会议]、[在线狼人杀]等。
- TRTCAppSceneVoiceChatRoom:语音互动直播,适合:[语音低延时直播]、[语音直播连麦]、[语聊房]、[K 歌房]、[FM 电台]等。
|
strong |
|
strong |
声音音质
音频音质用来衡量声音的保真程度,TRTCAudioQualitySpeech 适用于通话场景,TRTCAudioQualityMusic 适用于高音质音乐场景。
|
strong |
音频录制内容类型 该枚举类型用于音频录制接口startAudioRecording,用于指定录制音频的内容。
枚举值 | |
---|---|
TRTCAudioRecordingContentAll | 【字段含义】 录制本地和远端所有音频 |
TRTCAudioRecordingContentLocal | 【字段含义】 仅录制本地音频 |
TRTCAudioRecordingContentRemote | 【字段含义】 仅录制远端音频 |
|
strong |
视频状态类型 该枚举类型用于视频状态变化回调接口{},用于指定当前的视频状态。
|
strong |
视频状态类型 该枚举类型用于视频状态变化回调接口onRemoteVideoStatusUpdated,用于指定当前的视频状态。
枚举值 | |
---|---|
TRTCAVStatusStopped | 【字段含义】停止播放 |
TRTCAVStatusPlaying | 【字段含义】正在播放 |
TRTCAVStatusLoading | 【字段含义】正在加载 |
|
strong |
|
strong |
|
strong |
|
strong |
Log 级别
|
strong |
|
strong |
流控模式
TRTC SDK 内部需要时刻根据网络情况调整内部的编解码器和网络模块,以便能够对网络的变化做出反应。
为了支持快速算法升级,SDK 内部设置了两种不同的流控模式:
- ModeServer: 云端控制,默认模式,推荐选择。
- ModeClient: 本地控制,用于 SDK 开发内部调试,客户请勿使用。
推荐您使用云端控制,这样每当我们升级 Qos 算法时,您无需升级 SDK 即可体验更好的效果。
枚举值 | |
---|---|
TRTCQosControlModeClient | 【字段含义】 客户端控制(用于 SDK 开发内部调试,客户请勿使用) |
TRTCQosControlModeServer | 【字段含义】 云端控制 (默认) |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
混流参数配置模式
目前暂仅支持手动配置这一种模式,即需要指定 TRTCTranscodingConfig 的全部参数。
|
strong |
|
strong |
|
strong |
|
strong |
视频像素格式
TRTC SDK 提供针对视频的自定义采集和自定义渲染功能,在自定义采集功能中,您可以用下列枚举值描述您采集的视频像素格式。
在自定义渲染功能中,您可以指定您期望 SDK 回调的视频像素格式。
|
strong |
|
strong |
视频分辨率
此处仅定义横屏分辨率,如需使用竖屏分辨率(例如360 × 640),需要同时指定 TRTCVideoResolutionMode 为 Portrait。
|
strong |
|
strong |
|
strong |
|
strong |