TXLivePlayer
视频播放器
请参见 TXLivePlayer。
主要负责将直播流的音视频画面进行解码和本地渲染,包含如下技术特点:
- 针对腾讯云的拉流地址,可使用低延时拉流,实现直播连麦等相关场景。
- 针对腾讯云的拉流地址,可使用直播时移功能,能够实现直播观看与时移观看的无缝切换。
- 支持自定义的音视频数据处理,让您可以根据项目需要处理直播流中的音视频数据后,进行渲染以及播放。
SDK 基础函数
API | 描述 |
---|---|
delegate | 设置播放回调,见TXLivePlayListener.h 文件中的详细定义。 |
videoProcessDelegate | 设置视频处理回调,见TXVideoCustomProcessDelegate.h 文件中的详细定义。 |
audioRawDataDelegate | 设置音频处理回调,见TXAudioRawDataDelegate.h 文件中的详细定义。 |
enableHWAcceleration | 是否开启硬件加速,默认值:NO。 |
config | 设置 TXLivePlayConfig 播放配置项,见TXLivePlayConfig.h 文件中的详细定义。 |
recordDelegate | 设置短视频录制回调,见TXLiveRecordListener.h 文件中的详细定义。 |
isAutoPlay | startPlay 后是否立即播放,默认 YES,只有点播有效。 |
播放基础接口
API | 描述 |
---|---|
setupVideoWidget | 创建 Video 渲染 View,该控件承载着视频内容的展示。 |
removeVideoWidget | 移除 Video 渲染 Widget。 |
startPlay | 启动从指定 URL 播放 RTMP 音视频流。 |
stopPlay | 停止播放音视频流。 |
isPlaying | 是否正在播放。 |
pause | 暂停播放。 |
resume | 继续播放,适用于点播,直播。 |
视频相关接口
API | 描述 |
---|---|
setRenderRotation | 设置画面的方向。 |
setRenderMode | 设置画面的裁剪模式。 |
snapshot | 截屏。 |
音频相关接口
API | 描述 |
---|---|
setMute | 设置静音。 |
setVolume | 设置音量。 |
setAudioRoute | 设置声音播放模式(切换扬声器,听筒)。 |
setAudioVolumeEvaluationListener | 设置音量大小回调接口。 |
直播时移相关接口
API | 描述 |
---|---|
prepareLiveSeek | 直播时移准备,拉取该直播流的起始播放时间。 |
resumeLive | 停止时移播放,返回直播。 |
seek | - |
视频录制相关接口
API | 描述 |
---|---|
startRecord | 开始录制短视频。 |
stopRecord | 结束录制短视频。 |
setRate | 设置播放速率。 |
更多实用接口
API | 描述 |
---|---|
setLogViewMargin | 设置状态浮层 view 在渲染 view 上的边距。 |
showVideoDebugLog | 是否显示播放状态统计及事件消息浮层 view。 |
switchStream | FLV 直播无缝切换。 |
callExperimentalAPI | 调用实验性 API 接口。 |
枚举值
枚举 | 描述 |
---|---|
TX_Enum_PlayType | 支持的直播和点播类型。 |
TXLivePlayConfig
腾讯云直播播放器的参数配置模块
请参见 TXLivePlayConfig。
主要负责 TXLivePlayer 对应的参数设置,其中绝大多数设置项在播放开始之后再设置是无效的。
TXLivePlayListener
腾讯云直播播放的回调通知
请参见 TXLivePlayListener。
API | 描述 |
---|---|
onPlayEvent | 直播事件通知。 |
onNetStatus | 网络状态通知。 |
TXLivePush
直播推流类
请参见 TXLivePush。
主要负责将本地的音视频画面进行编码和 RTMP 推送,包含如下技术特点:
- 针对腾讯云的推流地址,会采用 QUIC 协议进行加速,配合改进后的 BBR2 带宽测算方案,可以最大限度的利用主播的上行带宽,降低直播卡顿率。
- 内嵌套的 Qos 流量控制技术具备上行网络自适应能力,可以根据主播端网络的具体情况实时调节音视频数据量。
- 内嵌多套美颜磨皮算法(自然和光滑)和多款色彩空间滤镜(支持自定义滤镜),可以根据需要自行选择。
- 商业版包含了基于优图 AI 识别技术的大眼、瘦脸、隆鼻以及动效挂架,只需要购买优图 License 就可以零成本集成。
- 支持自定义的音视频采集和渲染,让您可以根据项目需要选择自己的音视频数据源。
SDK 基础函数
API | 描述 |
---|---|
config | 设置 TXLivePushConfig 推流配置项,见TXLivePushConfig.h 文件中的详细定义。 |
delegate | 设置推流回调接口,见TXLivePushListener.h 文件中的详细定义。 |
initWithConfig | 创建 TXLivePusher 示例。 |
推流基础接口
API | 描述 |
---|---|
rtmpURL | 获取当前推流的 RTMP 地址。 |
startPreview | 启动摄像头预览。 |
stopPreview | 停止摄像头预览。 |
startPush | 启动 RTMP 推流。 |
stopPush | 停止 RTMP 推流。 |
pausePush | 暂停摄像头采集并进入垫片推流状态。 |
resumePush | 恢复摄像头采集并结束垫片推流状态。 |
isPublishing | 查询是否正在推流。 |
视频相关接口
API | 描述 |
---|---|
frontCamera | 查询当前是否为前置摄像头。 |
setVideoQuality | 设置视频编码质量。 |
switchCamera | 切换前后摄像头(iOS)。 |
selectCamera | 选择摄像头(macOS)。 |
setMirror | 设置视频镜像效果。 |
setRenderRotation | 设置本地摄像头预览画面的旋转方向。 |
toggleTorch | 打开后置摄像头旁边的闪光灯。 |
setZoom | 调整摄像头的焦距。 |
setFocusPosition | 设置手动对焦区域。 |
美颜相关接口
API | 描述 |
---|---|
getBeautyManager | 获取美颜管理对象 TXBeautyManager,美颜的设置通过 TXBeautyManager 来设置。 |
音频相关接口
API | 描述 |
---|---|
setMute | 开启静音。 |
playBGM | 播放背景音乐。 |
playBGM | 播放背景音乐(高级版本)。 |
stopBGM | 停止播放背景音乐。 |
pauseBGM | 暂停播放背景音乐。 |
resumeBGM | 继续播放背景音乐。 |
getMusicDuration | 获取背景音乐文件的总时长,单位:毫秒。 |
setBGMVolume | 设置混音时背景音乐的音量大小,仅在播放背景音乐混音时使用。 |
setMicVolume | 设置混音时麦克风音量大小,仅在播放背景音乐混音时使用。 |
setBgmPitch | 调整背景音乐的音调高低。 |
setReverbType | 设置混响效果。 |
setVoiceChangerType | 设置变声类型。 |
本地录制接口
API | 描述 |
---|---|
recordDelegate | 录制回调接口,详见TXLiveRecordTypeDef.h 中的 TXLiveRecordListener 定义。 |
startRecord | 开始录制短视频。 |
stopRecord | - |
snapshot | 推流过程中本地截图。 |
自定义采集和处理
API | 描述 |
---|---|
videoProcessDelegate | 自定义视频处理回调。 |
audioProcessDelegate | 自定义音频处理回调。 |
sendVideoSampleBuffer | 自定义视频采集,向 SDK 发送自己采集的视频数据。 |
sendCustomPCMData | 自定义音频采集,向 SDK 发送自己采集的音频 PCM 数据。 |
sendAudioSampleBuffer | 自定义音频采集,向 SDK 发送自己采集的音频数据。 |
setSendAudioSampleBufferMuted | 要求 SDK 发送静音数据。 |
更多实用接口
API | 描述 |
---|---|
sendMessageEx | 发送 SEI 消息,播放端(TXLivePlayer)通过 onPlayEvent(EVT_PLAY_GET_MESSAGE)来接收该消息。 |
sendMessage | - |
showVideoDebugLog | 打开包含视频状态信息的调试浮层,该浮层一般用于 SDK 调试期间,外发版本请不要打开。 |
setLogViewMargin | 设置调试浮层在视频 view 上的位置。 |
setEnableClockOverlay | 设置推流是否覆盖时钟。 |
enableClockOverlay | 获取当前推流画面是否有覆盖时钟。 |
TXLivePushConfig
腾讯云直播推流用 RTMP SDK 的参数配置模块
请参见 TXLivePushConfig。
主要负责 TXLivePusher 对应的参数设置,其中绝大多数设置项在推流开始之后再设置是无效的。
TXLivePushListener
腾讯云直播推流的回调通知
请参见 TXLivePushListener。
API | 描述 |
---|---|
onPushEvent | 事件通知。 |
onNetStatus | 状态通知。 |
MLVBLiveRoom
腾讯云移动直播 - 连麦直播间
请参见 MLVBLiveRoom。
基于云直播、云点播(VOD) 和即时通信(IM)三大 PAAS 服务组合而成,支持:
- 主播创建新的直播间开播,观众进入直播间观看。
- 主播和观众进行视频连麦互动。
- 两个不同房间的主播 PK 互动。
- 每一个直播间都有一个不限制房间人数的聊天室,支持发送各种文本消息和自定义消息,自定义消息可用于实现弹幕、点赞和礼物。
连麦直播间(MLVBLiveRoom)是一个开源的 Class,依赖两个腾讯云的闭源 SDK:
- LiteAVSDK:使用了其中的 TXLivePusher 和 TXLivePlayer 两个组件,前者用于推流,后者用于拉流。
- IM SDK:使用 IM SDK 的 AVChatroom 用于实现直播聊天室的功能,同时,主播间的连麦流程也是依靠 IM 消息串联起来的。
参考文档:直播连麦(LiveRoom)。
SDK 基础函数
API | 描述 |
---|---|
delegate | MLVBLiveRoom 事件回调,您可以通过 MLVBLiveRoomDelegate 获得 MLVBLiveRoom 的各种状态通知。 |
delegateQueue | 设置驱动回调函数的 GCD 队列。 |
sharedInstance | 获取 MLVBLiveRoom 单例对象。 |
destorySharedInstance | 销毁 MLVBLiveRoom 单例对象。 |
loginWithInfo | 登录。 |
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 | 停止渲染远端视频画面。 |
setMirror | 设置观众端镜像效果。 |
音频相关接口函数
API | 描述 |
---|---|
muteLocalAudio | 是否屏蔽本地音频。 |
muteRemoteAudio | 设置指定用户是否静音。 |
muteAllRemoteAudio | 设置所有远端用户是否静音。 |
摄像头相关接口函数
API | 描述 |
---|---|
switchCamera | 切换前后摄像头。 |
setCameraMuteImage | 主播屏蔽摄像头期间需要显示的等待图片。 |
setZoom | 调整焦距。 |
enableTorch | 打开闪光灯。 |
setFocusPosition | 设置手动对焦区域。 |
美颜滤镜相关接口函数
API | 描述 |
---|---|
getBeautyManager | 获取美颜管理对象 TXBeautyManager,美颜的设置通过 TXBeautyManager 来设置。 |
消息发送接口函数
API | 描述 |
---|---|
sendRoomTextMsg | 发送文本消息。 |
sendRoomCustomMsg | 发送自定义文本消息。 |
背景混音相关接口函数
API | 描述 |
---|---|
playBGM | 播放背景音乐。 |
playBGM | 播放背景音乐(高级版本)。 |
stopBGM | 停止播放背景音乐。 |
pauseBGM | 暂停播放背景音乐。 |
resumeBGM | 继续播放背景音乐。 |
getMusicDuration | 获取音乐文件总时长,单位毫秒。 |
setMicVolume | 设置麦克风的音量大小,播放背景音乐混音时使用,用来控制麦克风音量大小。 |
setBGMVolume | 设置背景音乐的音量大小,播放背景音乐混音时使用,用来控制背景音音量大小。 |
setBGMPitch | 调整背景音乐的音调高低。 |
setReverbType | 设置混响效果。 |
setVoiceChangerType | 设置变声类型。 |
调试相关接口函数
API | 描述 |
---|---|
showVideoDebugLog | 在渲染 view 上显示播放或推流状态统计及事件消息浮层。 |
MLVBLiveRoomDelegate
MLVBLiveRoom 事件回调
请参见 MLVBLiveRoomDelegate。
包括房间关闭、Debug 事件信息、出错说明等。
通用事件回调
API | 描述 |
---|---|
onError | 错误回调。 |
onWarning | 警告回调。 |
onDebugLog | Log 回调。 |
房间事件回调
API | 描述 |
---|---|
onRoomDestroy | 房间被销毁的回调。 |
主播和观众的进出事件回调
API | 描述 |
---|---|
onAnchorEnter | 收到新主播进房通知。 |
onAnchorExit | 收到主播退房通知。 |
onAudienceEnter | 收到观众进房通知。 |
onAudienceExit | 收到观众退房通知。 |
主播和观众连麦事件回调
API | 描述 |
---|---|
onRequestJoinAnchor | 主播收到观众连麦请求时的回调。 |
onKickoutJoinAnchor | 连麦观众收到被踢出连麦的通知。 |
主播 PK 事件回调
API | 描述 |
---|---|
onRequestRoomPK | 收到请求跨房 PK 通知。 |
onQuitRoomPK | 收到断开跨房 PK 通知。 |
消息事件回调
API | 描述 |
---|---|
onRecvRoomTextMsg | 收到文本消息。 |
onRecvRoomCustomMsg | 收到自定义消息。 |