TXLivePushConfig

最近更新时间:2020-05-28 14:28:35

功能

腾讯云直播推流用 RTMP SDK 的参数配置模块。

介绍

主要负责 TXLivePusher 对应的参数设置,其中绝大多数设置项在推流开始之后再设置是无效的

常用设置项

setHomeOrientation

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

void setHomeOrientation(int homeOrientation)

参数

参数 类型 含义
homeOrientation int 采集的视频的旋转角度;取值请参见 TXLiveConstants VIDEO_ANGLE_HOME_XXX。

介绍

接口说明:

  • 默认值:HOME_ORIENTATION_DOWN(竖屏推流)。
  • 常用的还有 HOME_ORIENTATION_RIGHT 和 HOME_ORIENTATION_LEFT,也就是横屏推流。
  • 改变该字段的设置以后,本地摄像头的预览画面方向也会发生改变,请调用 TXLivePush 的 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() 接口,会暂停摄像头采集并进入垫片推流状态,如果该状态一直保持, 可能会消耗主播过多的手机流量,本字段用于指定垫片推流的最大持续时间,超过后即断开与云服务器的连接。

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 最大视频码率。

介绍

接口说明:


setMinVideoBitrate

设置最小视频码率。

void setMinVideoBitrate(int minBitrate)

参数

参数 类型 含义
minBitrate int 最小视频码率。

介绍

接口说明:


setAutoAdjustBitrate

设置是否开启码率自适应。

void setAutoAdjustBitrate(boolean enable)

参数

参数 类型 含义
enable boolean true:开启码率自适应,false:禁用码率自适应。

介绍

接口说明:


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_AUTO。
  • TXLiveConstants#AUDIO_VOLUME_TYPE_AUTO 表示通话音量类型。
  • 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,此参数仅在开启硬件编码加速时有效。
目录