vivo直播应用技术实践与探索
如果无法正常显示,请先停止浏览器的去广告插件。
1. 2021 vivo开发者大会
互联网技术专场
vivo直播中台架构师
2. 2021.12.16 vivo开发者大会-互联网技术专场
3. 2021.12.16 vivo开发者大会-互联网技术专场
4. 更多形式的直播
提供一站式的直播解决方案
经典 低时延 灵活
APP玩法多样 低时延 多平台
内容复杂 维护成本高 疫情之下
内容多样
2021.12.16 vivo开发者大会-互联网技术专场
5. vivo直播发展历程
立项
联运直播
自建直播
内部直播平台
公司内部直播
直播转推
互动娱乐直播
游戏直播
带货直播
2021.12.16 vivo开发者大会-互联网技术专场
6. 第
三
方
直
播
平
台
vivo直播平台架构
功能集成/统一直播服务/解决方案
i视频
vivo短视频
i音乐
浏览器
公
司
内
部
直
播
游戏中心
应
用
服
务
消费者
……
全链路监控平台
2021.12.16 vivo开发者大会-互联网技术专场
7. 2021.12.16 vivo开发者大会-互联网技术专场
8. 完整直播的一般实现流程
秀场直播
常见直播的功能
屏幕采集
拉流
礼物 互动聊天 直播广场 用户列表
活跃榜单 活动玩法 房间 数据统计
美颜
CDN分发
摄像头采集
滤镜
编码
推流
解码
内网转拉分发
水印
第三方采集
播放
用户互动
直播基础技术点
主播实时录制,开播端处理,推送到服务器,服务器分发到CDN
推流端(采集,美颜,编码,推流),服务端(开播事件处理,审核,信息更
新),观看端(拉流,解码,播放),互动消息分发(群私聊,礼物广播,下单,点赞)
2021.12.16 vivo开发者大会-互联网技术专场
9. 推流美颜
秀场直播
业务难点
消息分发
直播时延
成本控制
主播众多,主观性强; 群聊/私聊/广播; 用户观看终端多样; CDN成本;
贴纸多样,色温,饱和感; 用户进/出 切换直播间 支持内外网,带宽限制明显; 多地直播业务服务器成本;
面部失真,清晰感,颗粒感 消息风暴
直播功能开发复用成本
流量突刺
2021.12.16 vivo开发者大会-互联网技术专场
10. 秀场直播
开播端优化
纹理,YUV和自定义采集
支持美颜,滤镜,贴纸,美妆,风格妆
云端转码,超分,锐化,降低码率
MP4播放,动画效果更佳流程,
内存和文件大小显著降低
播放器参数优化
滑动预创建
点击预创建
共享播放器
2021.12.16 vivo开发者大会-互联网技术专场
11. 礼物连击
语音聊天
开播通知
秀场直播
消息的解决方案
潜在问题
解决方案
推拉结合 分级限频 监控降级
• 业 务 流 量 高 峰 IM • 消息分级:系统消 • 完善监控指标,
长 连 接 和 http 息/大额礼物/私聊 快速发现潜在问题
短轮询共同作业 /广播
• 对主播直播间进行
读扩散
出口带宽
终端消息处理
分级,限制消息
• 系统自动降级,
IM 长 链 接 ->
http短轮询
分发频率
2021.12.16 vivo开发者大会-互联网技术专场
12. 直播时延的产生
秀场直播
•
•
缓存策略
数据编码
•
•
网络抖动
物理距离
•
•
•
RTMP
HLS
HTTP-FLV
直播时延
协议名称 协议特点 传输协议 封装格式 使用场景
RTMP 时延低(<1500ms),IOS不支持 TCP FLV TAG 互动连麦直播
HTTP-FLV 时延低(2~4s),IOS浏览器不支持 HTTP FLV TAG 秀场晚会直播
HLS 时延高(>10s),IOS支持,流畅性好 HTTP M3U8 TS 观看多终端
降低时延的通用优化方案
• 推流端设置GOP(Group of Pictures)设置为1~2s
• 播放端条件允许优先选用RTMP, 其次HTTP-FLV
• 接入直播新协议WebRTC/QUIC/SRT
开播端
RTMP over QUIC RTMP over QUIC
推流 拉流
观看端
2021.12.16 vivo开发者大会-互联网技术专场
13. 存储
秀场直播
带宽成本
带宽
监控
• 存储时长按照主播热度设定 • 分批次分时间段分直播运营推送 • 转码降低录像文件大小 • 支持多清晰度 的计算方式,及时进行计费策略
• 剪切直播精彩瞬间,删除过期 • A/B实验直播预览功能 调整
文件 • 科学规划开播时间,防止主播
•
流量近实时监控,分析各类费用
扎堆开播
2021.12.16 vivo开发者大会-互联网技术专场
14. 互动直播
电商直播 超低时延 RTC 信息同步 云端混流
连麦互动直播 RTS IM 安全审核 多端一致性
教育直播 SEI 连麦 云导播
媒体处理 消息互动
政企互动直播
2021.12.16 vivo开发者大会-互联网技术专场
15. 2021 vivo开发者大会
互联网技术专场
互动直播
业务难点
• 以RTMP协议的直播秒级时延难以胜任 • 一致性管控
• 多用户互动频繁,多终端实时性很难得到保障 • 安全管控
• 异常管控
2021.12.16 vivo开发者大会-互联网技术专场
16. RTMP+CDN
RTC
推流端 传输分发 播放端 推流端 通信机制 播放端
编码延迟
上行推流带宽 网络协议
超高分辨率
CDN 缓冲自适应
码率自适应 WebRTC
标准 点对点分发
半可靠传输
SFU
MCU 网络环境
设备因素
互动直播
高实时性解决方案
2021.12.16 vivo开发者大会-互联网技术专场
17. 业务逻辑有时会和流媒体信息强相关,需要实时无差别保证信息传递。
•
•
单个上报和批量上报结合,确保流媒体信息准确无误,不影响业务逻辑。(语音房)
适当使用SEI,在视频流信息里面穿插少量的业务信息(带货直播OR直播答题)
互动直播
信息管控解决方案
音视频内容是否违规是相关部门重点审查对象。
•
•
视频流定时截帧审核,机审+人工复核惩罚对应主播(秀场)
麦位音频流独立审核,机审+人工复核惩罚对应主播OR用户(语音房)
流媒体信息会存在网络抖动、闪断、掉线甚至直接断流等异常情景
•
•
识别断流,利用断流回调提醒主播并且执行自动下播策略(秀场)
心跳检测,超过N次心跳失败,识别主播断网或者强杀,关闭直播间。(语音房)
2021.12.16 vivo开发者大会-互联网技术专场
18. 公司直播
公司内部直播 宣传会直播 发布会直播
抽奖 弹幕 互动
直播转推
(内网,公网)
内网直播
负载均衡
容灾高可用
SDK集成
2021.12.16 vivo开发者大会-互联网技术专场
19. 问题1:支持公司内网,多终端进行观看
内网
直播观看体验很难得到保障 公网
公司内部直播
突破带宽的限制
云直播
问题2:支持国内外多办公地点,内网万级员工同时观看,
海外CDN加速
直播录制 直播CDN分发 海外公网用户观看
(pc、移动端)
直播转码 直播CDN分发 国内公网用户观看
(pc、移动端)
公司年会
直播架构图
方式1:临时提高各个办公地点移动运营商的出口带宽
电信线路推流
方式2:降低直播的清晰度以来降低带宽压力和成本
年会现场
方案:直播现场多网络推流至公有云,通过云端CDN分发
主导播台
联通线路推流
A区LVS+nginx集群
办公网
DNS解析
B区LVS+nginx集群
办公网
DNS解析
C区LVS+nginx集群
办公网
DNS解析
D区LVS+nginx集群
办公网
DNS解析
E区LVS+nginx集群
办公网
DNS解析
到各地,确保公网用户观看;
内网多办公地区部署转推服务器,负载均衡,同一直播观
看域名内外网不同解析,移除公网带宽的问题限制
备导播台
pc、移动端观看
pc、移动端观看
pc、移动端观看
pc、移动端观看
pc、移动端观看
2021.12.16 vivo开发者大会-互联网技术专场
20. 需求:公司发布会,宣讲会需对第三方平台,
公司内部直播
校园直播平台等同时直播,推流设备推流 主导播台
有个数限制,无法支持多个推流地址 备导播台
拉流观看
公网云直播
直播现场
公网推流
直播CDN分发
直播CDN分发
降级备用
公网多平台直播
下发
内网/公网
推流地址
方案:现场内网/公网同时推流,内部直播转
推服务器,根据配置自动转推到各个互联
网直播平台,自动容灾,提供高可用的转
推直播服务
公网第三方转推
内网推流
拉流观看
互联网直播
观看用户
内网转推服务器集群
A区
人工转推
控制台
第三方直播
平台服务器
B区
校园直播
服务器
校园直播
观看用户
2021.12.16 vivo开发者大会-互联网技术专场
21. 2021.12.16 vivo开发者大会-互联网技术专场
22. 扩展
性强
vivo直播平台愿景
直
播
用
户
内容
丰富
用
户
服
务
SDK
稳定
秀场直播
技术沉淀
互动直播
游戏直播
带货直播
异常
监控
技术服务
SDK服务
反哺业务
内部直播
内容产出
持续
集成
易用
横
向
赋
能
内
部
用
户
技术
沉淀
2021.12.16 vivo开发者大会-互联网技术专场
23. 2021 vivo开发者大会
互联网技术专场
李国林 | vivo直播中台架构师
相关技术文章后续
将在公众号发布
敬请关注