public class TXLivePushConfig
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_MAX_VIDEO_BITRATE |
static int |
DEFAULT_MIN_VIDEO_BITRATE |
Constructor and Description |
---|
TXLivePushConfig() |
Modifier and Type | Method and Description |
---|---|
void |
enableAEC(boolean enable)
6.1 设置回声消除
接口说明:
- 默认值:false。
- 连麦时必须开启,非连麦时不要开启。
|
void |
enableHighResolutionCaptureMode(boolean enable)
3.13 是否固定摄像头的采集分辨率为 720p
接口说明:
- 默认值:true,采用 1280 × 720 的采集分辨率。
|
void |
enableNearestIP(boolean enable)
Deprecated.
|
void |
enablePureAudioPush(boolean enable)
3.11 开启纯音频推流
接口说明:
- 默认值:false。
- 只有在推流启动前设置才会生效,推流过程中设置不会生效。
|
void |
enableScreenCaptureAutoRotate(boolean enable)
3.12 设置录屏推流时是否要根据情况自适应旋转(仅用于录屏推流)
接口说明:
- 默认值:false。
|
void |
enableVideoHardEncoderMainProfile(boolean enable)
6.3 是否开启 MainProfile 硬编码模式
接口说明:
- 默认值:true,此参数仅在开启硬件编码加速时有效。
|
void |
setAudioChannels(int channels)
3.10 设置声道数
接口说明:
- 默认值:1。
- 其他值:1、2、4。
|
void |
setAudioSampleRate(int sample)
3.9 设置声音采样率
接口说明:
- 默认值:48000。
- 其他值:8000、16000、32000、44100、48000。
|
void |
setAutoAdjustBitrate(boolean enable)
3.7 设置是否开启码率自适应
接口说明:
- 默认值:false。
- 开启后,SDK 会根据网络情况自动调节视频码率,调节范围在 (videoBitrateMin - videoBitrateMax)。
|
void |
setAutoAdjustStrategy(int strategy)
3.8 设置动态调整码率的策略
接口说明:
- 默认值:
TXLiveConstants.AUTO_ADJUST_BITRATE_STRATEGY_1 。
- 其他值:详情见 TXLiveConstants 类中 AUTO_ADJUST_XXX 。 |
void |
setBeautyFilter(int beautyLevel,
int whiteningLevel,
int ruddyLevel)
Deprecated.
|
void |
setConnectRetryCount(int count)
4.1 设置推流端重连次数
当 SDK 与服务器异常断开连接时,SDK 会尝试与服务器重连。通过此函数设置 SDK 重连次数。
接口说明:
- 默认值:3。
- 取值范围:1 - 10
|
void |
setConnectRetryInterval(int interval)
4.2 设置推流端重连间隔
当 SDK 与服务器异常断开连接时,SDK 会尝试与服务器重连。通过此函数来设置两次重连间隔时间。
接口说明:
- 默认值:3秒
- 取值范围:3 - 30 秒
|
void |
setCustomAudioPreProcessLibrary(java.lang.String libraryPath,
java.lang.String funcName)
7.8 设置用户自定义的音频预处理库
|
void |
setCustomModeType(int modeType)
5.1 自定义采集和自定义处理开关
接口说明:
- 该字段需要使用与运算符进行级联操作(自定义采集和自定义处理不能同时开启):
开启自定义视频采集:_config.customModeType |= CUSTOM_MODE_VIDEO_CAPTURE;
开启自定义音频采集:_config.customModeType |= CUSTOM_MODE_AUDIO_CAPTURE。
- 其他值:详情见
TXLiveConstants 中 CUSTOM_MODE_XXX 。 |
void |
setCustomVideoPreProcessLibrary(java.lang.String libraryPath,
java.lang.String funcName)
7.7 设置用户自定义的视频预处理库
|
void |
setEnableZoom(boolean enableZoom)
1.3 设置是否允许双指手势放大预览画面
接口说明:
- 默认值:false。
|
void |
setEyeScaleLevel(int level)
Deprecated.
|
void |
setFaceSlimLevel(int level)
Deprecated.
|
void |
setFrontCamera(boolean front)
Deprecated.
|
void |
setHardwareAcceleration(int encodeOpt)
6.2 设置硬件加速选项
接口说明:
- 默认值:
TXLiveConstants.ENCODE_VIDEO_AUTO 自动选择是否启用硬件加速。
- 其他值:TXLiveConstants.ENCODE_VIDEO_HARDWARE :开启硬件加速、TXLiveConstants.ENCODE_VIDEO_SOFTWARE :禁用硬件加速。默认禁用硬件加速。 |
void |
setHomeOrientation(int homeOrientation)
1.1 设置采集的视频的旋转角度
接口说明:
- 默认值:HOME_ORIENTATION_DOWN(竖屏推流)
- 常用的还有 HOME_ORIENTATION_RIGHT 和 HOME_ORIENTATION_LEFT,也就是横屏推流。
- 改变该字段的设置以后,本地摄像头的预览画面方向也会发生改变,请调用 TXLivePush 的 setRenderRotation 进行矫正。
|
void |
setMaxVideoBitrate(int maxBitrate)
3.5 设置最大视频码率
接口说明:
- 默认值:1000。
- 只有开启码率自适应,该设置项才能启作用:
setAutoAdjustBitrate(boolean) |
void |
setMetaData(java.util.HashMap<java.lang.String,java.lang.String> metaData)
6.4 设置自定义 MetaData
|
void |
setMinVideoBitrate(int minBitrate)
3.6 设置最小视频码率
接口说明:
- 默认值:400。
- 只有开启码率自适应,该设置项才能启作用:
setAutoAdjustBitrate(boolean) |
void |
setPauseFlag(int flag)
2.3 设置后台推流的选项
接口说明:
- 默认值:
TXLiveConstants.PAUSE_FLAG_PAUSE_VIDEO
- TXLiveConstants.PAUSE_FLAG_PAUSE_VIDEO 表示暂停推流时,采用setPauseImg(Bitmap) 传入的图片作为画面推流,声音不做暂停,继续录制麦克风或 custom 音频发送
- TXLiveConstants.PAUSE_FLAG_PAUSE_AUDIO 表示暂停推流时,推静音数据,画面数据不做暂停,继续发送摄像头、录屏或 custom 视频数据
- TXLiveConstants.PAUSE_FLAG_PAUSE_VIDEO |TXLiveConstants.PAUSE_FLAG_PAUSE_AUDIO 表示暂停推流时,推送暂停图片和静音数据 |
void |
setPauseImg(Bitmap img)
2.1 设置垫片推流的图片素材
接口说明:
- 图片最大尺寸不能超过1920 × 1920
|
void |
setPauseImg(int time,
int fps)
2.2 设置垫片的帧率与最长持续时间
接口说明:
- 默认值:最大持续时间为300秒,帧率为10。
- 调用 TXLivePusher 的 pausePush() 接口,会暂停摄像头采集并进入垫片推流状态,如果该状态一直保持,
可能会消耗主播过多的手机流量,本字段用于指定垫片推流的最大持续时间,超过后即断开与云服务器的连接。
|
void |
setRtmpChannelType(int type)
Deprecated.
|
void |
setTouchFocus(boolean enable)
1.2 设置是否开启手动对焦
接口说明:
- 默认值:true。
- 因为硬件的限制,API 14以上的版本以及后置摄像头才会支持。
|
void |
setVideoBitrate(int bitrate)
3.4 设置视频编码码率
接口说明:
- 默认值:1200。
- 不开启码率自适应时,视频以此码率编码。
|
void |
setVideoEncodeGop(int gop)
3.3 设置视频编码 GOP
接口说明:
- 默认值:3,单位为秒。
|
void |
setVideoEncoderXMirror(boolean enable)
3.14 设置观众端水平镜像
接口说明:
- 默认值:false
|
void |
setVideoFPS(int fps)
3.2 设置视频帧率
接口说明:
- 默认值:20。
|
void |
setVideoResolution(int resolution)
3.1 设置采集的视频的分辨率
接口说明:
- 默认值:
TXLiveConstants.VIDEO_RESOLUTION_TYPE_540_960 。
- 其他值可参考 TXLiveConstants VIDEO_RESOLUTION_TYPE_XXX 。 |
void |
setWatermark(Bitmap watermark,
float x,
float y,
float width)
1.5 设置水印图片及水印图片位置。
接口说明:
- 使用归一化坐标。
- 假设推流分辨率为:540 × 960,x,y,width 分别设置为:(0.1, 0.1, 0.1),那么水印的实际像素坐标为:(540 × 0.1, 960 × 0.1, 水印宽度*0.1,水印高度会被自动计算)。
|
void |
setWatermark(Bitmap watermark,
int x,
int y)
1.4 设置水印图片及水印图片位置
接口说明:
- 水印位置坐标系与系统保持一致。
- 设置为 null 关闭水印。
|
public static final int DEFAULT_MAX_VIDEO_BITRATE
public static final int DEFAULT_MIN_VIDEO_BITRATE
public void enableAEC(boolean enable)
enable
- true:开启回声消除; false:不开启public void enableHighResolutionCaptureMode(boolean enable)
enable
- true:开启; false:关闭@Deprecated public void enableNearestIP(boolean enable)
enable
- true:开启; false:关闭public void enablePureAudioPush(boolean enable)
enable
- true:启动纯音频推流;false:关闭纯音频推流public void enableScreenCaptureAutoRotate(boolean enable)
enable
- true:视频内容为屏幕旋转后最大化显示;false:视频内容为屏幕内容缩放居中显示。public void enableVideoHardEncoderMainProfile(boolean enable)
enable
- true:开启;false:关闭public void setAudioChannels(int channels)
channels
- 声道数public void setAudioSampleRate(int sample)
sample
- 音频采样率public void setAutoAdjustBitrate(boolean enable)
enable
- true:开启码率自适应,false:禁用码率自适应public void setAutoAdjustStrategy(int strategy)
TXLiveConstants.AUTO_ADJUST_BITRATE_STRATEGY_1
。
- 其他值:详情见 TXLiveConstants
类中 AUTO_ADJUST_XXX 。strategy
- @Deprecated public void setBeautyFilter(int beautyLevel, int whiteningLevel, int ruddyLevel)
TXLivePusher.setBeautyFilter(int, int, int, int)
。beautyLevel
- 美颜等级。whiteningLevel
- 美白等级ruddyLevel
- 红润等级public void setConnectRetryCount(int count)
count
- 重连次数public void setConnectRetryInterval(int interval)
interval
- SDK 重连间隔,单位秒public void setCustomAudioPreProcessLibrary(java.lang.String libraryPath, java.lang.String funcName)
libraryPath
- 预处理库的路径funcName
- 预处理库的函数名public void setCustomModeType(int modeType)
TXLiveConstants
中 CUSTOM_MODE_XXX 。modeType
- 模式类型public void setCustomVideoPreProcessLibrary(java.lang.String libraryPath, java.lang.String funcName)
libraryPath
- 预处理库的路径funcName
- 预处理库的函数名public void setEnableZoom(boolean enableZoom)
enableZoom
- @Deprecated public void setEyeScaleLevel(int level)
TXLivePusher.setEyeScaleLevel(int)
。。level
- 大眼等级@Deprecated public void setFaceSlimLevel(int level)
TXLivePusher.setFaceSlimLevel(int)
。level
- 瘦脸等级@Deprecated public void setFrontCamera(boolean front)
TXLivePusher.switchCamera()
。front
- true:使用前置摄像头;false:使用后置摄像头public void setHardwareAcceleration(int encodeOpt)
TXLiveConstants.ENCODE_VIDEO_AUTO
自动选择是否启用硬件加速。
- 其他值:TXLiveConstants.ENCODE_VIDEO_HARDWARE
:开启硬件加速、TXLiveConstants.ENCODE_VIDEO_SOFTWARE
:禁用硬件加速。默认禁用硬件加速。encodeOpt
- 硬件加速选项public void setHomeOrientation(int homeOrientation)
homeOrientation
- 采集的视频的旋转角度;取值请参考TXLiveConstants
VIDEO_ANGLE_HOME_XXXpublic void setMaxVideoBitrate(int maxBitrate)
setAutoAdjustBitrate(boolean)
maxBitrate
- 最大视频码率public void setMetaData(java.util.HashMap<java.lang.String,java.lang.String> metaData)
metaData
- key,value 方式填入 MetaData,value 只支持字符串类型,最多只支持12组数据public void setMinVideoBitrate(int minBitrate)
setAutoAdjustBitrate(boolean)
minBitrate
- 最小视频码率public void setPauseFlag(int flag)
TXLiveConstants.PAUSE_FLAG_PAUSE_VIDEO
- TXLiveConstants.PAUSE_FLAG_PAUSE_VIDEO
表示暂停推流时,采用setPauseImg(Bitmap)
传入的图片作为画面推流,声音不做暂停,继续录制麦克风或 custom 音频发送
- TXLiveConstants.PAUSE_FLAG_PAUSE_AUDIO
表示暂停推流时,推静音数据,画面数据不做暂停,继续发送摄像头、录屏或 custom 视频数据
- TXLiveConstants.PAUSE_FLAG_PAUSE_VIDEO
|TXLiveConstants.PAUSE_FLAG_PAUSE_AUDIO
表示暂停推流时,推送暂停图片和静音数据flag
- 选项public void setPauseImg(Bitmap img)
img
- bitmap 图片public void setPauseImg(int time, int fps)
time
- 时间fps
- 帧率@Deprecated public void setRtmpChannelType(int type)
type
- 默认值 TXLiveConstants.RTMP_CHANNEL_TYPE_AUTO
。
- flag = TXLiveConstants.RTMP_CHANNEL_TYPE_AUTO
自动。
- flag = TXLiveConstants.RTMP_CHANNEL_TYPE_STANDARD
标准的 RTMP 协议,网络层采用 TCP 协议。
- flag = TXLiveConstants.RTMP_CHANNEL_TYPE_PRIVATE
标准的 RTMP 协议,网络层采用私有通道传输(在 UDP 上封装的一套可靠快速的传输通道),能够更好地抵抗网络抖动。public void setTouchFocus(boolean enable)
enable
- true:开启手动对焦;false:不开启手动对焦public void setVideoBitrate(int bitrate)
bitrate
- 视频编码码率public void setVideoEncodeGop(int gop)
gop
- 视频 GOPpublic void setVideoEncoderXMirror(boolean enable)
enable
- true:镜像 false:不镜像public void setVideoFPS(int fps)
fps
- 帧率public void setVideoResolution(int resolution)
TXLiveConstants.VIDEO_RESOLUTION_TYPE_540_960
。
- 其他值可参考 TXLiveConstants
VIDEO_RESOLUTION_TYPE_XXX 。resolution
- 分辨率public void setWatermark(Bitmap watermark, float x, float y, float width)
watermark
- 水印图片x
- 归一化水印位置的 X 轴坐标,取值[0,1]y
- 归一化水印位置的 Y 轴坐标,取值[0,1]width
- 归一化水印宽度,取值[0,1]public void setWatermark(Bitmap watermark, int x, int y)
watermark
- 水印图片x
- 水印位置的 X 轴坐标y
- 水印位置的 Y 轴坐标