TXLivePushConfig

最近更新时间:2024-08-14 20:00:51

我的收藏
功能
腾讯云直播推流用 RTMP SDK 的参数配置模块。
介绍
主要负责 TXLivePusher 对应的参数设置,其中绝大多数设置项在推流开始之后再设置是无效的

常用设置项

setHomeOrientation

设置采集的视频的旋转角度。
void setHomeOrientation(int homeOrientation)
参数
参数
类型
含义
homeOrientation
int
采集的视频的旋转角度。
介绍
接口说明:
默认值:TXLiveConstants.VIDEO_ANGLE_HOME_DOWN(竖屏推流)。
其他取值:TXLiveConstants.VIDEO_ANGLE_HOME_RIGHT 和 TXLiveConstants.VIDEO_ANGLE_HOME_LEFT (横屏推流)。
改变该字段的设置以后,本地摄像头的预览画面方向也会发生改变,请调用 TXLivePusher 的 setRenderRotation 进行矫正。

setTouchFocus

设置是否开启手动对焦。
void setTouchFocus(boolean enable)
参数
参数
类型
含义
enable
boolean
true:开启手动对焦;false:不开启手动对焦。
介绍
接口说明:
默认值:true。
因为硬件的限制,API 14以上的版本以及后置摄像头才会支持。

setEnableZoom

设置是否允许双指手势放大预览画面。
void setEnableZoom(boolean enableZoom)
参数
参数
类型
含义
enableZoom
boolean
-
介绍
接口说明:
默认值:false。

setWatermark

设置水印图片及水印图片位置。
void setWatermark(Bitmap watermark, int x, int y)
参数
参数
类型
含义
watermark
Bitmap
水印图片。
x
int
水印位置的 X 轴坐标。
y
int
水印位置的 Y 轴坐标。
介绍
接口说明:
水印位置坐标系与系统保持一致。
设置为 null 关闭水印。

setWatermark

设置水印图片及水印图片位置。
void setWatermark(Bitmap watermark, float x, float y, float width)
参数
参数
类型
含义
watermark
Bitmap
水印图片。
x
float
归一化水印位置的 X 轴坐标,取值[0,1]。
y
float
归一化水印位置的 Y 轴坐标,取值[0,1]。
width
float
归一化水印宽度,取值[0,1]。
介绍
接口说明:
使用归一化坐标。
假设推流分辨率为:540 × 960,x,y,width 分别设置为:(0.1, 0.1, 0.1),那么水印的实际像素坐标为:(540 * 0.1, 960 * 0.1, 水印宽度 * 0.1, 水印高度会被自动计算)。

setLocalVideoMirrorType

设置本地预览画面的镜像类型。
void setLocalVideoMirrorType(int mirrorType)
参数
参数
类型
含义
mirrorType
int
镜像类型。
介绍
接口说明:
默认值:TXLiveConstants#LOCAL_VIDEO_MIRROR_TYPE_AUTO。
TXLiveConstants#LOCAL_VIDEO_MIRROR_TYPE_AUTO 表示由 SDK 决定镜像方式:前置摄像头镜像,后置摄像头不镜像。
TXLiveConstants#LOCAL_VIDEO_MIRROR_TYPE_ENABLE 表示前置摄像头和后置摄像头都镜像。
TXLiveConstants#LOCAL_VIDEO_MIRROR_TYPE_DISABLE 表示前置摄像头和后置摄像头都不镜像。

垫片推流

setPauseImg

设置垫片推流的图片素材。
void setPauseImg(Bitmap img)
参数
参数
类型
含义
img
Bitmap
bitmap 图片。
介绍
接口说明:
图片最大尺寸不能超过1920 × 1920。

setPauseImg

设置垫片的帧率与最长持续时间。
void setPauseImg(int time, int fps)
参数
参数
类型
含义
time
int
时间。
fps
int
帧率。
介绍
接口说明:
默认值:最大持续时间为300秒,帧率为10。
调用 TXLivePusher 的 pausePush() 接口,会暂停摄像头采集并进入垫片推流状态,如果该状态一直保持, 可能会消耗主播过多的手机流量,本字段用于指定垫片推流的最大持续时间,超过后不会断开云服务器的链接,但会进入纯音频推流。
说明
若您的移动直播服务是在2018年09月之前开通的,指定垫片推流持续时间超过后即会断开云服务器的连接。

