概览

最近更新时间:2019-05-21 14:25:50

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 设置静音。
setAudioRoute 设置声音播放模式(切换扬声器,听筒)。

直播时移相关接口

API 描述
prepareLiveSeek 直播时移准备,拉取该直播流的起始播放时间。
resumeLive 停止时移播放,返回直播。
seek -

视频录制相关接口

API 描述
startRecord 开始录制短视频。
stopRecord 结束录制短视频。
setRate 设置播放速率。

更多实用接口

API 描述
setLogViewMargin 设置状态浮层 view 在渲染 view 上的边距。
showVideoDebugLog 是否显示播放状态统计及事件消息浮层 view。
switchStream FLV 直播无缝切换。

枚举值

枚举 描述
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 描述
setBeautyStyle 设置美颜级别和美白级别。
setFilter 设置指定素材滤镜特效。
setSpecialRatio 设置滤镜浓度。

商业版美颜和动效挂件

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

音频相关接口

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

基于腾讯云直播(LVB)、点播(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 描述
setBeautyStyle 设置美颜、美白、红润效果级别。
setFilter 设置指定素材滤镜特效。
setSpecialRatio 设置滤镜浓度。
setEyeScaleLevel 设置大眼级别(商业版有效,普通版本设置此参数无效)。
setFaceScaleLevel 设置瘦脸级别(商业版有效,普通版本设置此参数无效)。
setFaceVLevel 设置 V 脸级别(商业版有效,其它版本设置此参数无效)。
setChinLevel 设置下巴拉伸或收缩(商业版有效,其它版本设置此参数无效)。
setFaceShortLevel 设置短脸级别(商业版有效,其它版本设置此参数无效)。
setNoseSlimLevel 设置瘦鼻级别(商业版有效,其它版本设置此参数无效)。
setGreenScreenFile 设置绿幕背景视频(商业版有效,其它版本设置此参数无效)。
selectMotionTmpl 选择使用哪一款 AI 动效挂件(商业版有效,其它版本设置此参数无效)。

消息发送接口函数

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 收到自定义消息。