Skip to content
Permalink
Fetching contributors…
Cannot retrieve contributors at this time
739 lines (528 sloc) 43.7 KB

TXLivePlayer

视频播放器

跳转到 TXLivePlayer

主要负责将直播流的音视频画面进行解码和本地渲染,包含如下技术特点:

  • 针对腾讯云的拉流地址,可使用低延时拉流,实现直播连麦等相关场景。
  • 针对腾讯云的拉流地址,可使用直播时移功能,能够实现直播观看与时移观看的无缝切换。
  • 支持自定义的音视频数据处理,让您可以根据项目需要处理直播流中的音视频数据后,进行渲染以及播放。

SDK 基础函数

API 描述
TXLivePlayer 创建 TXLivePlayer 实例。
setConfig 设置 TXLivePlayer 播放配置项。
setPlayListener 设置推流回调接口。

播放基础接口

API 描述
setPlayerView 设置播放器的视频渲染 View。
startPlay 播放器开始播放。
stopPlay 停止播放。
isPlaying 是否正在播放。
pause 暂停播放。
resume 恢复播放。
setSurface 使用 Surface 模式用于本地渲染。
setSurfaceSize 设置渲染 Surface 的大小。

播放配置接口

API 描述
setRenderMode 设置播放渲染模式。
setRenderRotation 设置图像渲染角度。
enableHardwareDecode 开启硬件加速。
setMute 设置是否静音播放。
setAudioRoute 设置声音播放模式。
switchStream 多清晰度切换。

本地录制和截图

API 描述
setVideoRecordListener 设置录制回调接口。
startRecord 启动视频录制。
stopRecord 停止视频录制。
snapshot 播放过程中本地截图。

自定义数据处理

API 描述
addVideoRawData 设置软解码数据载体 Buffer。
setVideoRawDataListener 设置软解码视频数据回调。
setAudioRawDataListener 设置音频数据回调。

直播时移接口

API 描述
prepareLiveSeek 直播时移准备。
seek 直播时移跳转。
resumeLive 恢复直播播放。

待废弃接口

API 描述
setAutoPlay 设置点播自动播放。
setRate 设置点播播放速率。

截图回调接口类

跳转到 ITXSnapshotListener

API 描述
onSnapshot 截图回调。

软解视频数据回调接口类

跳转到 ITXVideoRawDataListener

API 描述
onVideoRawDataAvailable 软解码器解出一帧数据回调一次。

音频原始数据接口类

跳转到 ITXAudioRawDataListener

API 描述
onPcmDataAvailable 音频播放数据回调,数据格式 :PCM。
onAudioInfoChanged 音频播放信息回调。

TXLivePlayConfig

腾讯云直播播放器的参数配置模块

跳转到 TXLivePlayConfig

主要负责 TXLivePlayer 对应的参数设置,其中绝大多数设置项在播放开始之后再设置是无效的。

常用设置项

API 描述
setAutoAdjustCacheTime 设置是否自动调整缓存时间。
setCacheTime 设置播放器缓存时间。
setMaxAutoAdjustCacheTime 设置最大的缓存时间。
setMinAutoAdjustCacheTime 设置最小的缓存时间。
setVideoBlockThreshold 设置播放器视频卡顿报警阈值。
setConnectRetryCount 设置播放器重连次数。
setConnectRetryInterval 设置播放器重连间隔。

专业设置项

API 描述
setEnableMessage 开启消息通道。
enableAEC 设置回声消除。

待废弃设置项

API 描述
setEnableNearestIP 设置就近选路。
setRtmpChannelType 设置 RTMP 传输通道的类型。
setCacheFolderPath 设置点播缓存目录。
setMaxCacheItems 设置点播缓存文件个数。
setHeaders 设置自定义 HTTP Headers。

ITXLivePlayListener

腾讯云直播播放的回调通知

跳转到 ITXLivePlayListener

API 描述
onPlayEvent 播放事件通知。
onNetStatus 网络状态通知。

TXLivePusher

直播推流类

跳转到 TXLivePusher

