CloudHubRTS CPP
- 概览
- IEngine
- IUpStream
- IUpStreamEventHandler
- IDownStream
- IDownStreamEventHandler
- IMixingUpStream
- IMixingUpStreamEventHandler
- IServerStreamMixingEventHandler
- IFrameObserver
- IVideoDeviceManager
- IVideoDeviceCollection
- IAudioDeviceManager
- IAudioDeviceCollection
- Enums
- Structs
结构体
DOWN_STREAM_CONFIGS
变量 | 类型 | 描述 |
---|---|---|
delay_time_ms | int | 延时时间 |
BeautyOptions
变量 | 类型 | 描述 |
---|---|---|
lighteningContrastLevel | LIGHTENING_CONTRAST_LEVEL | 亮度明暗对比度,与 lighteningLevel 参数搭配使用。取值越大,明暗对比越强烈: LIGHTENING_CONTRAST_LOW(0) 低对比度 LIGHTENING_CONTRAST_NORMAL(1)(默认)正常对比度 LIGHTENING_CONTRAST_HIGH(2) 高对比度 |
lighteningLevel | float | 亮度,取值范围为 [0.0, 1.0],其中 0.0 表示原始亮度,默认值为 0.7。可用来实现美白等视觉效果 |
smoothnessLevel | float | 平滑度,取值范围为 [0.0, 1.0],其中 0.0 表示原始平滑等级,默认值为 0.5。可用来实现祛痘、磨皮等视觉效果 |
rednessLevel | float | 红色度,取值范围为 [0.0, 1.0],其中 0.0 表示原始红色度,默认值为 0.1。可用来实现红润肤色等视觉效果 |
VideoEffectOptions
变量 | 类型 | 描述 |
---|---|---|
whitenLevel | float | 美白,取值范围为 [0.0, 1.0],其中 0.0 表示原始效果,默认值为 0.5。可用来实现美白等视觉效果 |
smoothLevel | float | 磨皮,取值范围为 [0.0, 1.0],其中 0.0 表示原始效果,默认值为 0.5。可用来实现祛痘、磨皮等视觉效果 |
sharpLevel | float | 锐化,取值范围为 [0.0, 1.0],其中 0.0 表示原始效果,默认值为 0.5。可用来实现锐化等视觉效果 |
thinFaceLevel | float | 瘦脸,取值范围为 [0.0, 1.0],其中 0.0 表示原始效果,默认值为 0.5。可用来实现瘦脸等视觉效果 |
bigEyesLevel | float | 大眼,取值范围为 [0.0, 1.0],其中 0.0 表示原始效果,默认值为 0.5。可用来实现大眼等视觉效果 |
sticker | VIDEO_STICKER_TYPE | 贴纸名称,现有10套贴纸 |
RtcValidWindow
变量 | 类型 | 描述 |
---|---|---|
id | intptr_t | |
title | char[] |
ScreenCaptureParameters
变量 | 类型 | 描述 |
---|---|---|
extWindowID | intptr_t | 窗口ID |
frameRate | int | 共享区域的帧速率(fps) |
bitrate | int | 共享区域的比特率(Kbps) |
captureMouseCursor | bool | 设置是否捕获鼠标以进行屏幕共享 true :捕获鼠标,(默认) false:不捕获鼠标 |
VideoFrame
变量 | 类型 | 描述 |
---|---|---|
width | int | 视频帧宽度 |
height | int | 视频帧高度 |
yStride | int | Y数据缓冲区的跨度 |
uStride | int | U数据缓冲区的跨度 |
vStride | int | V数据缓冲区的跨度 |
yBuffer | void* | Y数据缓冲区 |
uBuffer | void* | U数据缓冲区 |
vBuffer | void* | V数据缓冲区 |
rotation | int | 视频的旋转角度(0、90、180、270) |
RtcStats
变量 | 类型 | 描述 |
---|---|---|
duration | int | 通话时长,以总计值表示 |
txBytes | int | 传输的总字节数,用一个合计值表示 |
rxBytes | int | 接收到的字节总数,以一个聚合值表示。 |
txAudioBytes | int | 已发送的音频字节总数(字节),以总计值表示 |
txVideoBytes | int | 已发送的视频字节总数(字节),以总计值表示 |
rxAudioBytes | int | 网络对策之前接收到的音频字节总数(字节),以总计值表示 |
rxVideoBytes | int | 接收到的视频字节总数(字节),以总计值表示 |
txKBitRate | short | 传输比特率(Kbps),由瞬时值表示 |
rxKBitRate | short | 接收比特率(Kbps),由瞬时值表示 |
rxAudioKBitRate | short | 音频接收比特率(Kbps),由瞬时值表示 |
txAudioKBitRate | short | 音频传输比特率(Kbps),由瞬时值表示 |
rxVideoKBitRate | short | 视频接收比特率(Kbps),由瞬时值表示 |
txVideoKBitRate | short | 视频传输比特率(Kbps),由瞬时值表示 |
lastmileDelay | short | 服务器延迟(毫秒) |
txPacketLossRate | short | 从本地客户端到cloudhub的边缘服务器的丢包率(%) |
rxPacketLossRate | short | 从cloudhub的边缘服务器到本地客户端的数据包丢失率(%) |
cpuTotalUsage | double | 系统CPU使用率(%) |
AudioFrame
变量 | 类型 | 描述 |
---|---|---|
samples | int | 此帧中的样本数 |
bytesPerSample | int | 每个样本的字节数:PCM16为2 |
channels | int | 通道数(如果是立体声,则数据是交错的) |
samplesPerSec | int | 采样率 |
format | int | 格式 |
buffer | void* | 缓冲 |
RTSClientMixingSourceStream
变量 | 类型 | 描述 |
---|---|---|
streamID | char | 原视频IUpStream的流ID,可通过IUpStream::getStreamID获得 |
x | int | 视频帧相对于左上角的水平位置(像素) |
y | int | 视频帧相对于左上角的垂直位置(像素) |
width | int | 视频帧的宽度(像素) |
height | int | 视频帧的高度(像素) |
zOrder | int | 视频帧的层位置, 取值范围是0到100, z值越小越底层 |
fit | bool | 视频显示模式 true:均匀缩放视频,直到其尺寸之一适合边界为止(缩放以适合)。由于宽高比差异而未填充的区域将被灰色填充 false:均匀缩放视频,直到其填充可见边界(已裁剪)。视频的一维可能包含剪辑的内容 |
RTSClientMixingConfig
变量 | 类型 | 描述 |
---|---|---|
destVideoWidth | int | 目标视频帧的宽度(像素) |
destVideoHeight | int | 目标视频帧的高度(像素) |
destVideoFramerate | int | 目标视频帧的的帧率(fps) |
destBackgroundColor | int | 目标视频帧的背景颜色, 缺省值-1 |
destAudioChannels | int | 目标音频的通道数 |
sourceStreamCount | int | 混流源码流的数量 |
sourceStreams | RTSClientMixingSourceStream | 混流源码流 |
mixingExtraInfo | char | 保留字段 |
注:destVideoWidth 和 destVideoHeight, 这两个值同时=0,代表没有视频。这两个值 >0,但有效值的范围在[16-1920] 代表有视频;否则会返错。
RTSServerMixingSourceStream
变量 | 类型 | 描述 |
---|---|---|
url | char | 混流源码流的url |
x | int | 视频帧相对于左上角的水平位置(像素) |
y | int | 视频帧相对于左上角的垂直位置(像素) |
width | int | 视频帧的宽度(像素) |
height | int | 视频帧的高度(像素) |
zOrder | int | 视频帧的层位置, 取值范围是0到100, z值越小越底层 |
fit | bool | 视频显示模式 true:均匀缩放视频,直到其尺寸之一适合边界为止(缩放以适合)。由于宽高比差异而未填充的区域将被灰色填充 false:均匀缩放视频,直到其填充可见边界(已裁剪)。视频的一维可能包含剪辑的内容 |
注:url的格式必须遵循:RTS 推流地址的拼装
RTSServerMixingConfig
变量 | 类型 | 描述 |
---|---|---|
destUrl | char | 目标url |
destVideoWidth | int | 目标视频帧的宽度(像素) |
destVideoHeight | int | 目标视频帧的高度(像素) |
destVideoBandWidthKBPS | int | 目标视频帧的比特率(KBPS) |
destVideoFramerate | int | 目标视频帧的的帧率(fps) |
destBackgroundColor | int | 目标视频帧的背景颜色, 缺省值-1 |
destAudioBandWidthKBPS | int | 目标音频帧的比特率(KBPS) |
destAudioChannels | int | 目标音频的通道数 |
sourceStreamCount | int | 混流源码流的数量 |
sourceStreams | RTSServerMixingSourceStream | 混流源码流 |
mixingExtraInfo | char | 保留字段 |
注:destVideoWidth 和 destVideoHeight, 这两个值同时=0,代表没有视频。这两个值 >0,但有效值的范围在[16-1920] 代表有视频;否则会返错。
注:destUrl的格式必须遵循:RTS 服务器混流的输出码流地址的拼装
destVideoBandWidthKBPS 混流视频最大带宽上限表
分辨率 | 帧率 | 最大带宽(kbps) | 备注 |
---|---|---|---|
320*240 | fps <= 30 | 256 | 分辨率 <= 320*240 |
640*480 | fps <= 30 | 768 | 320*240 < 分辨率 <= 640*480 |
1280*720 | fps <= 30 | 1536 | 640*480 < 分辨率 <= 1280*720 |
1920*1080 | fps <= 30 | 2048 | 1280*720< 分辨率 <= 1920*1080 |