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

详细描述

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


结构体说明

◆ com::tencent::live2::V2TXLiveDef::V2TXLiveMode

interface com::tencent::live2::V2TXLiveDef::V2TXLiveMode
成员变量
TXLiveMode_RTC 支持协议: TRTC
TXLiveMode_RTMP 支持协议: RTMP

◆ com::tencent::live2::V2TXLiveDef::V2TXLiveVideoResolution

interface com::tencent::live2::V2TXLiveDef::V2TXLiveVideoResolution
成员变量
V2TXLiveVideoResolution1280x720 分辨率 1280*720,码率范围:1000Kbps ~ 1800Kbps,帧率:15fps
V2TXLiveVideoResolution160x160 分辨率 160*160,码率范围:100Kbps ~ 150Kbps,帧率:15fps
V2TXLiveVideoResolution1920x1080 分辨率 1920*1080,码率范围:2500Kbps ~ 3000Kbps,帧率:15fps
V2TXLiveVideoResolution270x270 分辨率 270*270,码率范围:200Kbps ~ 300Kbps,帧率:15fps
V2TXLiveVideoResolution320x180 分辨率 320*180,码率范围:250Kbps ~ 400Kbps,帧率:15fps
V2TXLiveVideoResolution320x240 分辨率 320*240,码率范围:250Kbps ~ 375Kbps,帧率:15fps
V2TXLiveVideoResolution480x270 分辨率 480*270,码率范围:350Kbps ~ 550Kbps,帧率:15fps
V2TXLiveVideoResolution480x360 分辨率 480*360,码率范围:400Kbps ~ 600Kbps,帧率:15fps
V2TXLiveVideoResolution480x480 分辨率 480*480,码率范围:350Kbps ~ 525Kbps,帧率:15fps
V2TXLiveVideoResolution640x360 分辨率 640*360,码率范围:500Kbps ~ 900Kbps,帧率:15fps
V2TXLiveVideoResolution640x480 分辨率 640*480,码率范围:600Kbps ~ 900Kbps,帧率:15fps
V2TXLiveVideoResolution960x540 分辨率 960*540,码率范围:800Kbps ~ 1500Kbps,帧率:15fps

◆ com::tencent::live2::V2TXLiveDef::V2TXLiveVideoResolutionMode

interface com::tencent::live2::V2TXLiveDef::V2TXLiveVideoResolutionMode
成员变量
V2TXLiveVideoResolutionModeLandscape 横屏模式
V2TXLiveVideoResolutionModePortrait 竖屏模式

◆ com::tencent::live2::V2TXLiveDef::V2TXLiveVideoEncoderParam

class com::tencent::live2::V2TXLiveDef::V2TXLiveVideoEncoderParam

Public 成员函数

 V2TXLiveVideoEncoderParam (V2TXLiveVideoResolution videoResolution)
 
String toString ()
 

成员变量

V2TXLiveVideoResolution videoResolution
 
V2TXLiveVideoResolutionMode videoResolutionMode
 
int videoFps
 
int videoBitrate
 
int minVideoBitrate
 

构造及析构函数说明

◆ V2TXLiveVideoEncoderParam()

成员函数说明

◆ toString()

String toString ( )
inline

结构体成员变量说明

◆ minVideoBitrate

int minVideoBitrate

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

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

◆ videoBitrate

int videoBitrate

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

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

◆ videoFps

int 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。

◆ com::tencent::live2::V2TXLiveDef::V2TXLiveMirrorType

interface com::tencent::live2::V2TXLiveDef::V2TXLiveMirrorType
成员变量
V2TXLiveMirrorTypeAuto 系统默认镜像类型,前置摄像头镜像,后置摄像头不镜像
V2TXLiveMirrorTypeDisable 前置摄像头和后置摄像头,都切换为非镜像模式
V2TXLiveMirrorTypeEnable 前置摄像头和后置摄像头,都切换为镜像模式

◆ com::tencent::live2::V2TXLiveDef::V2TXLiveFillMode

interface com::tencent::live2::V2TXLiveDef::V2TXLiveFillMode
成员变量
V2TXLiveFillModeFill 图像铺满屏幕,超出显示视窗的视频部分将被裁剪,画面显示可能不完整
V2TXLiveFillModeFit 图像长边填满屏幕,短边区域会被填充黑色,画面的内容完整

◆ com::tencent::live2::V2TXLiveDef::V2TXLiveRotation

interface com::tencent::live2::V2TXLiveDef::V2TXLiveRotation
成员变量
V2TXLiveRotation0 不旋转
V2TXLiveRotation180 顺时针旋转180度
V2TXLiveRotation270 顺时针旋转270度
V2TXLiveRotation90 顺时针旋转90度

◆ com::tencent::live2::V2TXLiveDef::V2TXLivePixelFormat

interface com::tencent::live2::V2TXLiveDef::V2TXLivePixelFormat
成员变量
V2TXLivePixelFormatI420 YUV420P I420
V2TXLivePixelFormatTexture2D OpenGL 2D 纹理
V2TXLivePixelFormatUnknown 未知

