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

详细描述

腾讯云直播推流参数配置模块


结构体说明

◆ com::tencent::rtmp::TXLivePushConfig

class com::tencent::rtmp::TXLivePushConfig

静态 Public 属性

static final int DEFAULT_MAX_VIDEO_BITRATE = 1200
 
static final int DEFAULT_MIN_VIDEO_BITRATE = 800
 

常用设置项

void setHomeOrientation (int homeOrientation)
 
void setTouchFocus (boolean enable)
 
void setEnableZoom (boolean enableZoom)
 
void setWatermark (Bitmap watermark, int x, int y)
 
void setWatermark (Bitmap watermark, float x, float y, float width)
 
void setLocalVideoMirrorType (int mirrorType)
 

垫片推流

void setPauseImg (Bitmap img)
 
void setPauseImg (int time, int fps)
 
void setPauseFlag (int flag)
 

音视频编码参数

void setVideoResolution (int resolution)
 
void setVideoFPS (int fps)
 
void setVideoEncodeGop (int gop)
 
void setVideoBitrate (int bitrate)
 
void setMaxVideoBitrate (int maxBitrate)
 
void setMinVideoBitrate (int minBitrate)
 
void setAutoAdjustBitrate (boolean enable)
 
void setAutoAdjustStrategy (int strategy)
 
void setAudioSampleRate (int sample)
 
void setAudioChannels (int channels)
 
void enablePureAudioPush (boolean enable)
 
void enableScreenCaptureAutoRotate (boolean enable)
 
void enableHighResolutionCaptureMode (boolean enable)
 
void setVideoEncoderXMirror (boolean enable)
 
void enableAudioEarMonitoring (boolean enable)
 

网络相关参数

void setConnectRetryCount (int count)
 
void setConnectRetryInterval (int interval)
 

自定义采集和处理

void setCustomModeType (int modeType)
 

专业设置项

void enableAEC (boolean enable)
 
void enableAGC (boolean enable)
 
void enableANS (boolean enable)
 
void setVolumeType (int volumeType)
 
void setHardwareAcceleration (int encodeOpt)
 
void enableVideoHardEncoderMainProfile (boolean enable)
 
void setMetaData (HashMap< String, String > metaData)
 

待废弃设置项

void setFrontCamera (boolean front)
 
void setBeautyFilter (int beautyLevel, int whiteningLevel, int ruddyLevel)
 
void setEyeScaleLevel (int level)
 
void setFaceSlimLevel (int level)
 
void setRtmpChannelType (int type)
 
void enableNearestIP (boolean enable)
 
void setCustomVideoPreProcessLibrary (String libraryPath, String funcName)
 
void setCustomAudioPreProcessLibrary (String libraryPath, String funcName)
 
String toString ()
 

成员函数说明

◆ enableAEC()

void enableAEC ( boolean  enable)
inline

设置回声消除

接口说明:

  • 默认值:false。
  • 连麦时必须开启,非连麦时不要开启。
参数
enabletrue:开启回声消除; false:不开启

◆ enableAGC()

void enableAGC ( boolean  enable)
inline

设置自动增益

接口说明:

  • 默认值:false。
参数
enabletrue:开启自动增益; false:不开启

◆ enableANS()

void enableANS ( boolean  enable)
inline

设置噪声抑制

接口说明:

参数
enabletrue:开启噪声抑制; false:不开启

◆ enableAudioEarMonitoring()

void enableAudioEarMonitoring ( boolean  enable)
inline

开启耳返

开启后会在耳机里听到自己的声音。

注意
仅在戴耳机时有效
参数
enabletrue:开启;false:关闭

◆ enableHighResolutionCaptureMode()

void enableHighResolutionCaptureMode ( boolean  enable)
inline

是否固定摄像头的采集分辨率为 1080P

接口说明:

  • 默认值:true,采用 1920 × 1080 的采集分辨率。
参数
enabletrue:开启; false:关闭

◆ enableNearestIP()

void enableNearestIP ( boolean  enable)
inline

设置就近选路

待废弃,默认值:true。

参数
enabletrue:开启; false:关闭

◆ enablePureAudioPush()

void enablePureAudioPush ( boolean  enable)
inline

开启纯音频推流

接口说明:

  • 默认值:false。
  • 只有在推流启动前设置才会生效,推流过程中设置不会生效。
参数
enabletrue:启动纯音频推流;false:关闭纯音频推流

◆ enableScreenCaptureAutoRotate()

void enableScreenCaptureAutoRotate ( boolean  enable)
inline

设置录屏推流时是否要根据情况自适应旋转(仅用于录屏推流)

接口说明:

  • 默认值:false。
参数
enabletrue:视频内容为屏幕旋转后最大化显示;false:视频内容为屏幕内容缩放居中显示。

◆ enableVideoHardEncoderMainProfile()

void enableVideoHardEncoderMainProfile ( boolean  enable)
inline

是否开启 MainProfile 硬编码模式

接口说明:

  • 默认值:true,此参数仅在开启硬件编码加速时有效。
参数
enabletrue:开启;false:关闭