主要负责将本地的音视频画面进行编码和 RTMP 推送,包含如下技术特点:

  • 针对腾讯云的推流地址,会采用 QUIC 协议进行加速,配合改进后的 BBR2 带宽测算方案,可以最大限度的利用主播的上行带宽,降低直播卡顿率。
  • 内嵌套的 Qos 流量控制技术具备上行网络自适应能力,可以根据主播端网络的具体情况实时调节音视频数据量。
  • 内嵌多套美颜磨皮算法(自然&光滑)和多款色彩空间滤镜(支持自定义滤镜),可以根据需要自行选择。
  • 商业版包含了基于优图 AI 人脸识别技术的大眼、瘦脸、隆鼻以及动效挂架,只需要购买优图 License 就可以零成本集成。
  • 支持自定义的音视频采集和渲染,让您可以根据项目需要选择自己的音视频数据源。

SDK 基础函数

API 描述
TXLivePusher 创建 TXLivePusher 实例。
setConfig 设置 TXLivePusher 推流配置项。
getConfig 获取推流器配置信息。
setPushListener 设置推流回调接口。

推流基础接口

API 描述
startCameraPreview 启动摄像头预览。
stopCameraPreview 停止摄像头预览。
startPusher 启动 RTMP 推流。
stopPusher 停止 RTMP 推流。
startScreenCapture 启动录屏推流(基于 MediaProjection 技术实现)。
stopScreenCapture 结束录屏推流。
pausePusher 暂停摄像头或屏幕采集并进入垫片推流状态。
resumePusher 恢复摄像头采集并结束垫片推流状态。
isPushing 查询是否正在推流。

视频相关接口

API 描述
setVideoQuality 设置视频编码质量。
switchCamera 切换前后摄像头。
setMirror 设置视频镜像效果。
setRenderRotation 设置本地摄像头预览画面的旋转方向。
turnOnFlashLight 打开后置摄像头旁边的闪光灯。
getMaxZoom 获取摄像头支持的焦距。
setZoom 调整摄像头的焦距。
setExposureCompensation 调整曝光比例。

美颜相关接口

API 描述
setBeautyFilter 设置美颜级别和美白级别。
setFilter 设置指定素材滤镜特效。
setSpecialRatio 设置滤镜浓度。

商业版美颜和动效挂件