◆ com::tencent::live2::V2TXLiveDef::V2TXLiveBufferType

interface com::tencent::live2::V2TXLiveDef::V2TXLiveBufferType
成员变量
V2TXLiveBufferTypeByteArray byte[],装载 I420 等 buffer,在 Java 层使用
V2TXLiveBufferTypeByteBuffer DirectBuffer,装载 I420 等 buffer,在 native 层使用
V2TXLiveBufferTypeTexture 直接操作纹理 ID,性能最好,画质损失最少
V2TXLiveBufferTypeUnknown 未知

◆ com::tencent::live2::V2TXLiveDef::V2TXLiveTexture

class com::tencent::live2::V2TXLiveDef::V2TXLiveTexture
成员变量
egl eglContext10 使用 (javax.microedition.khronos.egl.*) 定义的 OpenGL 接口
opengl eglContext14 使用 (android.opengl.*) 定义的 OpenGL 接口
int textureId 视频纹理 ID

◆ com::tencent::live2::V2TXLiveDef::V2TXLiveVideoFrame

class com::tencent::live2::V2TXLiveDef::V2TXLiveVideoFrame
成员变量
ByteBuffer buffer 【字段含义】视频数据
V2TXLiveBufferType bufferType 【字段含义】视频数据包装格式
byte[] data 【字段含义】视频数据
int height 【字段含义】视频高度
V2TXLivePixelFormat pixelFormat 【字段含义】视频帧像素格式
int rotation 【字段含义】视频帧的顺时针旋转角度
V2TXLiveTexture texture 【字段含义】视频纹理包装类
int width 【字段含义】视频宽度

◆ com::tencent::live2::V2TXLiveDef::V2TXLiveAudioQuality

interface com::tencent::live2::V2TXLiveDef::V2TXLiveAudioQuality
成员变量
V2TXLiveAudioQualityDefault 默认音质:采样率:48k;单声道;音频码率:50kbps;SDK 默认的音频质量,如无特殊需求推荐选择之
V2TXLiveAudioQualityMusic 音乐音质:采样率:48k;双声道 + 全频带;音频码率:128kbps;适合需要高保真传输音乐的场景,比如K歌、音乐直播等
V2TXLiveAudioQualitySpeech 语音音质:采样率:16k;单声道;音频码率:16kbps;适合语音通话为主的场景,比如在线会议,语音通话

◆ com::tencent::live2::V2TXLiveDef::V2TXLiveAudioFrame

class com::tencent::live2::V2TXLiveDef::V2TXLiveAudioFrame
成员变量
int channel 【字段含义】声道数
byte[] data 【字段含义】音频数据
int sampleRate 【字段含义】采样率

◆ com::tencent::live2::V2TXLiveDef::V2TXLivePusherStatistics

class com::tencent::live2::V2TXLiveDef::V2TXLivePusherStatistics
成员变量
int appCpu 【字段含义】当前 App 的 CPU 使用率(%)
int audioBitrate 【字段含义】音频码率(Kbps)
int fps 【字段含义】帧率(fps)
int height 【字段含义】视频高度
int systemCpu 【字段含义】当前系统的 CPU 使用率(%)
int videoBitrate 【字段含义】视频码率(Kbps)
int width 【字段含义】视频宽度

◆ com::tencent::live2::V2TXLiveDef::V2TXLivePlayerStatistics

class com::tencent::live2::V2TXLiveDef::V2TXLivePlayerStatistics
成员变量
int appCpu 【字段含义】当前 App 的 CPU 使用率(%)
int audioBitrate 【字段含义】音频码率(Kbps)
int fps 【字段含义】帧率(fps)
int height 【字段含义】视频高度
int systemCpu 【字段含义】当前系统的 CPU 使用率(%)
int videoBitrate 【字段含义】视频码率(Kbps)
int width 【字段含义】视频宽度

◆ com::tencent::live2::V2TXLiveDef::V2TXLivePushStatus

interface com::tencent::live2::V2TXLiveDef::V2TXLivePushStatus
成员变量
V2TXLivePushStatusConnecting 正在连接服务器
V2TXLivePushStatusConnectSuccess 连接服务器成功
V2TXLivePushStatusDisconnected 与服务器断开连接
V2TXLivePushStatusReconnecting 重连服务器中

◆ com::tencent::live2::V2TXLiveDef::V2TXLiveMixInputType

interface com::tencent::live2::V2TXLiveDef::V2TXLiveMixInputType
成员变量
V2TXLiveMixInputTypeAudioVideo 混入音视频
V2TXLiveMixInputTypePureAudio 只混入音频
V2TXLiveMixInputTypePureVideo 只混入视频

◆ com::tencent::live2::V2TXLiveDef::V2TXLiveMixStream

class com::tencent::live2::V2TXLiveDef::V2TXLiveMixStream

Public 成员函数

 V2TXLiveMixStream ()
 
 V2TXLiveMixStream (String userId, int x, int y, int width, int height, int zOrder)
 
 V2TXLiveMixStream (V2TXLiveMixStream original)
 