◆ setAudioChannels()

void setAudioChannels ( int  channels)
inline

设置声道数

接口说明:

  • 默认值:1。
  • 其他值:1、2、4。
参数
channels声道数

◆ setAudioSampleRate()

void setAudioSampleRate ( int  sample)
inline

设置声音采样率

接口说明:

  • 默认值:48000。
  • 其他值:8000、16000、32000、44100、48000。
参数
sample音频采样率

◆ setAutoAdjustBitrate()

void setAutoAdjustBitrate ( boolean  enable)
inline

设置是否开启码率自适应

接口说明:

  • 默认值:false。
  • 开启后,SDK 会根据网络情况自动调节视频码率,调节范围在 (videoBitrateMin - videoBitrateMax)。
参数
enabletrue:开启码率自适应,false:禁用码率自适应

◆ setAutoAdjustStrategy()

void setAutoAdjustStrategy ( int  strategy)
inline

设置动态调整码率的策略

接口说明:

参数
strategy

◆ setBeautyFilter()

void setBeautyFilter ( int  beautyLevel,
int  whiteningLevel,
int  ruddyLevel 
)
inline

设置美白和美颜效果

待废弃,建议直接使用 TXLivePusher#setBeautyFilter(int, int, int, int)

参数
beautyLevel美颜等级。
whiteningLevel美白等级
ruddyLevel红润等级

◆ setConnectRetryCount()

void setConnectRetryCount ( int  count)
inline

设置推流端重连次数

当 SDK 与服务器异常断开连接时,SDK 会尝试与服务器重连。通过此函数设置 SDK 重连次数。

接口说明:

  • 默认值:3。
  • 取值范围:1 - 10
参数
count重连次数

◆ setConnectRetryInterval()

void setConnectRetryInterval ( int  interval)
inline

设置推流端重连间隔

当 SDK 与服务器异常断开连接时,SDK 会尝试与服务器重连。通过此函数来设置两次重连间隔时间。

接口说明:

  • 默认值:3秒
  • 取值范围:3 - 30 秒
参数
intervalSDK 重连间隔,单位秒

◆ setCustomAudioPreProcessLibrary()

void setCustomAudioPreProcessLibrary ( String  libraryPath,
String  funcName 
)
inline

设置用户自定义的音频预处理库

参数
libraryPath预处理库的路径
funcName预处理库的函数名

◆ setCustomModeType()

void setCustomModeType ( int  modeType)
inline

自定义采集和自定义处理开关

接口说明:

  • 该字段需要使用与运算符进行级联操作(自定义采集和自定义处理不能同时开启): 开启自定义视频采集:_config.customModeType |= CUSTOM_MODE_VIDEO_CAPTURE; 开启自定义音频采集:_config.customModeType |= CUSTOM_MODE_AUDIO_CAPTURE。
  • 其他值:详情见 TXLiveConstants 中 CUSTOM_MODE_XXX 。
参数
modeType模式类型

◆ setCustomVideoPreProcessLibrary()

void setCustomVideoPreProcessLibrary ( String  libraryPath,
String  funcName 
)
inline

设置用户自定义的视频预处理库

参数
libraryPath预处理库的路径
funcName预处理库的函数名

◆ setEnableZoom()

void setEnableZoom ( boolean  enableZoom)
inline

设置是否允许双指手势放大预览画面

接口说明:

  • 默认值:false。
参数
enableZoom

◆ setEyeScaleLevel()

void setEyeScaleLevel ( int  level)
inline

设置大眼效果

待废弃,建议直接使用 TXLivePusher#setEyeScaleLevel(int)。。

参数
level大眼等级

◆ setFaceSlimLevel()

void setFaceSlimLevel ( int  level)
inline

设置瘦脸效果

待废弃,建议直接使用 TXLivePusher#setFaceSlimLevel(int)

参数
level瘦脸等级

◆ setFrontCamera()

void setFrontCamera ( boolean  front)
inline

设置是否使用前置摄像头

待废弃,建议直接使用 TXLivePusher#switchCamera()

参数
fronttrue:使用前置摄像头;false:使用后置摄像头

◆ setHardwareAcceleration()

void setHardwareAcceleration ( int  encodeOpt)
inline

设置硬件加速选项

接口说明:

参数
encodeOpt硬件加速选项

◆ setHomeOrientation()

void setHomeOrientation ( int  homeOrientation)
inline

设置采集的视频的旋转角度

接口说明:

  • 默认值:HOME_ORIENTATION_DOWN(竖屏推流)
  • 常用的还有 HOME_ORIENTATION_RIGHT 和 HOME_ORIENTATION_LEFT,也就是横屏推流。
  • 改变该字段的设置以后,本地摄像头的预览画面方向也会发生改变,请调用 TXLivePush 的 setRenderRotation 进行矫正。
参数
homeOrientation采集的视频的旋转角度;取值请参考TXLiveConstants VIDEO_ANGLE_HOME_XXX

◆ setLocalVideoMirrorType()

void setLocalVideoMirrorType ( int  mirrorType)
inline

设置本地预览画面的镜像类型