setPauseFlag

设置后台推流的选项。
void setPauseFlag(int flag)
参数
参数
类型
含义
flag
int
选项。
介绍
接口说明:
默认值:TXLiveConstants#PAUSE_FLAG_PAUSE_VIDEO。
TXLiveConstants#PAUSE_FLAG_PAUSE_VIDEO 表示暂停推流时,采用 TXLivePushConfig#setPauseImg(Bitmap) 传入的图片作为画面推流,声音不做暂停,继续录制麦克风或 custom 音频发送。
TXLiveConstants#PAUSE_FLAG_PAUSE_AUDIO 表示暂停推流时,推静音数据,画面数据不做暂停,继续发送摄像头、录屏或 custom 视频数据。
TXLiveConstants#PAUSE_FLAG_PAUSE_VIDEO|TXLiveConstants#PAUSE_FLAG_PAUSE_AUDIO 表示暂停推流时,推送暂停图片和静音数据。

音视频编码参数

setVideoResolution

设置采集的视频的分辨率。
void setVideoResolution(int resolution)
参数
参数
类型
含义
resolution
int
分辨率。
介绍
接口说明:
默认值:TXLiveConstants#VIDEO_RESOLUTION_TYPE_540_960 。
其他值可参见 TXLiveConstants VIDEO_RESOLUTION_TYPE_XXX 。

setVideoFPS

设置视频帧率。
void setVideoFPS(int fps)
参数
参数
类型
含义
fps
int
帧率。
介绍
接口说明:
默认值:20。

setVideoEncodeGop

设置视频编码 GOP。
void setVideoEncodeGop(int gop)
参数
参数
类型
含义
gop
int
视频 GOP。
介绍
接口说明:
默认值:3,单位为秒。

setVideoBitrate

设置视频编码码率。
void setVideoBitrate(int bitrate)
参数
参数
类型
含义
bitrate
int
视频编码码率,单位:kbps。
介绍
接口说明:
默认值:1200。
不开启码率自适应时,视频以此码率编码。

setMaxVideoBitrate

设置最大视频码率。
void setMaxVideoBitrate(int maxBitrate)
参数
参数
类型
含义
maxBitrate
int
最大视频码率。
介绍
接口说明:
默认值:1000。
只有开启码率自适应, 该设置项才能起作用:setAutoAdjustBitrate(boolean)

setMinVideoBitrate

设置最小视频码率。
void setMinVideoBitrate(int minBitrate)
参数
参数
类型
含义
minBitrate
int
最小视频码率。
介绍
接口说明:
默认值:400。
只有开启码率自适应, 该设置项才能起作用:setAutoAdjustBitrate(boolean)

setAutoAdjustBitrate

设置是否开启码率自适应。
void setAutoAdjustBitrate(boolean enable)
参数
参数
类型
含义
enable
boolean
true:开启码率自适应,false:禁用码率自适应。
介绍
接口说明:
默认值:false。
开启后,SDK会根据网络情况自动调节视频码率,调节范围在(videoBitrateMin - videoBitrateMax)。

setAutoAdjustStrategy

设置动态调整码率的策略。
void setAutoAdjustStrategy(int strategy)
参数
参数
类型
含义
strategy
int
-
介绍
接口说明:
默认值: TXLiveConstants#AUTO_ADJUST_BITRATE_STRATEGY_1。
其他值: 请参见 TXLiveConstants 类中 AUTO_ADJUST_XXX 。

setAudioSampleRate

设置声音采样率。
void setAudioSampleRate(int sample)
参数
参数
类型
含义
sample
int
音频采样率。
介绍
接口说明:
默认值:48000。
其他值:8000、16000、32000、44100、48000。

setAudioChannels

设置声道数。
void setAudioChannels(int channels)
参数
参数
类型
含义
channels
int
声道数。
介绍
接口说明:
默认值:1。
其他值:1、2。

enablePureAudioPush

开启纯音频推流。
void enablePureAudioPush(boolean enable)
参数
参数
类型
含义
enable
boolean
true:启动纯音频推流;false:关闭纯音频推流。
介绍
接口说明:
默认值:false。
只有在推流启动前设置才会生效,推流过程中设置不会生效。

enableScreenCaptureAutoRotate