String toString ()
 

成员变量

String userId
 
String streamId
 
int x
 
int y
 
int width
 
int height
 
int zOrder
 
V2TXLiveMixInputType inputType
 

构造及析构函数说明

◆ V2TXLiveMixStream() [1/3]

V2TXLiveMixStream ( )
inline

◆ V2TXLiveMixStream() [2/3]

V2TXLiveMixStream ( String  userId,
int  x,
int  y,
int  width,
int  height,
int  zOrder 
)
inline

◆ V2TXLiveMixStream() [3/3]

V2TXLiveMixStream ( V2TXLiveMixStream  original)
inline

成员函数说明

◆ toString()

String toString ( )
inline

结构体成员变量说明

◆ height

int height

【字段含义】图层位置高度(绝对像素值)

◆ inputType

【字段含义】该直播流的输入类型

◆ streamId

String streamId

【字段含义】参与混流的 userId 所在对应的推流 streamId,nil 表示当前推流 streamId

◆ userId

String userId

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

◆ width

int width

【字段含义】图层位置宽度(绝对像素值)

◆ x

int x

【字段含义】图层位置 x 坐标(绝对像素值)

◆ y

int y

【字段含义】图层位置 y 坐标(绝对像素值)

◆ zOrder

int zOrder

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

◆ com::tencent::live2::V2TXLiveDef::V2TXLiveTranscodingConfig

class com::tencent::live2::V2TXLiveDef::V2TXLiveTranscodingConfig

Public 成员函数

 V2TXLiveTranscodingConfig ()
 
 V2TXLiveTranscodingConfig (V2TXLiveTranscodingConfig original)
 
String toString ()
 

成员变量

int videoWidth
 
int videoHeight
 
int videoBitrate
 
int videoFramerate
 
int videoGOP
 
int backgroundColor
 
String backgroundImage
 
int audioSampleRate
 
int audioBitrate
 
int audioChannels
 
ArrayList< V2TXLiveMixStreammixStreams
 
String outputStreamId
 

构造及析构函数说明

◆ V2TXLiveTranscodingConfig() [1/2]

◆ V2TXLiveTranscodingConfig() [2/2]

成员函数说明

◆ toString()

String toString ( )
inline

结构体成员变量说明

◆ audioBitrate

int audioBitrate

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

◆ audioChannels

int audioChannels

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

◆ audioSampleRate

int audioSampleRate

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

◆ backgroundColor

int backgroundColor

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

◆ backgroundImage

String backgroundImage

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

◆ mixStreams

ArrayList<V2TXLiveMixStream> mixStreams

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

◆ outputStreamId

String outputStreamId

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

◆ videoBitrate

int videoBitrate

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

◆ videoFramerate

int videoFramerate

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

◆ videoGOP

int videoGOP

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

◆ videoHeight

int videoHeight

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

◆ videoWidth

int videoWidth

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

◆ com::tencent::live2::V2TXLiveDef::V2TXLiveLogLevel

class com::tencent::live2::V2TXLiveDef::V2TXLiveLogLevel

静态 Public 属性

static final int V2TXLiveLogLevelAll = 0
 
static final int V2TXLiveLogLevelDebug = 1
 
static final int V2TXLiveLogLevelInfo = 2
 
static final int V2TXLiveLogLevelWarning = 3
 
static final int V2TXLiveLogLevelError = 4
 
static final int V2TXLiveLogLevelFatal = 5
 
static final int V2TXLiveLogLevelNULL = 6
 

结构体成员变量说明

◆ V2TXLiveLogLevelAll

final int V2TXLiveLogLevelAll = 0
static

输出所有级别的 log

◆ V2TXLiveLogLevelDebug

final int V2TXLiveLogLevelDebug = 1
static

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

◆ V2TXLiveLogLevelError

final int V2TXLiveLogLevelError = 4
static

只输出 ERROR 和 FATAL 级别的 log

◆ V2TXLiveLogLevelFatal

final int V2TXLiveLogLevelFatal = 5
static

只输出 FATAL 级别的 log

◆ V2TXLiveLogLevelInfo

final int V2TXLiveLogLevelInfo = 2
static

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

◆ V2TXLiveLogLevelNULL

final int V2TXLiveLogLevelNULL = 6
static

不输出任何 sdk log

◆ V2TXLiveLogLevelWarning

final int V2TXLiveLogLevelWarning = 3
static

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

◆ com::tencent::live2::V2TXLiveDef::V2TXLiveLogConfig

class com::tencent::live2::V2TXLiveDef::V2TXLiveLogConfig
成员变量
boolean enableConsole

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

boolean enableLogFile

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

boolean enableObserver

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

int logLevel

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

String logPath

【字段含义】设置本地 Log 的存储目录,默认 Log 存储位置: Android:/sdcard/Android/data/应用包名/files/log/liteav/

◆ com::tencent::live2::V2TXLiveDef

class com::tencent::live2::V2TXLiveDef