API 描述
setEyeScaleLevel 设置大眼级别(商业版有效,其它版本设置此参数无效)。
setFaceSlimLevel 设置瘦脸级别(商业版有效,其它版本设置此参数无效)。
setFaceVLevel 设置V脸级别(商业版有效,其它版本设置此参数无效。
setChinLevel 设置下巴拉伸或收缩(商业版有效,其它版本设置此参数无效)。
setFaceShortLevel 设置短脸级别(商业版有效,其它版本设置此参数无效)。
setNoseSlimLevel 设置瘦鼻级别(商业版有效,其它版本设置此参数无效)。
setGreenScreenFile 设置绿幕背景视频(商业版有效,其它版本设置此参数无效)。
setMotionTmpl 选择使用哪一款 AI 动效挂件(商业版有效,其它版本设置此参数无效)。
setMotionMute 设置动效静音(商业版有效,其它版本设置此参数无效)。

音频相关接口

API 描述
setMute 开启静音。
setBGMNofify 设置背景音乐的回调接口。
playBGM 播放背景音乐。
stopBGM 停止播放背景音乐。
pauseBGM 暂停播放背景音乐。
resumeBGM 继续播放背音乐。
getMusicDuration 获取背景音乐文件的总时长,单位是毫秒。
setBGMVolume 设置混音时背景音乐的音量大小,仅在播放背景音乐混音时使用。
setMicVolume 设置混音时麦克风音量大小,仅在播放背景音乐混音时使用。
setBgmPitch 调整背景音乐的音调高低。
setReverb 设置混响效果。
setVoiceChangerType 设置变声类型。

本地录制接口

API 描述
setVideoRecordListener 设置录制回调接口。
startRecord 开始录制短视频。
stopRecord 结束录制短视频,当停止推流后,如果视频还在录制中,SDK 内部会自动结束录制。
snapshot 推流过程中本地截图。

自定义采集和处理

API 描述
sendCustomVideoTexture 自定义视频采集,向 SDK 发送自己采集的 texture 视频数据。
sendCustomVideoData 自定义视频采集,向 SDK 发送自己采集的 YUV 视频数据。
sendCustomPCMData 自定义音频采集,向 SDK 发送自己采集的音频 PCM 数据。
setVideoProcessListener 自定义视频处理回调。
setAudioProcessListener 自定义音频处理回调。
setSurface 指定 SDK 渲染所使用的 Surface(仅供微信 App 使用)。
setSurfaceSize 设置渲染 Surface 的大小(仅供微信 App 使用)。
setFocusPosition 在 Surface 模式下,设置摄像机的对焦位置。

更多实用接口

API 描述
sendMessageEx 发送 SEI 消息,播放端 TXLivePlayer 通过 onPlayEvent(EVT_PLAY_GET_MESSAGE) 来接收该消息。
sendMessage -
onLogRecord 输出自己的 log,保存到 SDK 内部的 xlog 文件中。

自定义视频处理回调类

跳转到 VideoCustomProcessListener

API 描述
onTextureCustomProcess 在 OpenGL 线程中回调,在这里可以进行采集图像的二次处理。
onDetectFacePoints 增值版回调人脸坐标。
onTextureDestoryed 在 OpenGL 线程中回调,可以在这里释放创建的 OpenGL 资源。

自定义音频处理回调类

跳转到 AudioCustomProcessListener

API 描述
onRecordRawPcmData 回调未经过任何处理的 SDK 录制音频 PCM 数据。
onRecordPcmData 回调 SDK 录制音频 PCM 数据。

背景音乐回调类

跳转到 OnBGMNotify

API 描述
onBGMStart 音乐播放开始的回调通知。
onBGMProgress 音乐播放进度的回调通知。
onBGMComplete 音乐播放结束的回调通知。

截图回调类

跳转到 ITXSnapshotListener

API 描述
onSnapshot -

TXLivePushConfig

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

跳转到 TXLivePushConfig

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

常用设置项

API 描述
setHomeOrientation 设置采集的视频的旋转角度。
setTouchFocus 设置是否开启手动对焦。
setEnableZoom 设置是否允许双指手势放大预览画面。
setWatermark 设置水印图片及水印图片位置。
setWatermark 设置水印图片及水印图片位置。

垫片推流

API 描述
setPauseImg 设置垫片推流的图片素材。
setPauseImg 设置垫片的帧率与最长持续时间。
setPauseFlag 设置后台推流的选项。

音视频编码参数

API 描述
setVideoResolution 设置采集的视频的分辨率。
setVideoFPS 设置视频帧率。
setVideoEncodeGop 设置视频编码 GOP。
setVideoBitrate 设置视频编码码率。
setMaxVideoBitrate 设置最大视频码率。
setMinVideoBitrate 设置最小视频码率。
setAutoAdjustBitrate 设置是否开启码率自适应。
setAutoAdjustStrategy 设置动态调整码率的策略。
setAudioSampleRate 设置声音采样率。
setAudioChannels 设置声道数。
enablePureAudioPush 开启纯音频推流。
enableScreenCaptureAutoRotate 设置录屏推流时是否要根据情况自适应旋转(仅用于录屏推流)。
enableHighResolutionCaptureMode 是否固定摄像头的采集分辨率为720p。
setVideoEncoderXMirror 设置观众端水平镜像。

网络相关参数

API 描述
setConnectRetryCount 设置推流端重连次数。
setConnectRetryInterval 设置推流端重连间隔。

自定义采集和处理

API 描述
setCustomModeType 自定义采集和自定义处理开关。

专业设置项

API 描述
enableAEC 设置回声消除。
setHardwareAcceleration 设置硬件加速选项。
enableVideoHardEncoderMainProfile 是否开启 MainProfile 硬编码模式。

待废弃设置项

API 描述
setFrontCamera 设置是否使用前置摄像头。
setBeautyFilter 设置美白和美颜效果。
setEyeScaleLevel 设置大眼效果。
setFaceSlimLevel 设置瘦脸效果。
setRtmpChannelType 设置 RTMP 传输通道的类型。
enableNearestIP 设置就近选路。
setCustomVideoPreProcessLibrary 设置用户自定义的视频预处理库。
setCustomAudioPreProcessLibrary 设置用户自定义的音频预处理库。

ITXLivePushListener

腾讯云直播推流的回调通知

跳转到 ITXLivePushListener

API 描述
onPushEvent 推流事件通知。
onNetStatus 网络状态通知。

MLVBLiveRoom

腾讯云移动直播 - 连麦直播间

跳转到 MLVBLiveRoom

基于腾讯云直播(LVB)、点播(VOD) 和云通信(IM)三大 PAAS 服务组合而成,支持:

  • 主播创建新的直播间开播,观众进入直播间观看。
  • 主播和观众进行视频连麦互动。
  • 两个不同房间的主播 PK 互动。
  • 一个直播间都有一个不限制房间人数的聊天室,支持发送各种文本消息和自定义消息,自定义消息可用于实现弹幕、点赞和礼物。

连麦直播间(MLVBLiveRoom)是一个开源的 Class,依赖两个腾讯云的闭源 SDK:

  • LiteAVSDK:使用了其中的 TXLivePusher 和 TXLivePlayer 两个组件,前者用于推流,后者用于拉流。
  • IM SDK:使用 IM SDK 的 AVChatroom 用于实现直播聊天室的功能,同时,主播间的连麦流程也是依靠 IM 消息串联起来的。

参考文档:直播连麦

SDK 基础函数

API 描述
sharedInstance 获取 MLVBLiveRoom 单例对象。
destroySharedInstance 销毁 MLVBLiveRoom 单例对象。
setListener 设置回调接口。
setListenerHandler 设置驱动回调的线程。
login 登录。
logout 退出登录。
setSelfProfile 修改个人信息。

房间相关接口函数

API 描述
getRoomList 获取房间列表。
getAudienceList 获取观众列表。
createRoom 创建房间(主播调用)。
enterRoom 进入房间(观众调用)。
exitRoom 离开房间。
setCustomInfo 设置自定义信息。
getCustomInfo 获取自定义信息。

主播和观众连麦

API 描述
requestJoinAnchor 观众请求连麦。
responseJoinAnchor 主播处理连麦请求。
joinAnchor 进入连麦状态。
quitJoinAnchor 观众退出连麦。
kickoutJoinAnchor 主播踢除连麦观众。

主播跨房间 PK

API 描述
requestRoomPK 请求跨房 PK。
responseRoomPK 响应跨房 PK 请求。
quitRoomPK 退出跨房 PK。

视频相关接口函数

API 描述
startLocalPreview 开启本地视频的预览画面。
stopLocalPreview 停止本地视频采集及预览。
startRemoteView 启动渲染远端视频画面。
stopRemoteView 停止渲染远端视频画面。
startScreenCapture 启动录屏。
stopScreenCapture 结束录屏。

音频相关接口函数

API 描述
muteLocalAudio 是否屏蔽本地音频。
muteRemoteAudio 设置指定用户是否静音。
muteAllRemoteAudio 设置所有远端用户是否静音。

摄像头相关接口函数

API 描述
switchCamera 切换摄像头。
setZoom 设置摄像头缩放因子(焦距)。
enableTorch 开关闪光灯。
setCameraMuteImage 主播屏蔽摄像头期间需要显示的等待图片。
setCameraMuteImage 主播屏蔽摄像头期间需要显示的等待图片。

美颜滤镜相关接口函数

API 描述
setBeautyStyle 设置美颜、美白、红润效果级别。
setFilter 设置指定素材滤镜特效。
setFilterConcentration 设置滤镜浓度。
setWatermark 添加水印,height 不用设置,sdk 内部会根据水印宽高比自动计算 height。
setMotionTmpl 设置动效贴图。
setGreenScreenFile 设置绿幕文件。
setEyeScaleLevel 设置大眼效果。
setFaceVLevel 设置V脸(特权版本有效,普通版本设置此参数无效)。
setFaceSlimLevel 设置瘦脸效果。
setFaceShortLevel 设置短脸(特权版本有效,普通版本设置此参数无效)。
setChinLevel 设置下巴拉伸或收缩(特权版本有效,普通版本设置此参数无效)。
setNoseSlimLevel 设置瘦鼻(特权版本有效,普通版本设置此参数无效)。
setExposureCompensation 调整曝光。

消息发送接口函数

API 描述
sendRoomTextMsg 发送文本消息。
sendRoomCustomMsg 发送自定义文本消息。

背景混音相关接口函数

API 描述
playBGM 播放背景音乐。
stopBGM 停止播放背景音乐。
pauseBGM 暂停播放背景音乐。
resumeBGM 继续播放背景音乐。
getBGMDuration 获取音乐文件总时长。
setMicVolumeOnMixing 设置麦克风的音量大小,播放背景音乐混音时使用,用来控制麦克风音量大小。
setBGMVolume 设置背景音乐的音量大小,播放背景音乐混音时使用,用来控制背景音音量大小。
setReverbType 设置混响效果。
setVoiceChangerType 设置变声类型。
setBgmPitch 设置背景音乐的音调。

IMLVBLiveRoomListener

MLVBLiveRoom 事件回调

跳转到 IMLVBLiveRoomListener

包括房间关闭、Debug 事件信息及出错说明等。

通用事件回调

API 描述
onError 错误回调。
onWarning 警告回调。
onDebugLog -

房间事件回调

API 描述
onRoomDestroy 房间被销毁的回调。
onAnchorEnter 收到新主播进房通知。
onAnchorExit 收到主播退房通知。
onAudienceEnter 收到观众进房通知。
onAudienceExit 收到观众退房通知。
onRequestJoinAnchor 主播收到观众连麦请求时的回调。
onKickoutJoinAnchor 连麦观众收到被踢出连麦的通知。
onRequestRoomPK 收到请求跨房 PK 通知。
onQuitRoomPK 收到断开跨房 PK 通知。

消息事件回调

API 描述
onRecvRoomTextMsg 收到文本消息。
onRecvRoomCustomMsg 收到自定义消息。

登录结果回调接口

跳转到 LoginCallback

API 描述
onError 错误回调。
onSuccess 成功回调。

获取房间列表回调接口

跳转到 GetRoomListCallback

API 描述
onError 错误回调。
onSuccess 成功回调。

获取观众列表回调接口

跳转到 GetAudienceListCallback

观众进房时,后台会将其信息加入观众列表中,观众列表最大保存30名观众信息。

API 描述
onError 错误回调。
onSuccess 成功回调。

创建房间的结果回调接口

跳转到 CreateRoomCallback

API 描述
onError 错误回调。
onSuccess 成功回调。

创建房间的结果回调接口

跳转到 EnterRoomCallback

API 描述
onError 错误回调。
onSuccess 成功回调。

离开房间的结果回调接口

跳转到 ExitRoomCallback

API 描述
onError 错误回调。
onSuccess 成功回调。

观众请求连麦的结果回调接口

跳转到 RequestJoinAnchorCallback

API 描述
onAccept 主播接受连麦。
onReject 主播拒绝连麦。
onTimeOut 请求超时。
onError 错误回调。

进入连麦的结果回调接口

跳转到 JoinAnchorCallback

API 描述
onError 错误回调。
onSuccess 成功回调。

进入连麦的结果回调接口

跳转到 QuitAnchorCallback

API 描述
onError 错误回调。
onSuccess 成功回调。

请求跨房PK的结果回调接口

跳转到 RequestRoomPKCallback

API 描述
onAccept 主播接受连麦。
onReject 拒绝PK。
onTimeOut 请求超时。
onError 错误回调。

退出跨房 PK 的结果回调接口

跳转到 QuitRoomPKCallback

API 描述
onError 错误回调。
onSuccess 成功回调。

播放器回调接口

跳转到 PlayCallback

API 描述
onBegin 开始回调。
onError 错误回调。
onEvent 其他事件回调。

发送文本消息回调接口

跳转到 SendRoomTextMsgCallback

API 描述
onError 错误回调。
onSuccess 成功回调。

发送自定义消息回调接口

跳转到 SendRoomCustomMsgCallback

API 描述
onError 错误回调。
onSuccess 成功回调。

设置自定义信息回调接口

跳转到 SetCustomInfoCallback

API 描述
onError 错误回调。
onSuccess 成功回调。

获取自定义信息回调接口

跳转到 GetCustomInfoCallback

API 描述
onError 错误回调。
onGetCustomInfo 获取自定义信息的回调。
You can’t perform that action at this time.