云直播推拉流 SDK(原“直播 SDK”)在本文中将简称为“直播 SDK”。
直播 SDK 是腾讯云视立方产品家族的子产品之一。直播 SDK 提供直播推流和观看的基础功能,适用于需要高度定制化和扩展的场景,支持与其他产品自由组合,满足深度开发需求。
TUILiveKit 是一款在线直播组件,在提供直播推流和观看的基础上,集成连麦、弹幕、送礼等丰富功能,并配有完善的 UI,帮助实现更快速、便捷的直播接入。
您可以通过下表对比两款产品,按需进行选择:
产品 | 直播 SDK | |
核心特征 | 云端一体的完整直播组件,预置开源 UI 和完整直播业务逻辑,内置 TRTC 和 IM 服务,单产品内闭环直播刚需功能,无需多方对接。 | 提供基础的客户端直播推流和观看功能。分发加速等云端服务需要结合云直播产品使用;连麦、弹幕、送礼等其他功能需结合 TRTC、IM 等产品自主搭建。 |
产品核心功能 | 主播开播、分发观看、连麦、PK、弹幕、送礼、观众管理等功能 | 客户端推流与拉流 |
上线时间 | 最快1天集成,1周上线 | 预估2~4个月 |
适合场景 | 开发资源有限、需快速上线标准直播功能的用户 | 具备充足开发资源、定制化需求较高的用户 |
定制能力 | 支持 UI 和部分业务逻辑定制 | 完全自定义所有功能 |
支持平台 | Android iOS Flutter 桌面端(Electron) Web/H5 Uni-app | Android iOS HarmonyOS(内测中) Flutter 小程序 Web/H5 |
应用场景
直播 SDK 适用于秀场直播、电商直播、赛事直播、新品发布会、路演、在线拍卖等各类高并发大规模直播观看的终端场景。


