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

详细描述

腾讯云直播服务(LVB)关键类型定义


结构体说明

◆ liteav::V2TXLiveVideoEncoderParam

struct liteav::V2TXLiveVideoEncoderParam

Public 成员函数

 V2TXLiveVideoEncoderParam (V2TXLiveVideoResolution resolution)
 

成员变量

V2TXLiveVideoResolution videoResolution
 
V2TXLiveVideoResolutionMode videoResolutionMode
 
uint32_t videoFps
 
uint32_t videoBitrate
 
uint32_t minVideoBitrate
 

构造及析构函数说明

◆ V2TXLiveVideoEncoderParam()

结构体成员变量说明

◆ minVideoBitrate

uint32_t minVideoBitrate

【字段含义】最低视频码率,SDK 会在网络不佳的情况下主动降低视频码率以保持流畅度,最低会降至 minVideoBitrate 所设定的数值。
【推荐取值】您可以通过同时设置 videoBitrate 和 minVideoBitrate 两个参数,用于约束 SDK 对视频码率的调整范围:

  • 如果您将 videoBitrate 和 minVideoBitrate 设置为同一个值,等价于关闭 SDK 对视频码率的自适应调节能力。

◆ videoBitrate

uint32_t videoBitrate

【字段含义】目标视频码率,SDK 会按照目标码率进行编码,只有在弱网络环境下才会主动降低视频码率。
【推荐取值】请参考 V2TXLiveVideoResolution 在各档位注释的最佳码率,也可以在此基础上适当调高。 比如:V2TXLiveVideoResolution1280x720 对应 1200kbps 的目标码率,您也可以设置为 1500kbps 用来获得更好的观感清晰度。
【特别说明】您可以通过同时设置 videoBitrate 和 minVideoBitrate 两个参数,用于约束 SDK 对视频码率的调整范围:

  • 如果您将 videoBitrate 和 minVideoBitrate 设置为同一个值,等价于关闭 SDK 对视频码率的自适应调节能力。

◆ videoFps

uint32_t videoFps

【字段含义】视频采集帧率
【推荐取值】15fps 或 20fps。5fps 以下,卡顿感明显。10fps 以下,会有轻微卡顿感。20fps 以上,会浪费带宽(电影的帧率为 24fps)。

◆ videoResolution

V2TXLiveVideoResolution videoResolution

【字段含义】 视频分辨率
【特别说明】如需使用竖屏分辨率,请指定 videoResolutionMode 为 Portrait,例如: 640 × 360 + Portrait = 360 × 640。
【推荐取值】

  • 桌面平台(Win + Mac):建议选择 640 × 360 及以上分辨率,videoResolutionMode 选择 Landscape,即横屏分辨率。

◆ videoResolutionMode

V2TXLiveVideoResolutionMode videoResolutionMode

【字段含义】分辨率模式(横屏分辨率 or 竖屏分辨率)
【推荐取值】桌面平台(Windows、Mac)建议选择 Landscape。
【特别说明】如需使用竖屏分辨率,请指定 resMode 为 Portrait,例如: 640 × 360 + Portrait = 360 × 640。

◆ liteav::V2TXLiveVideoFrame

struct liteav::V2TXLiveVideoFrame

Public 成员函数

 V2TXLiveVideoFrame ()
 

成员变量

V2TXLivePixelFormat pixelFormat
 
V2TXLiveBufferType bufferType
 
char * data
 
int32_t length
 
int32_t width
 
int32_t height
 
V2TXLiveRotation rotation
 

构造及析构函数说明

◆ V2TXLiveVideoFrame()

V2TXLiveVideoFrame ( )
inline

结构体成员变量说明

◆ bufferType

V2TXLiveBufferType bufferType

【字段含义】视频数据包装格式

◆ data

char* data

【字段含义】bufferType 为 V2TXLiveBufferTypeByteBuffer 时的视频数据。

◆ height

int32_t height

【字段含义】视频高度

◆ length

int32_t length

【字段含义】视频数据的长度,单位是字节

◆ pixelFormat

V2TXLivePixelFormat pixelFormat

【字段含义】视频帧像素格式

◆ rotation

V2TXLiveRotation rotation

【字段含义】视频帧的顺时针旋转角度

◆ width

int32_t width

【字段含义】视频宽度

◆ liteav::V2TXLiveAudioFrame

struct liteav::V2TXLiveAudioFrame

Public 成员函数

 V2TXLiveAudioFrame ()
 

成员变量

char * data
 
uint32_t length
 
uint32_t sampleRate
 
uint32_t channel
 

构造及析构函数说明

◆ V2TXLiveAudioFrame()

V2TXLiveAudioFrame ( )
inline

结构体成员变量说明

◆ channel

uint32_t channel

【字段含义】声道数

◆ data

char* data

【字段含义】音频数据

◆ length

