平时忙于业务,很少去整理产品经理需要理解的直播技术框架。目前离职,正好有时间回顾这段时间的积累。
和大多数人一样,进入一个新行业,好奇有什么样的挑战。在进入直播行业之前,一直以为直播产品经理就是跟随业务在考虑,比如常见的娱乐直播平台,根据阶段性指标去设计一些互动形式,再根据数据去调整自己的假设功能。但是进入到直播行业里,有一些视频技术的拓展,着实有门槛。
当然直播技术,产品经理并不需要理解实现过程,但对每个技术点的实现,边界,资源的消耗等还是要理解。
最原始的直播流程
以上流程:
- 主播客户端,将本地采集的视频推流到云端
- 云端服务器,对视频流缓存分发
- 观众客户端,拉取视频流并渲染播放
直播系统最简方案
主播通过RTMP协议推流到云端分发服务(自己的节点),观众在通过RTMP协议,拉取服务器上的流。
最简方案
这个结构足够简单,但是问题也很多,如下:
- 网络宽带不足,如何支撑大并发观看?
- 用户地理分布不均,如何保障全覆盖?
- 用户网络状态不确定,如何保障链路稳定?
- 终端类型越来越多,如何支持多终端接入?(H5)
针对以上问题,最基本的解决方案如下:
直播系统解决方案基础
- 通过CDN分发,覆盖更大的网络分发节点,只需要把流推给第三方CDN,让更专业的工具去解决。
- 并且通过CDN会封装出不同的协议,RTMP,HTTP-FLV,HLS等,提供给观众,PC,H5等。
又出现新的问题
随着业务需求的增加,这个解决方案还是无法解决问题,比如主播推流,如果RTMP地址被其他用户知道,就可以任意的向源站服务推流。观看端,也同样,如果有地址,可以任意拉流。
因为视频推、拉流的成本是算在公司的,所以需要有认证和鉴权。(还有其它解决方案可自动百度)
-推流调度和认证(加密token)
-播放调度和鉴权(加密token)
问题不断增加,有人在直播违禁画面怎么办?
服务器截图鉴黄服务,并进行禁流,黑名单,白名单,调度分配策略等管理。
到达一定规模,对接的CDN挂掉怎么办?
对接多家CDN,保证热备和高可用;客户播放器自动监测和切线处理。这里产品经理应该可以根据自己的业务,去有针对性的设计,比如切线策略,如果是教育场景,老师需要讲演文档,保证画质,首先要考虑切CDN,再切分辨率。而大会场景,对画质要求不高,可以考虑切分辨率,再切CDN。
以上只是直播技术,在业务需求中很小的一部分,产品经理应该了解底层的边界,才能够知道如何设计产品。之后几天还会从技术底层业务增加,互动直播的实现方案,点播系统实现方案,和分析教育场景,pxxxhub的直播业务让产品经理了解原理和思考。
原创声明:本文由顽童LOCK原创,转摘请注明出处和作者。
发现telegram上几乎没有产品经理的存在,抱着试试看的态度,如果有产品经理使用tg,加入telegram的产品经理群https://t.me/WeArePM
tg:wangtong73
twitter:@wangtong_73
wx:pmideas
网友评论