核心功能
功能 | 功能说明 | 常见应用场景 |
直播推流 | 支持 RTMP 和 RTC 两种方式推流,通过直播推流可提高网络波动抵抗力和提升网络传输速度,带来稳定,极速的推流体验 | 主播开播 |
直播播放 | 支持播放 RTMP、FLV、HLS 以及 WebRTC 协议,让用户享受更加流畅清晰的直播画面 | 观众观看场景 |
直播连麦 | 在 iOS、Android、HarmonyOS、小程序和 Flutter 端支持 RTC 协议低时延在线连麦,通过连⻨既可实现主播和观众之间的视频通话互动,也可使两个分处不同房间的主播分屏连⻨。主播/观众之间的延迟可达 300ms 以内 | 主播与观众互动,主播之间 PK |
移动端录屏 (游戏录屏) | 可以直接把主播的手机画面作为直播源,同时可以叠加摄像头预览功能 | 游戏直播,移动端演示 |
说明:
功能详情
功能模块 | 功能项 | 功能简介 |
视频采集 | 采集参数设置 | 支持分辨率、帧率、音频采样率、GOP、码率等多种采集参数设置,满足不同场景下画面采集的需求。 |
| 屏比 | 支持16:9,4:3,1:1多种屏比拍摄。 |
| 横竖屏 | 支持竖向(portrait)、左侧横向(landscape left)和右侧横向(landscape right)三个方向发起推流。 |
| 清晰度 | 支持标清、高清及超清拍摄。 |
| 支持闪光灯 | 支持开启或关闭闪光灯。 |
| 摄像头切换和缩放 | 支持拍摄前后摄像头切换和缩放功能。 |
| 自动和手动对焦 | 支持开启或关闭自动和手动对焦功能。 |
| 支持拍照 | 支持拍摄照片。 |
| 镜像 | 支持摄像头采集镜像和推流镜像分别设置,前置摄像头需默认开启镜像功能。 |
| 水印 | 拍摄支持添加水印。 |
| 支持截屏 | 支持手机截屏。 |
| 视频暂停 | 支持直播中单独暂停音频或者视频。 |
| 滤镜 | 支持自定义滤镜及设置滤镜程度。 |
| 基础美颜 | 拍摄设置面部磨皮、美白、红润的基础美颜能力。 |
音频采集 | 背景音乐 | 拍摄前可以选择本地的 MP3 作为背景音。 |
| 音乐升降调 | 支持音乐改变升降调。 |
| 混音 | 支持音乐和人声混音,分别调整音乐和人声的音量。 |
| 耳返 | 支持耳返功能。耳返即耳机采集监听,在设备上插入耳机(普通耳机或蓝牙耳机)后,能从本机耳机侧听到本设备麦克风采集的声音。 |
| 立体声 | 通过深度使用双声道技术,虚拟出发音源的各个位置角度,实现立体声、3D 环绕音、听声辨位等效果。 |
| 降噪 | 引擎中自带噪音抑制功能,它结合心理声学模型,能够提高 20 dB 以上的信噪比,同时不损伤语音音质。 |
| 变声 | 拍摄时对录制的声音变声(例如小女孩、大叔)。 |
| 混响 | 通过对声音的特殊处理,可搭配变声、混响以实现自定义各式各样的声音效果,例如空灵,机器人的声音。 |
| 静音 | 支持推流时关闭麦克风,仅推送视频画面的功能。 |
| 调整音量 | SDK 能够自动调节麦克风音量,适应远近拾音,保持音量稳定。 |
直播推流 | 摄像头推流 | 支持摄像头采集直播。 |
| 录屏推流(屏幕共享) | 支持录屏直播,将屏幕内容共享。 |
| 外部源推流 | 支持使用外部音视频文件或者自定义进行直播。 |
| 纯音频推流 | 支持仅采集音频流并发起推流功能,在纯音频场景下节约带宽流量。 |
| RTMP 协议推流 | 支持 RTMP 协议直播推流,分辨率支持 180P - 1080P。 |
| RTMP over QUIC 协议推流 | 支持基于 RTMP 协议的 QUIC 加速推流,更好的弱网抗性。 |
| RTC 协议推流 | 支持自研的 RTC 协议推流,更低延时、更强的弱网抗性。 |
| 支持 SEI 功能 | SEI(Supplemental Enhancement Information,媒体补充增强信息)通过流媒体通道将文本信息与音视频内容打包在一起,从主播端(推流端)推出,并从观众端(拉流端)接收,以此实现文本数据与音视频内容的精准同步的目的。 |
| 动态码率设置 | 支持根据网络情况自动调整推流码率,支持多种模式设置,使直播更加流畅。 |
| 推流自动重连 | 支持推流链接失败后自动重连。 |
直播播放 | RTMP 协议播放 | 用于实现 RTMP 协议的直播播放功能。 |
| FLV 协议播放 | 用于实现 HTTP + FLV 协议的直播播放功能。 |
| HLS 协议播放 | 用于实现 HLS(m3u8)协议的直播播放功能。 |
| WebRTC 协议播放 | 用于实现快直播(LEB)的直播播放功能。 |
| RTC 协议播放 | 用于实现基于自研协议的超低延时(RTC)的直播播放功能。 |
| 自适应码率播放 | 支持根据带宽状态自动调整播放码率(WebRTC、HLS 协议)。 |
| 清晰度无缝切换 | 支持无感知的清晰度切换(WebRTC、HLS、FLV 协议)。 |
直播连麦 | 连麦互动 | 用于实现主播与观众之间的1vn视频连麦互动(iOS、Android、小程序、Flutter)。 |
| 主播 PK | 用于实现主播与主播之间的1v1视频 PK(iOS、Android、小程序、Flutter)。 |
点播播放 | 点播播放 | 用于实现视频点播回放功能。 |
质量监控 | 质量监控 | 支持对推流、拉流情况进行质量监控。 |