uint32_t length

【字段含义】音频数据的长度

◆ sampleRate

uint32_t sampleRate

【字段含义】采样率

◆ liteav::V2TXLiveAudioFrameObserverFormat

struct liteav::V2TXLiveAudioFrameObserverFormat

Public 成员函数

 V2TXLiveAudioFrameObserverFormat ()
 

成员变量

int sampleRate
 
int channel
 
int samplesPerCall
 

构造及析构函数说明

◆ V2TXLiveAudioFrameObserverFormat()

结构体成员变量说明

◆ channel

int channel

【字段含义】声道数
【推荐取值】默认值:1,代表单声道。可设定的数值只有两个数字:1-单声道,2-双声道。

◆ sampleRate

int sampleRate

【字段含义】采样率
【推荐取值】默认值:48000Hz。支持 16000, 32000, 44100, 48000。

◆ samplesPerCall

int samplesPerCall

【字段含义】采样点数
【推荐取值】取值必须是 sampleRate/100 的整数倍。

◆ liteav::V2TXLivePusherStatistics

struct liteav::V2TXLivePusherStatistics

Public 成员函数

 V2TXLivePusherStatistics ()
 

成员变量

int32_t appCpu
 
int32_t systemCpu
 
int32_t width
 
int32_t height
 
int32_t fps
 
int32_t videoBitrate
 
int32_t audioBitrate
 

构造及析构函数说明

◆ V2TXLivePusherStatistics()

结构体成员变量说明

◆ appCpu

int32_t appCpu

【字段含义】当前 App 的 CPU 使用率(%)

◆ audioBitrate

int32_t audioBitrate

【字段含义】音频码率(Kbps)

◆ fps

int32_t fps

【字段含义】帧率(fps)

◆ height

int32_t height

【字段含义】视频高度

◆ systemCpu

int32_t systemCpu

【字段含义】当前系统的 CPU 使用率(%)

◆ videoBitrate

int32_t videoBitrate

【字段含义】视频码率(Kbps)

◆ width

int32_t width

【字段含义】视频宽度

◆ liteav::V2TXLivePlayerStatistics

struct liteav::V2TXLivePlayerStatistics

Public 成员函数

 V2TXLivePlayerStatistics ()
 

成员变量

int32_t appCpu
 
int32_t systemCpu
 
int32_t width
 
int32_t height
 
int32_t fps
 
int32_t videoBitrate
 
int32_t audioBitrate
 

构造及析构函数说明

◆ V2TXLivePlayerStatistics()

结构体成员变量说明

◆ appCpu

int32_t appCpu

【字段含义】当前 App 的 CPU 使用率(%)

◆ audioBitrate

int32_t audioBitrate

【字段含义】音频码率(Kbps)

◆ fps

int32_t fps

【字段含义】帧率(fps)

◆ height

int32_t height

【字段含义】视频高度

◆ systemCpu

int32_t systemCpu

【字段含义】当前系统的 CPU 使用率(%)

◆ videoBitrate

int32_t videoBitrate

【字段含义】视频码率(Kbps)

◆ width

int32_t width

【字段含义】视频宽度

◆ liteav::V2TXLiveLogConfig

struct liteav::V2TXLiveLogConfig

Public 成员函数

 V2TXLiveLogConfig ()
 

成员变量

V2TXLiveLogLevel logLevel
 
bool enableObserver
 
bool enableConsole
 
bool enableLogFile
 
const char * logPath
 

构造及析构函数说明

◆ V2TXLiveLogConfig()

V2TXLiveLogConfig ( )
inline

结构体成员变量说明

◆ enableConsole

bool enableConsole

【字段含义】是否允许 SDK 在编辑器(XCoder、Android Studio、Visual Studio 等)的控制台上打印 Log 【推荐取值】默认值:false

◆ enableLogFile

bool enableLogFile

【字段含义】是否启用本地 Log 文件 【特殊说明】如非特殊需要,请不要关闭本地 Log 文件,否则腾讯云技术团队将无法在出现问题时进行跟踪和定位。 【推荐取值】默认值:true

◆ enableObserver

bool enableObserver

【字段含义】是否通过 V2TXLivePremierObserver 接收要打印的 Log 信息 【特殊说明】如果您希望自己实现 Log 写入,可以打开此开关,Log 信息会通过 V2TXLivePremierObserver::onLog 回调给您。 【推荐取值】默认值:false

◆ logLevel

V2TXLiveLogLevel logLevel

【字段含义】设置 Log 级别 【推荐取值】默认值:V2TXLiveLogLevelAll

◆ logPath

const char* logPath

【字段含义】设置本地 Log 的存储目录,默认 Log 存储位置: Windows:appdata%/liteav/log

◆ liteav::V2TXLiveImage

struct liteav::V2TXLiveImage

Public 成员函数

 V2TXLiveImage ()
 

