TXLivePlayer
视频播放器
主要负责将直播流的音视频画面进行解码和本地渲染,包含如下技术特点:
针对腾讯云的拉流地址,可使用低延时拉流,实现直播连麦等相关场景。
针对腾讯云的拉流地址,可使用直播时移功能,能够实现直播观看与时移观看的无缝切换。
支持自定义的音视频数据处理,让您可以根据项目需要处理直播流中的音视频数据后,进行渲染以及播放。
SDK 基础函数
API | 描述 |
设置推流回调接口。 |
播放基础接口
API | 描述 |
设置播放器的视频渲染 View。 | |
播放器开始播放。10.7 版本开始, startPlay 变更为 startLivePlay ,需要通过 V2TXLivePremier#setLicence 或者 TXLiveBase#setLicence 设置 License 后方可成功播放,否则将播放失败(黑屏),全局仅设置一次即可。直播 License、短视频 License 和视频播放 License 均可使用,若您暂未获取上述 Licence,可 购买 Licence。 | |
停止播放。 | |
是否正在播放。 | |
暂停播放。 | |
恢复播放。 | |
使用 Surface 模式用于本地渲染。 | |
设置渲染 Surface 的大小。 |
播放配置接口
API | 描述 |
设置播放渲染模式。 | |
设置图像渲染角度。 | |
开启硬件加速。 | |
设置是否静音播放。 | |
设置声音播放模式。 | |
设置音量。 | |
多清晰度切换。 | |
设置音量大小回调接口。 |
本地录制和截图
API | 描述 |
设置录制回调接口。 | |
启动视频录制。 | |
停止视频录制。 | |
播放过程中本地截图。 |
自定义数据处理
API | 描述 |
设置软解码数据载体 Buffer。 | |
设置软解码视频数据回调。 | |
设置音频数据回调。 |
直播时移接口
API | 描述 |
直播时移准备。 | |
直播时移跳转。 | |
恢复直播播放。 |
截图回调接口类
API | 描述 |
截图回调。 |
软解视频数据回调接口类
API | 描述 |
软解码器解出一帧数据回调一次。 |
音频原始数据接口类
API | 描述 |
音频播放数据回调,数据格式 :PCM。 | |
音频播放信息回调。 |
播放器音量大小接口类
API | 描述 |
播放器音量大小回调, 取值范围 [0,100]。 |
TXLivePlayConfig
腾讯云直播播放器的参数配置模块
常用设置项
API | 描述 |
设置是否自动调整缓存时间。 | |
设置播放器缓存时间。 | |
设置最大的缓存时间。 | |
设置最小的缓存时间。 | |
设置播放器视频卡顿报警阈值。 | |
设置播放器重连次数。 | |
设置播放器重连间隔。 |
专业设置项
API | 描述 |
开启消息通道。 | |
设置回声消除。 |
ITXLivePlayListener
腾讯云直播播放的回调通知
API | 描述 |
播放事件通知。 | |
网络状态通知。 |
TXLivePusher
直播推流类
主要负责将本地的音视频画面进行编码和 RTMP 推送,包含如下技术特点:
针对腾讯云的推流地址,会采用 QUIC 协议进行加速,配合改进后的 BBR2 带宽测算方案,可以最大限度的利用主播的上行带宽,降低直播卡顿率。
内嵌套的 Qos 流量控制技术具备上行网络自适应能力,可以根据主播端网络的具体情况实时调节音视频数据量。
内嵌多套美颜磨皮算法(自然&光滑)和多款色彩空间滤镜(支持自定义滤镜),可以根据需要自行选择。
商业版包含了基于优图 AI 识别技术的大眼、瘦脸、隆鼻以及动效挂架,只需要购买优图 License 就可以零成本集成。
支持自定义的音视频采集和渲染,让您可以根据项目需要选择自己的音视频数据源。
SDK 基础函数
API | 描述 |
获取推流器配置信息。 | |
设置推流回调接口。 |
推流基础接口
API | 描述 |
启动摄像头预览。 | |
停止摄像头预览。 | |
启动 RTMP 推流。 | |
停止 RTMP 推流。 | |
启动录屏推流(基于 MediaProjection 技术实现)。 | |
结束录屏推流。 | |
暂停摄像头或屏幕采集并进入垫片推流状态。 | |
恢复摄像头采集并结束垫片推流状态。 | |
查询是否正在推流。 |
视频相关接口
API | 描述 |
设置视频编码质量。 | |
切换前后摄像头。 | |
设置视频镜像效果。 | |
设置本地摄像头预览画面的旋转方向。 | |
打开后置摄像头旁边的闪光灯。 | |
获取摄像头支持的焦距。 | |
调整摄像头的焦距。 | |
调整曝光比例。 |
美颜相关接口
API | 描述 |
音频相关接口
API | 描述 |
开启静音。 | |
设置背景音乐的回调接口。 | |
播放背景音乐。 | |
停止播放背景音乐。 | |
暂停播放背景音乐。 | |
继续播放背音乐。 | |
获取背景音乐文件的总时长,单位是毫秒。 | |
设置混音时背景音乐的音量大小,仅在播放背景音乐混音时使用。 | |
设置混音时麦克风音量大小,仅在播放背景音乐混音时使用。 | |
调整背景音乐的音调高低。 | |
设置混响效果。 | |
设置变声类型。 |
本地录制接口
API | 描述 |
设置录制回调接口。 | |
开始录制短视频。 | |
结束录制短视频,当停止推流后,如果视频还在录制中,SDK 内部会自动结束录制。 | |
推流过程中本地截图。 |
自定义采集和处理
API | 描述 |
自定义视频采集,向 SDK 发送自己采集的 texture 视频数据。 | |
自定义视频采集,向 SDK 发送自己采集的 YUV 视频数据。 | |
自定义音频采集,向 SDK 发送自己采集的音频 PCM 数据。 | |
自定义视频处理回调。 | |
自定义音频处理回调。 | |
指定 SDK 渲染所使用的 Surface(仅供微信 App 使用)。 | |
设置渲染 Surface 的大小(仅供微信 App 使用)。 | |
在 Surface 模式下,设置摄像机的对焦位置。 |
更多实用接口
API | 描述 |
- | |
输出自己的 log,保存到 SDK 内部的 xlog 文件中。 |
自定义视频处理回调类
API | 描述 |
在 OpenGL 线程中回调,在这里可以进行采集图像的二次处理。 | |
增值版回调人脸坐标。 | |
在 OpenGL 线程中回调,可以在这里释放创建的 OpenGL 资源。 |
自定义音频处理回调类
API | 描述 |
回调未经过任何处理的 SDK 录制音频 PCM 数据。 | |
回调 SDK 录制音频 PCM 数据。 |
背景音乐回调类
API | 描述 |
音乐播放开始的回调通知。 | |
音乐播放进度的回调通知。 | |
音乐播放结束的回调通知。 |
截图回调类
API | 描述 |
- |
TXLivePushConfig
腾讯云直播推流用 RTMP SDK 的参数配置模块
常用设置项
API | 描述 |
设置采集的视频的旋转角度。 | |
设置是否开启手动对焦。 | |
设置是否允许双指手势放大预览画面。 | |
设置水印图片及水印图片位置。 | |
设置水印图片及水印图片位置。 | |
设置本地预览画面的镜像类型。 | |
设置系统音量类型。 |
垫片推流
API | 描述 |
设置垫片推流的图片素材。 | |
设置垫片的帧率与最长持续时间。 | |
设置后台推流的选项。 |
音视频编码参数
API | 描述 |
设置采集的视频的分辨率。 | |
设置视频帧率。 | |
设置视频编码 GOP。 | |
设置视频编码码率。 | |
设置最大视频码率。 | |
设置最小视频码率。 | |
设置是否开启码率自适应。 | |
设置动态调整码率的策略。 | |
设置声音采样率。 | |
设置声道数。 | |
开启纯音频推流。 | |
设置录屏推流时是否要根据情况自适应旋转(仅用于录屏推流)。 | |
是否固定摄像头的采集分辨率为720p。 | |
设置观众端水平镜像。 |
网络相关参数
API | 描述 |
设置推流端重连次数。 | |
设置推流端重连间隔。 |
自定义采集和处理
API | 描述 |
自定义采集和自定义处理开关。 |
专业设置项
API | 描述 |
设置回声消除。 | |
设置自动增益。 | |
设置噪声抑制。 | |
设置硬件加速选项。 | |
是否开启 MainProfile 硬编码模式。 |
ITXLivePushListener
腾讯云直播推流的回调通知
API | 描述 |
推流事件通知。 | |
网络状态通知。 |
MLVBLiveRoom
腾讯云直播 SDK - 连麦直播间
基于腾讯云直播、云点播(VOD) 和即时通信(IM)三大 PAAS 服务组合而成,支持:
主播创建新的直播间开播,观众进入直播间观看。
主播和观众进行视频连麦互动。
两个不同房间的主播 PK 互动。
一个直播间都有一个不限制房间人数的聊天室,支持发送各种文本消息和自定义消息,自定义消息可用于实现弹幕、点赞和礼物。
连麦直播间(MLVBLiveRoom)是一个开源的 Class,依赖两个腾讯云的闭源 SDK:
LiteAVSDK:使用了其中的 TXLivePusher 和 TXLivePlayer 两个组件,前者用于推流,后者用于拉流。
IM SDK:使用 IM SDK 的 AVChatroom 用于实现直播聊天室的功能,同时,主播间的连麦流程也是依靠 IM 消息串联起来的。
SDK 基础函数
API | 描述 |
设置回调接口。 | |
设置驱动回调的线程。 | |
登录。 | |
退出登录。 | |
修改个人信息。 |
房间相关接口函数
API | 描述 |
获取房间列表。 | |
获取观众列表。 | |
创建房间(主播调用)。 | |
进入房间(观众调用)。 | |
离开房间。 | |
设置自定义信息。 | |
获取自定义信息。 |
主播和观众连麦
API | 描述 |
观众请求连麦。 | |
主播处理连麦请求。 | |
进入连麦状态。 | |
观众退出连麦。 | |
主播踢除连麦观众。 |
主播跨房间 PK
API | 描述 |
请求跨房 PK。 | |
响应跨房 PK 请求。 | |
退出跨房 PK。 |
视频相关接口函数
API | 描述 |
开启本地视频的预览画面。 | |
停止本地视频采集及预览。 | |
启动渲染远端视频画面。 | |
停止渲染远端视频画面。 | |
启动录屏。 | |
结束录屏。 |
音频相关接口函数
API | 描述 |
是否屏蔽本地音频。 | |
设置指定用户是否静音。 | |
设置所有远端用户是否静音。 |
摄像头相关接口函数
API | 描述 |
切换摄像头。 | |
设置摄像头缩放因子(焦距)。 | |
开关闪光灯。 | |
主播屏蔽摄像头期间需要显示的等待图片。 | |
主播屏蔽摄像头期间需要显示的等待图片。 |
美颜滤镜相关接口函数
API | 描述 |
设置滤镜浓度。 | |
添加水印,height 不用设置,SDK 内部会根据水印宽高比自动计算 height。 | |
调整曝光。 |
消息发送接口函数
API | 描述 |
发送文本消息。 | |
发送自定义文本消息。 |
背景混音相关接口函数
API | 描述 |
播放背景音乐。 | |
停止播放背景音乐。 | |
暂停播放背景音乐。 | |
继续播放背景音乐。 | |
获取音乐文件总时长。 | |
设置麦克风的音量大小,播放背景音乐混音时使用,用来控制麦克风音量大小。 | |
设置背景音乐的音量大小,播放背景音乐混音时使用,用来控制背景音音量大小。 | |
设置混响效果。 | |
设置变声类型。 | |
设置背景音乐的音调。 |
IMLVBLiveRoomListener
MLVBLiveRoom 事件回调
包括房间关闭、Debug 事件信息及出错说明等。
通用事件回调
API | 描述 |
错误回调。 | |
警告回调。 | |
- |
房间事件回调
API | 描述 |
房间被销毁的回调。 | |
收到新主播进房通知。 | |
收到主播退房通知。 | |
收到观众进房通知。 | |
收到观众退房通知。 | |
主播收到观众连麦请求时的回调。 | |
连麦观众收到被踢出连麦的通知。 | |
收到请求跨房 PK 通知。 | |
收到断开跨房 PK 通知。 |
消息事件回调
API | 描述 |
收到文本消息。 | |
收到自定义消息。 |
登录结果回调接口
获取房间列表回调接口
获取观众列表回调接口
观众进房时,后台会将其信息加入观众列表中,观众列表最大保存30名观众信息。
创建房间的结果回调接口
进入房间的结果回调接口
离开房间的结果回调接口
观众请求连麦的结果回调接口
进入连麦的结果回调接口
退出连麦的结果调用接口
请求跨房 PK 的结果回调接口
退出跨房 PK 的结果回调接口
播放器回调接口
发送文本消息回调接口
发送自定义消息回调接口
设置自定义信息回调接口
获取自定义信息回调接口
API | 描述 |
错误回调。 | |
获取自定义信息的回调。 |