接口说明:

◆ setMaxVideoBitrate()

void setMaxVideoBitrate ( int  maxBitrate)
inline

设置最大视频码率

接口说明:

参数
maxBitrate最大视频码率

◆ setMetaData()

void setMetaData ( HashMap< String, String >  metaData)
inline

设置自定义 MetaData

注意
需要在推流前设置,设置的值放到 RTMP 流的 MetaData 段,播放端收到对应的 MetaData
参数
metaDatakey,value 方式填入 MetaData,value 只支持字符串类型,最多只支持12组数据

◆ setMinVideoBitrate()

void setMinVideoBitrate ( int  minBitrate)
inline

设置最小视频码率

接口说明:

参数
minBitrate最小视频码率

◆ setPauseFlag()

void setPauseFlag ( int  flag)
inline

设置后台推流的选项

接口说明:

参数
flag选项

◆ setPauseImg() [1/2]

void setPauseImg ( Bitmap  img)
inline

设置垫片推流的图片素材

接口说明:

  • 图片最大尺寸不能超过1920 × 1920
参数
imgbitmap 图片

◆ setPauseImg() [2/2]

void setPauseImg ( int  time,
int  fps 
)
inline

设置垫片的帧率与最长持续时间

接口说明:

  • 默认值:最大持续时间为300秒,帧率为10。
  • 调用 TXLivePusher 的 pausePush() 接口,会暂停摄像头采集并进入垫片推流状态,如果该状态一直保持, 可能会消耗主播过多的手机流量,本字段用于指定垫片推流的最大持续时间,超过后即断开与云服务器的连接。
参数
time时间
fps帧率

◆ setRtmpChannelType()

void setRtmpChannelType ( int  type)
inline

设置 RTMP 传输通道的类型

待废弃,RTMP 传输通道的类型,默认值为:AUTO。

参数
type默认值 TXLiveConstants#RTMP_CHANNEL_TYPE_AUTO

◆ setTouchFocus()

void setTouchFocus ( boolean  enable)
inline

设置是否开启手动对焦

接口说明:

  • 默认值:true。
  • 因为硬件的限制,API 14以上的版本以及后置摄像头才会支持。
参数
enabletrue:开启手动对焦;false:不开启手动对焦

◆ setVideoBitrate()

void setVideoBitrate ( int  bitrate)
inline

设置视频编码码率

接口说明:

  • 默认值:1200。
  • 不开启码率自适应时,视频以此码率编码。
参数
bitrate视频编码码率

◆ setVideoEncodeGop()

void setVideoEncodeGop ( int  gop)
inline

设置视频编码 GOP

接口说明:

  • 默认值:3,单位为秒。
参数
gop视频 GOP

◆ setVideoEncoderXMirror()

void setVideoEncoderXMirror ( boolean  enable)
inline

设置观众端水平镜像

接口说明:

  • 默认值:false
参数
enabletrue:镜像 false:不镜像

◆ setVideoFPS()

void setVideoFPS ( int  fps)
inline

设置视频帧率

接口说明:

  • 默认值:20。
参数
fps帧率

◆ setVideoResolution()

void setVideoResolution ( int  resolution)
inline

设置采集的视频的分辨率

接口说明:

参数
resolution分辨率

◆ setVolumeType()

void setVolumeType ( int  volumeType)
inline

设置系统音量类型

接口说明:

参数
volumeType自动音量取值为:TXLiveConstants#AUDIO_VOLUME_TYPE_AUTO,媒体音量取值为:TXLiveConstants#AUDIO_VOLUME_TYPE_MEDIA 通话音量取值为:TXLiveConstants#AUDIO_VOLUME_TYPE_VOIP

◆ setWatermark() [1/2]

void setWatermark ( Bitmap  watermark,
float  x,
float  y,
float  width 
)
inline

设置水印图片及水印图片位置。

接口说明:

  • 使用归一化坐标。
  • 假设推流分辨率为:540 × 960,x,y,width 分别设置为:(0.1, 0.1, 0.1),那么水印的实际像素坐标为:(540 × 0.1, 960 × 0.1, 水印宽度*0.1,水印高度会被自动计算)。
参数
watermark水印图片
x归一化水印位置的 X 轴坐标,取值[0,1]
y归一化水印位置的 Y 轴坐标,取值[0,1]
width归一化水印宽度,取值[0,1]

◆ setWatermark() [2/2]

void setWatermark ( Bitmap  watermark,
int  x,
int  y 
)
inline

设置水印图片及水印图片位置

接口说明:

  • 水印位置坐标系与系统保持一致。
  • 设置为 null 关闭水印。
参数
watermark水印图片
x水印位置的 X 轴坐标
y水印位置的 Y 轴坐标

◆ toString()

String toString ( )
inline

结构体成员变量说明

◆ DEFAULT_MAX_VIDEO_BITRATE

final int DEFAULT_MAX_VIDEO_BITRATE = 1200
static

◆ DEFAULT_MIN_VIDEO_BITRATE

final int DEFAULT_MIN_VIDEO_BITRATE = 800
static