成员变量

const char * imageSrc
 
V2TXLiveImageType imageType
 
uint32_t imageWidth
 
uint32_t imageHeight
 
uint32_t imageLength
 

构造及析构函数说明

◆ V2TXLiveImage()

V2TXLiveImage ( )
inline

结构体成员变量说明

◆ imageHeight

uint32_t imageHeight

图片高度,默认为0(图片数据类型为V2TXLiveImageTypeFile,忽略该参数)

◆ imageLength

uint32_t imageLength

图片数据的长度;单位字节

◆ imageSrc

const char* imageSrc

V2TXLiveImageTypeFile: 图片路径; 其他类型:图片内容

◆ imageType

V2TXLiveImageType imageType

图片数据类型,默认为V2TXLiveImageFile V2TXLiveImageType

◆ imageWidth

uint32_t imageWidth

图片宽度,默认为0(图片数据类型为V2TXLiveImageTypeFile,忽略该参数)

◆ liteav::V2TXLiveScreenCaptureSourceInfo

struct liteav::V2TXLiveScreenCaptureSourceInfo

Public 成员函数

 V2TXLiveScreenCaptureSourceInfo ()
 

成员变量

V2TXLiveScreenCaptureSourceType sourceType
 
void * sourceId
 
const char * sourceName
 
V2TXLiveImage thumbBGRA
 
V2TXLiveImage iconBGRA
 
bool isMinimizeWindow
 
bool isMainScreen
 

构造及析构函数说明

◆ V2TXLiveScreenCaptureSourceInfo()

结构体成员变量说明

◆ iconBGRA

V2TXLiveImage iconBGRA

图标内容

◆ isMainScreen

bool isMainScreen

是否为主屏,是否为主屏,仅采集源类型为 Screen 时才可用

◆ isMinimizeWindow

bool isMinimizeWindow

是否为最小化窗口,通过 getScreenCaptureSources 获取列表时的窗口状态,仅采集源为 Window 时才可用

◆ sourceId

void* sourceId

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

◆ sourceName

const char* sourceName

采集源名称,UTF8 编码

◆ sourceType

采集源类型

◆ thumbBGRA

V2TXLiveImage thumbBGRA

缩略图内容

◆ liteav::IV2TXLiveScreenCaptureSourceList

class liteav::IV2TXLiveScreenCaptureSourceList

Public 成员函数

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

构造及析构函数说明

◆ ~IV2TXLiveScreenCaptureSourceList()

virtual ~IV2TXLiveScreenCaptureSourceList ( )
inlineprotectedvirtual

成员函数说明

◆ getCount()

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

◆ getSourceInfo()

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

◆ release()

virtual void release ( )
pure virtual

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

◆ liteav::V2TXLiveScreenCaptureProperty

struct liteav::V2TXLiveScreenCaptureProperty

Public 成员函数

 V2TXLiveScreenCaptureProperty ()
 

成员变量

bool enableCaptureMouse
 
bool enableHighlightBorder
 
bool enableHighPerformance
 
int highlightBorderColor
 
int highlightBorderSize
 
bool enableCaptureChildWindow
 

构造及析构函数说明

◆ V2TXLiveScreenCaptureProperty()

结构体成员变量说明

◆ enableCaptureChildWindow

bool enableCaptureChildWindow

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

◆ enableCaptureMouse

bool enableCaptureMouse

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

◆ enableHighlightBorder

bool enableHighlightBorder

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

◆ enableHighPerformance

bool enableHighPerformance

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

◆ highlightBorderColor

int highlightBorderColor

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

◆ highlightBorderSize

int highlightBorderSize

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

宏定义说明

◆ LITEAV_API [1/2]

#define LITEAV_API   __declspec(dllexport)

◆ LITEAV_API [2/2]

#define LITEAV_API   __declspec(dllimport)

◆ MODULE_CPP_V2TXLIVEDEF_H_

#define MODULE_CPP_V2TXLIVEDEF_H_

◆ TARGET_PLATFORM_DESKTOP

#define TARGET_PLATFORM_DESKTOP   ((__APPLE__ && TARGET_OS_MAC && !TARGET_OS_IPHONE) || _WIN32)

◆ TARGET_PLATFORM_PHONE

#define TARGET_PLATFORM_PHONE   (__ANDROID__ || (__APPLE__ && TARGET_OS_IOS))

◆ V2_API [1/5]

#define V2_API   __declspec(dllexport)

◆ V2_API [2/5]

#define V2_API   __declspec(dllimport)

◆ V2_API [3/5]

#define V2_API   __attribute__((visibility("default")))

◆ V2_API [4/5]

#define V2_API   __attribute__((visibility("default")))

◆ V2_API [5/5]

#define V2_API

◆ WIN32_LEAN_AND_MEAN

#define WIN32_LEAN_AND_MEAN