设置录屏推流时是否要根据情况自适应旋转(仅用于录屏推流)。
void enableScreenCaptureAutoRotate(boolean enable)
参数
参数
类型
含义
enable
boolean
true:视频内容为屏幕旋转后最大化显示;false:视频内容为屏幕内容缩放居中显示。
介绍
接口说明:
默认值:false。

enableHighResolutionCaptureMode

是否固定摄像头的采集分辨率为720p。
void enableHighResolutionCaptureMode(boolean enable)
参数
参数
类型
含义
enable
boolean
true:开启; false:关闭。
介绍
接口说明:
默认值:true,采用1280 × 720的采集分辨率。

setVideoEncoderXMirror

设置观众端水平镜像。
void setVideoEncoderXMirror(boolean enable)
参数
参数
类型
含义
enable
boolean
true:镜像;false:不镜像。
介绍
接口说明:
默认值:false。

网络相关参数

setConnectRetryCount

设置推流端重连次数。
void setConnectRetryCount(int count)
参数
参数
类型
含义
count
int
重连次数。
介绍
当 SDK 与服务器异常断开连接时,SDK 会尝试与服务器重连,通过此函数设置 SDK 重连次数。 接口说明:
默认值:3。
取值范围:1 - 10。

setConnectRetryInterval

设置推流端重连间隔。
void setConnectRetryInterval(int interval)
参数
参数
类型
含义
interval
int
SDK 重连间隔,单位秒。
介绍
当 SDK 与服务器异常断开连接时,SDK 会尝试与服务器重连,通过此函数来设置两次重连间隔时间。 接口说明:
默认值:3秒。
取值范围:3秒 - 30秒。

自定义采集和处理

setCustomModeType

自定义采集和自定义处理开关。
void setCustomModeType(int modeType)
参数
参数
类型
含义
modeType
int
模式类型。
介绍
接口说明:
该字段需要使用与运算符进行级联操作(自定义采集和自定义处理不能同时开启):
开启自定义视频采集:_config.customModeType |= CUSTOM_MODE_VIDEO_CAPTURE。
开启自定义音频采集:_config.customModeType |= CUSTOM_MODE_AUDIO_CAPTURE。
其他值:请参见 TXLiveConstants 中 CUSTOM_MODE_XXX 。

专业设置项

enableAEC

设置回声消除。
void enableAEC(boolean enable)
参数
参数
类型
含义
enable
boolean
true:开启回声消除; false:不开启。
介绍
接口说明:
默认值:false。
连麦时必须开启,非连麦时不要开启。

enableAGC

设置自动增益。
void enableAGC(boolean enable)
参数
参数
类型
含义
enable
boolean
true:开启自动增益; false:不开启。
介绍
接口说明:
默认值:false。

enableANS

设置噪声抑制。
void enableANS(boolean enable)
参数
参数
类型
含义
enable
boolean
true:开启噪声抑制; false:不开启。
介绍
接口说明:
默认值:false。

setVolumeType

设置系统音量类型。
void setVolumeType(int volumeType)
参数
参数
类型
含义
volumeType
int
系统音量类型
介绍
接口说明:
默认值:TXLiveConstants#AUDIO_VOLUME_TYPE_AUTO。
其他值
TXLiveConstants#AUDIO_VOLUME_TYPE_VOIP 表示通话音量类型。
TXLiveConstants#AUDIO_VOLUME_TYPE_MEDIA 表示媒体音量类型。

setHardwareAcceleration

设置硬件加速选项。
void setHardwareAcceleration(int encodeOpt)
参数
参数
类型
含义
encodeOpt
int
硬件加速选项。
介绍
接口说明:
默认值:TXLiveConstants#ENCODE_VIDEO_AUTO,自动选择是否启用硬件加速。
其他值:
TXLiveConstants#ENCODE_VIDEO_HARDWARE:开启硬件加速。
TXLiveConstants#ENCODE_VIDEO_SOFTWARE,禁用硬件加速,默认禁用硬件加速。

enableVideoHardEncoderMainProfile

是否开启 MainProfile 硬编码模式。
void enableVideoHardEncoderMainProfile(boolean enable)
参数
参数
类型
含义
enable
boolean
true:开启;false:关闭。
介绍
接口说明:
默认值:true,此参数仅在开启硬件编码加速时有效。