一、直播 App 核心业务模块概览
+----------------------------+
| 首页/直播列表 |
+----------------------------+
| ⬇ 点击进入 |
+----------------------------+
| 🔴 直播间 |
+----------------------------+
| 推流、拉流、弹幕、礼物、连麦、PK |
+----------------------------+
| 后台服务与分发架构 |
+----------------------------+
二、直播间的核心模块与功能详解
✅ 1. 音视频推流/拉流模块
主播端(推流):
采集:Camera、Mic(前置/后置切换、静音等)
编码:视频(H.264/H.265)、音频(AAC/Opus)
美颜:滤镜、磨皮、美白(GPUImage、FaceUnity、腾讯特效SDK)
推流协议:
RTMP(主流,低延迟)
WebRTC(低延迟互动)
SRT(稳定性好)
🎬观众端(拉流):
播放协议:
RTMP:低延迟
HLS:高兼容,适合录播
FLV over HTTP:中等延迟
播放器 SDK:腾讯云、阿里云、七牛、快手KSY、开源 ijkplayer 等
延迟优化:缓存策略、动态丢帧、音画同步
- 弹幕系统
实现方式:
客户端:DanmakuView/弹幕轨道管理
服务端:通过 WebSocket 实时发送/分发
特点:
层级控制(前端浮层)
弹幕道具(收费弹幕高亮)
反作弊:内容审核、频率限制、防刷屏
🎁 3. 礼物系统
🌟 礼物业务逻辑:
礼物列表(服务端下发支持动态更新)
礼物价格、特效信息、动画类型
礼物发送接口:扣币 → 礼物入队 → 播放队列
礼物动画播放:
分为两类:
小礼物(连击、叠加,Lottie/骨骼动画)
大礼物(全屏特效、视频贴图、粒子系统)
动画播放队列(必须串行)
多端适配(分辨率、性能差异)
营收统计:
实时展示(榜单、热度)
累计数据写入用户账户、数据库
📢 4. 实时消息系统(IM,或者使用腾讯第三方IM)
协议选择:
WebSocket
TCP 自研协议(可加密、压缩)
使用 IM SDK:环信、融云、网易云信
消息类型:
普通聊天 / 弹幕
礼物广播 / 上下麦提示
系统消息(封禁/警告/限流等)
- 连麦 / PK 模块
连麦功能:
WebRTC/自研RTC 实现
麦位控制(观众申请 / 主播同意)
远端视频流合成(多画面渲染)
音频混流(回声消除 / 降噪 / 增益)
PK 模式:
主播与主播之间的视频互动
多人推流拉流 → 服务端混流合成 → 下发给观众
伴随功能:
PK 倒计时
观众投票/送礼战力值比拼
胜负结算、惩罚玩法
- 控制与权限逻辑
主播控制台:
开启/关闭麦克风/摄像头
踢人、禁言、封号
设置房间标题/密码
房间类型:
普通房 / 密码房 / 收费房 / 付费进房
观众限制:
黑名单 / 白名单
游客模式 / 登录限制
- 房间管理与数据同步
房间状态:开播、暂停、结束
在线人数统计:Redis 实时计数
心跳机制:每10秒上报在线状态
弹幕数、点赞数等实时数据广播
- 安全与内容审核
内容审核:
文本:违禁词检测(腾讯云 / 阿里云)
图片:封面审核、人脸识别
视频:AI内容识别(涉黄、涉政)
防刷/防外挂:
礼物送礼频率控制
签名验证防止恶意刷数据
客户端行为上报